UNPKG

node-red-contrib-home-assistant-websocket

Version:
2 lines (1 loc) 2.61 kB
"use strict";var w=Object.create;var m=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var B=(e,t)=>{for(var o in t)m(e,o,{get:t[o],enumerable:!0})},l=(e,t,o,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of T(t))!O.call(e,n)&&n!==o&&m(e,n,{get:()=>t[n],enumerable:!(a=I(t,n))||a.enumerable});return e};var s=(e,t,o)=>(o=e!=null?w(D(e)):{},l(t||!e||!e.__esModule?m(o,"default",{value:e,enumerable:!0}):o,e)),M=e=>l(m({},"__esModule",{value:!0}),e);var V={};B(V,{default:()=>A,inputSchema:()=>S,inputs:()=>E});module.exports=M(V);var i=s(require("joi")),d=require("../../common/controllers/helpers"),f=s(require("../../common/events/Events")),N=require("../../common/integration/Integration"),h=s(require("../../common/services/InputService")),y=s(require("../../common/status/Status")),r=require("../../const"),v=require("../../globals"),b=require("../../helpers/migrate"),c=require("../../helpers/node"),C=require("../../homeAssistant/index"),x=s(require("./NumberController")),P=s(require("./NumberOutputController"));const E={value:{messageProp:"payload.value",configProp:"value",default:"payload"},valueType:{messageProp:"payload.valueType",configProp:"valueType",default:r.TypedInputTypes.Message}},S=i.default.object({value:i.default.alternatives().try(i.default.string(),i.default.number()).required(),valueType:i.default.string().valid(r.TypedInputTypes.Message,r.TypedInputTypes.Flow,r.TypedInputTypes.Global,r.TypedInputTypes.JSONata,r.TypedInputTypes.Number).required()});function A(e){v.RED.nodes.createNode(this,e),this.config=(0,b.migrate)(e);const{entityConfigNode:t,serverConfigNode:o}=(0,c.getConfigNodes)(this),a=(0,C.getHomeAssistant)(o);switch(this.config.mode){case r.ValueIntegrationMode.Get:case r.ValueIntegrationMode.Set:{const n=(0,d.createControllerDependencies)(this,a),p=new y.default({config:o.config,node:this}),u=new h.default({inputs:E,nodeConfig:this.config,schema:S});t.integration.setStatus(p),new x.default({inputService:u,integration:t.integration,node:this,status:p,...n})}break;case r.ValueIntegrationMode.Listen:{const n=(0,c.getExposeAsConfigNode)(this.config.exposeAsEntityConfig),p=(0,d.createExposeAsControllerDependences)({exposeAsConfigNode:n,homeAssistant:a,node:this,serverConfigNode:o}),u=new P.default({node:this,...p});u.setExposeAsConfigNode(n);const g=new f.default({node:this,emitter:t});g.setStatus(p.status),g.addListener(N.IntegrationEvent.ValueChange,u.onValueChange.bind(u))}break}}0&&(module.exports={inputSchema,inputs});