UNPKG

node-red-contrib-home-assistant-websocket

Version:
2 lines (1 loc) 1.44 kB
"use strict";var h=Object.create;var o=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var E=(s,e)=>{for(var t in e)o(s,t,{get:e[t],enumerable:!0})},d=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of T(e))!x.call(s,n)&&n!==t&&o(s,n,{get:()=>e[n],enumerable:!(i=v(e,n))||i.enumerable});return s};var g=(s,e,t)=>(t=s!=null?h(_(s)):{},d(e||!s||!s.__esModule?o(t,"default",{value:s,enumerable:!0}):t,s)),N=s=>d(o({},"__esModule",{value:!0}),s);var S={};E(S,{default:()=>l});module.exports=N(S);var c=require("lodash"),m=g(require("../../common/controllers/ExposeAsMixin")),u=g(require("../../common/controllers/OutputController")),f=require("../../const");const A=(0,m.default)(u.default);class l extends A{#e(e){return this.node.config.tags.some(t=>t===f.TAGS_ALL||t===e)}#t(e){const t=this.node.config.devices;return(t?.length===0||t?.includes(e))??!1}#s(e){return this.homeAssistant.getTags().find(t=>t.tag_id===e)?.name}async onTagScanned(e){if(!this.isEnabled)return;const{event:t}=(0,c.cloneDeep)(e),{device_id:i,tag_id:n}=t;if(!this.#e(n)||!this.#t(i))return;const r=this.#s(n),p={tag_name:r,user_id:e.context.user_id,...t},a={};await this.setCustomOutputs(this.node.config.outputProperties,a,{config:this.node.config,eventData:p,triggerId:n}),this.status.setSuccess(`${r||n} scanned`),this.node.send(a)}}