UNPKG

node-red-contrib-home-assistant-websocket

Version:
36 lines (35 loc) 1.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const homeAssistant_1 = require("../../homeAssistant"); const BidirectionalEntityIntegration_1 = __importDefault(require("./BidirectionalEntityIntegration")); const Integration_1 = require("./Integration"); class ValueEntityIntegration extends BidirectionalEntityIntegration_1.default { onHaEventMessage(evt) { var _a; super.onHaEventMessage(evt); if (evt.type === homeAssistant_1.HaEvent.ValueChange) { const value = evt.value; const previousValue = (_a = this.state.getLastPayload()) === null || _a === void 0 ? void 0 : _a.state; this.updateValue(value); this.entityConfigNode.emit(Integration_1.IntegrationEvent.ValueChange, value, previousValue); } } getStateData(state) { const lastPayload = state === null || state === void 0 ? void 0 : state.getLastPayload(); if (!lastPayload) { return {}; } return lastPayload; } async updateValue(value) { await this.state.setLastPayload({ state: value, attributes: {}, }); await this.updateHomeAssistant(value); } } exports.default = ValueEntityIntegration;