UNPKG

node-red-contrib-home-assistant-websocket

Version:
2 lines (1 loc) 2.6 kB
"use strict";var w=Object.create;var d=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)d(e,o,{get:t[o],enumerable:!0})},u=(e,t,o,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of T(t))!O.call(e,n)&&n!==o&&d(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)):{},u(t||!e||!e.__esModule?d(o,"default",{value:e,enumerable:!0}):o,e)),M=e=>u(d({},"__esModule",{value:!0}),e);var V={};B(V,{default:()=>b,inputSchema:()=>A,inputs:()=>E});module.exports=M(V);var i=s(require("joi")),l=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"),S=require("../../globals"),v=require("../../helpers/migrate"),g=require("../../helpers/node"),C=require("../../homeAssistant/index"),x=s(require("./SelectController")),P=s(require("./SelectOutputController"));const E={value:{messageProp:"payload.text",configProp:"value",default:"payload"},valueType:{messageProp:"payload.valueType",configProp:"valueType",default:r.TypedInputTypes.Message}},A=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.String).required()});function b(e){S.RED.nodes.createNode(this,e),this.config=(0,v.migrate)(e);const{entityConfigNode:t,serverConfigNode:o}=(0,g.getConfigNodes)(this),a=(0,C.getHomeAssistant)(o);switch(this.config.mode){case r.ValueIntegrationMode.Get:case r.ValueIntegrationMode.Set:{const n=new y.default({config:o.config,node:this}),c=(0,l.createControllerDependencies)(this,a),p=new h.default({inputs:E,nodeConfig:this.config,schema:A});t.integration.setStatus(n),new x.default({inputService:p,integration:t.integration,node:this,status:n,...c})}break;case r.ValueIntegrationMode.Listen:{const n=(0,g.getExposeAsConfigNode)(this.config.exposeAsEntityConfig),c=(0,l.createExposeAsControllerDependences)({exposeAsConfigNode:n,homeAssistant:a,node:this,serverConfigNode:o}),p=new P.default({node:this,...c});p.setExposeAsConfigNode(n);const m=new f.default({node:this,emitter:t});m.setStatus(c.status),m.addListener(N.IntegrationEvent.ValueChange,p.onValueChange.bind(p))}break}}0&&(module.exports={inputSchema,inputs});