node-red-contrib-home-assistant-websocket
Version:
Node-RED integration with Home Assistant through websocket and REST API
2 lines (1 loc) • 2.1 kB
JavaScript
;var v=Object.create;var a=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var x=(t,e)=>{for(var o in e)a(t,o,{get:e[o],enumerable:!0})},p=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of h(e))!H.call(t,r)&&r!==o&&a(t,r,{get:()=>e[r],enumerable:!(n=I(e,r))||n.enumerable});return t};var s=(t,e,o)=>(o=t!=null?v(D(t)):{},p(e||!t||!t.__esModule?a(o,"default",{value:t,enumerable:!0}):o,t)),C=t=>p(a({},"__esModule",{value:!0}),t);var w={};x(w,{default:()=>T});module.exports=C(w);var i=s(require("joi")),d=require("../../common/controllers/helpers"),l=s(require("../../common/services/InputService")),m=s(require("../../common/status/Status")),c=require("../../globals"),y=require("../../helpers/migrate"),f=require("../../helpers/node"),g=require("../../homeAssistant"),u=require("./const"),P=s(require("./GetHistoryController"));const G={startDate:{messageProp:["payload.startDate"],configProp:"startDate"},endDate:{messageProp:["payload.endDate"],configProp:"endDate"},entityId:{messageProp:["payload.entityId"],configProp:"entityId"},entityIdType:{messageProp:["payload.entityIdType"],configProp:"entityIdType"},relativeTime:{messageProp:["payload.relativeTime"],configProp:"relativeTime"},flatten:{messageProp:["payload.flatten"],configProp:"flatten"}},b=i.default.object({startDate:i.default.date().optional().allow(""),endDate:i.default.date().optional().allow(""),entityId:i.default.string().optional(),entityIdType:i.default.string().valid(...Object.values(u.EntityFilterType)).optional(),relativeTime:i.default.string().optional().allow(""),flatten:i.default.boolean().optional()});function T(t){c.RED.nodes.createNode(this,t),this.config=(0,y.migrate)(t);const e=(0,f.getServerConfigNode)(this.config.server),o=(0,g.getHomeAssistant)(e),n=new m.default({config:e.config,node:this}),r=new l.default({inputs:G,nodeConfig:this.config,schema:b}),N=(0,d.createControllerDependencies)(this,o);new P.default({inputService:r,node:this,status:n,...N})}