UNPKG

node-red-contrib-home-assistant-websocket

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