node-red-contrib-home-assistant-websocket
Version:
Node-RED integration with Home Assistant through websocket and REST API
21 lines (20 loc) • 1.04 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.startListener = startListener;
const const_1 = require("../../const");
const utils_1 = require("../../helpers/utils");
const Websocket_1 = require("../../homeAssistant/Websocket");
function startListener(clientEvents, controller, homeAssistant, node) {
clientEvents.addListener(Websocket_1.ClientEvent.Ready, controller.handleEvent.bind(controller));
clientEvents.addListener(`ha_events:state_changed:${node.config.entityId}`, controller.handleEvent.bind(controller));
if (node.config.offsetType === const_1.TypedInputTypes.JSONata &&
node.config.offset.length > 12) {
const ids = (0, utils_1.getEntitiesFromJsonata)(node.config.offset);
ids.forEach((id) => {
clientEvents.addListener(`ha_events:state_changed:${id}`, controller.handleEvent.bind(controller));
});
}
if (homeAssistant.isHomeAssistantRunning) {
clientEvents.emit(`ha_events:state_changed:${node.config.entityId}`);
}
}
;