node-red-contrib-home-assistant-websocket
Version:
Node-RED integration with Home Assistant through websocket and REST API
2 lines (1 loc) • 1.42 kB
JavaScript
;var l=Object.create;var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var h=(i,e)=>{for(var t in e)o(i,t,{get:e[t],enumerable:!0})},s=(i,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of m(e))!p.call(i,n)&&n!==t&&o(i,n,{get:()=>e[n],enumerable:!(a=u(e,n))||a.enumerable});return i};var g=(i,e,t)=>(t=i!=null?l(D(i)):{},s(e||!i||!i.__esModule?o(t,"default",{value:i,enumerable:!0}):t,i)),y=i=>s(o({},"__esModule",{value:!0}),i);var T={};h(T,{default:()=>f});module.exports=y(T);var c=g(require("../../common/errors/ConfigError")),d=g(require("../../common/integration/BidrectionalIntegration")),v=require("../../common/integration/Integration"),r=require("../../const");class f extends d.default{#e(){if(!this.node.config.event)throw new c.default("ha-device.error.invalid_device_config");const e={...this.node.config.event};return this.node.config.capabilities?.length&&this.node.config.capabilities.forEach(t=>{e[t.name]=this.#i(t)}),e}#i(e){switch(e.type){case r.DeviceCapabilityType.PositiveTimePeriod:return{[e.unit||r.TimeUnit.Seconds]:e.value};case r.DeviceCapabilityType.Float:return Number(e.value);case r.DeviceCapabilityType.String:default:return e.value}}getDiscoveryPayload(){return{type:v.MessageType.DeviceTrigger,node_id:this.node.id,device_trigger:this.#e()}}}