node-red-contrib-home-assistant-websocket
Version:
Node-RED integration with Home Assistant through websocket and REST API
2 lines (1 loc) • 2.6 kB
JavaScript
;var v=Object.create;var a=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var j=(t,r)=>{for(var s in r)a(t,s,{get:r[s],enumerable:!0})},d=(t,r,s,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of x(r))!D.call(t,n)&&n!==s&&a(t,n,{get:()=>r[n],enumerable:!(i=T(r,n))||i.enumerable});return t};var p=(t,r,s)=>(s=t!=null?v(C(t)):{},d(r||!t||!t.__esModule?a(s,"default",{value:t,enumerable:!0}):s,t)),q=t=>d(a({},"__esModule",{value:!0}),t);var w={};j(w,{default:()=>B,inputSchema:()=>b,inputs:()=>S});module.exports=q(w);var e=p(require("joi")),m=require("../../common/controllers/helpers"),f=p(require("../../common/services/InputService")),c=p(require("../../common/status/Status")),o=require("../../const"),l=require("../../globals"),g=require("../../helpers/migrate"),u=require("../../helpers/node"),y=require("../../homeAssistant"),N=p(require("./BinarySensorController"));const S={state:{messageProp:"payload.state",configProp:"state",default:"payload"},stateType:{messageProp:"payload.stateType",configProp:"stateType",default:o.TypedInputTypes.Message},attributes:{messageProp:"payload.attributes",configProp:"attributes",default:[]}},b=e.default.object({state:e.default.alternatives().try(e.default.string(),e.default.boolean(),e.default.number()).required(),stateType:e.default.string().valid(o.TypedInputTypes.Message,o.TypedInputTypes.Flow,o.TypedInputTypes.Global,o.TypedInputTypes.JSONata,o.TypedInputTypes.String,o.TypedInputTypes.Number,o.TypedInputTypes.Boolean).required(),attributes:e.default.alternatives().try(e.default.array().items(e.default.object({property:e.default.string().required(),value:e.default.any().required(),valueType:e.default.string().valid(o.TypedInputTypes.Message,o.TypedInputTypes.Flow,o.TypedInputTypes.Global,o.TypedInputTypes.JSONata,o.TypedInputTypes.String,o.TypedInputTypes.Number,o.TypedInputTypes.Boolean,o.TypedInputTypes.Date).required()})),e.default.object().pattern(/.*/,[e.default.string(),e.default.number(),e.default.boolean(),e.default.object(),e.default.array()]))});function B(t){l.RED.nodes.createNode(this,t),this.config=(0,g.migrate)(t);const{entityConfigNode:r,serverConfigNode:s}=(0,u.getConfigNodes)(this),i=(0,y.getHomeAssistant)(s),n=new c.default({config:s.config,node:this}),h=(0,m.createControllerDependencies)(this,i),P=new f.default({inputs:S,nodeConfig:this.config,schema:b});new N.default({inputService:P,node:this,status:n,integration:r.integration,...h})}0&&(module.exports={inputSchema,inputs});