UNPKG

node-red-contrib-home-assistant-websocket

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