node-red-contrib-home-assistant-websocket
Version:
Node-RED integration with Home Assistant through websocket and REST API
2 lines (1 loc) • 1.23 kB
JavaScript
;var v=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var H=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})},N=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of l(e))!C.call(t,i)&&i!==n&&v(t,i,{get:()=>e[i],enumerable:!(o=p(e,i))||o.enumerable});return t};var y=t=>N(v({},"__esModule",{value:!0}),t);var T={};H(T,{startListeners:()=>A});module.exports=y(T);var a=require("../../common/events/Events"),f=require("../../const"),s=require("../../homeAssistant/Websocket"),L=require(".");function A(t,e,n,o){const i=o.config;t.addListener(`${f.HA_EVENTS}:${i.eventType||"all"}`,e.onHaEventsAll.bind(e)),(i.eventType===""||i.eventType===L.HA_CLIENT)&&[[s.ClientEvent.StatesLoaded,e.onClientStatesLoaded],[s.ClientEvent.ServicesLoaded,e.onClientServicesLoaded],[s.ClientEvent.Running,e.onHaEventsRunning],[s.ClientEvent.Ready,e.onHaEventsReady]].forEach(([d,m])=>{t.addListener(d,m.bind(e))});const r=()=>{n.isConnected&&n.subscribeEvents()};n&&(n.eventsList[o.id]=i.eventType||"__ALL__",r()),o.addListener(a.NodeEvent.Close,(E,d)=>{E&&(delete n.eventsList[o.id],r()),d()})}0&&(module.exports={startListeners});