UNPKG

node-red-contrib-home-assistant-websocket

Version:
2 lines (1 loc) 1.75 kB
"use strict";var l=Object.create;var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var y=(i,t)=>{for(var e in t)s(i,e,{get:t[e],enumerable:!0})},r=(i,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of p(t))!f.call(i,o)&&o!==e&&s(i,o,{get:()=>t[o],enumerable:!(n=c(t,o))||n.enumerable});return i};var C=(i,t,e)=>(e=i!=null?l(g(i)):{},r(t||!i||!i.__esModule?s(e,"default",{value:i,enumerable:!0}):e,i)),S=i=>r(s({},"__esModule",{value:!0}),i);var N={};y(N,{default:()=>d});module.exports=S(N);var a=C(require("../../common/controllers/InputOutputController")),u=require("../../globals"),m=(e=>(e.Input="input",e.StateChange="stateChange",e))(m||{});class d extends a.default{#e;#i;constructor(t){super(t),this.#e=t.entityConfigNode,this.#i=this.#e.integration}get#t(){return this.#e.state.isEnabled()}set#t(t){this.#e.state.setEnabled(t)}async onInput({message:t,parsedMessage:e,send:n,done:o}){if(typeof e.enable.value=="boolean"){this.#t=e.enable.value;try{await this.#i.updateHomeAssistant()}catch(h){o(h)}o();return}t.outputType="input",this.#t?(this.status.setSuccess("input"),n(t)):(this.status.setFailed("input"),n([null,t]))}async onStateChange(t){if(!t.changed||!this.node.config.outputOnStateChange)return;const e={};await this.setCustomOutputs(this.node.config.outputProperties,e,{config:this.node.config,entity:{state:this.#t},entityState:this.#t}),this.#t?this.node.send([e,null]):this.node.send([null,e])}onTrigger(t){const e={topic:"triggered",...t.message},n=u.RED._("ha-switch.status.triggered");this.#t?(this.status.setSuccess(n),this.node.send(e)):(this.status.setFailed(n),this.node.send([null,e]))}}