UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

3 lines (2 loc) 9.46 kB
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./prismeditor.esm-9uQaY7hi.js","./index-DwzE-W2i.js","./index-B2zoqM3Y.css"])))=>i.map(i=>d[i]); import{_ as C,a as T,d as q,s as x,e as s,z as m,w as i,b as a,F as k,ar as S,H as n,t as g,G as U,u as b,U as E,V as P,h as V,f as o,K as c,R as I,T as N,k as u,D as f,M as h,at as D,ai as A,i as p,a7 as M,aj as w,x as F,y as Q}from"./index-DwzE-W2i.js";const R={components:{PrismEditor:q(()=>Q(()=>import("./prismeditor.esm-9uQaY7hi.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(d=>d.PrismEditor))},props:{modelValue:Boolean,gw_type:Number,title:String,editedValue:Object,devices:Array},watch:{value(d){this.$refs.form&&this.$refs.form.resetValidation(),d&&(this.isNew=!this.editedValue.device)}},computed:{...T(F,["gateway","mqtt"]),_value:{get(){return this.modelValue},set(d){this.$emit("update:modelValue",d)}},deviceValues(){const d=this.devices.find(l=>l.value==this.editedValue.device);return d?d.values:[]},deviceClasses(){const d=this.editedValue.value;return d?d.commandClass===48?["battery","cold","connectivity","door","garage_door","gas","heat","light","lock","moisture","motion","moving","occupancy","opening","plug","power","presence","problem","safety","smoke","sound","vibration","window"]:this.isSensor(d)?["apparent_power","aqi","atmospheric_pressure","battery","carbon_dioxide","carbon_monoxide","current","distance","energy","frequency","gas","humidity","illuminance","irradiance","moisture","nitrogen_dioxide","nitrogen_monoxide","nitrous_oxide","ozone","pm1","pm10","pm25","power","power_factor","pressure","reactive_energy","reactive_power","signal_strength","sound_pressure","speed","sulphur_dioxide","temperature","timestamp","volatile_organic_compounds","volatile_organic_compounds_parts","voltage","volume","water","weight","wind_speed"]:d.commandClass===38?["awning","blind","curtain","damper","door","garage","gate","shade","shutter","window"]:[]:[]},requiredIntensity(){return!this.editedValue.enablePoll||this.editedValue.enablePoll&&this.editedValue.pollInterval>=10||"Minimun interval is 10 seconds"},requiredTopic(){return this.gw_type!==2||!!this.editedValue.topic||"Topic required"}},data(){return{isNew:null,valid:!0,required:d=>!!d||"This field is required"}},methods:{highlighter(d){return w.highlight(d,w.languages.js)},isSensor(d){return d&&(d.commandClass===49||d.commandClass===50)},async handleSave(){(await this.$refs.form.validate()).valid&&this.$emit("save")}}},j={class:"text-h5"};function B(d,l,t,O,v,r){const y=x("prism-editor");return m(),s(M,{modelValue:r._value,"onUpdate:modelValue":l[17]||(l[17]=e=>r._value=e),"max-width":"500px",persistent:""},{default:i(()=>[a(k,null,{default:i(()=>[a(S,null,{default:i(()=>[n("span",j,g(t.title),1)]),_:1}),a(U,null,{default:i(()=>[a(b,{"grid-list-md":""},{default:i(()=>[a(E,{modelValue:v.valid,"onUpdate:modelValue":l[15]||(l[15]=e=>v.valid=e),ref:"form","validate-on":"lazy"},{default:i(()=>[a(P,null,{default:i(()=>[a(o,{cols:"12"},{default:i(()=>[a(c,{modelValue:t.editedValue.device,"onUpdate:modelValue":l[0]||(l[0]=e=>t.editedValue.device=e),label:"Device",required:"",rules:[v.required],"item-title":"name",items:t.devices},null,8,["modelValue","rules","items"])]),_:1}),a(o,{cols:"12"},{default:i(()=>[a(c,{modelValue:t.editedValue.value,"onUpdate:modelValue":l[1]||(l[1]=e=>t.editedValue.value=e),label:"Value",hint:t.editedValue.value?t.editedValue.value.description:"",required:"","return-object":"",rules:[v.required],"item-title":"label","item-value":"id",items:r.deviceValues},{selection:i(({item:e})=>[u(g((e.raw.label||e.raw.id)+(e.raw.endpoint>1?" - Endpoint "+e.raw.endpoint:"")),1)]),item:i(({item:e,props:_})=>[a(I,N(_,{title:(e.raw.label||e.raw.id)+(e.raw.endpoint>0?" - Endpoint "+e.raw.endpoint:""),subtitle:e.raw.description||"No description available"}),null,16,["title","subtitle"])]),_:1},8,["modelValue","hint","rules","items"])]),_:1}),!this.mqtt.disabled&&this.gateway.hassDiscovery?(m(),s(o,{key:0,cols:"12"},{default:i(()=>[a(c,{modelValue:t.editedValue.device_class,"onUpdate:modelValue":l[2]||(l[2]=e=>t.editedValue.device_class=e),label:"Device Class",hint:"Specify a device class for Home assistant","item-title":"name",items:r.deviceClasses},null,8,["modelValue","items"])]),_:1})):V("",!0),r.isSensor(t.editedValue.value)?(m(),s(o,{key:1,cols:"12"},{default:i(()=>[a(f,{modelValue:t.editedValue.icon,"onUpdate:modelValue":l[3]||(l[3]=e=>t.editedValue.icon=e),modelModifiers:{number:!0},hint:"Specify a device icon for Home assistant, format is <prefix>:<icons-alias> (Eg: 'mdi:water'). Check http://materialdesignicons.com/",label:"Device Icon"},null,8,["modelValue"])]),_:1})):V("",!0),this.mqtt.disabled?V("",!0):(m(),s(o,{key:2,cols:"12"},{default:i(()=>[a(f,{modelValue:t.editedValue.topic,"onUpdate:modelValue":l[4]||(l[4]=e=>t.editedValue.topic=e),modelModifiers:{trim:!0},label:"Topic",rules:[r.requiredTopic],required:""},null,8,["modelValue","rules"])]),_:1})),this.mqtt.disabled?V("",!0):(m(),s(o,{key:3,cols:"6"},{default:i(()=>[a(c,{modelValue:t.editedValue.qos,"onUpdate:modelValue":l[5]||(l[5]=e=>t.editedValue.qos=e),label:"QoS",hint:"If specified, overrides the default QoS in MQTT settings",items:[{title:"",value:void 0},{title:"0: At most once",value:0},{title:"1: At least once",value:1},{title:"2: Exactly once",value:2}],"persistent-hint":"",required:"",type:"number"},null,8,["modelValue"])]),_:1})),this.mqtt.disabled?V("",!0):(m(),s(o,{key:4,cols:"6"},{default:i(()=>[a(c,{modelValue:t.editedValue.retain,"onUpdate:modelValue":l[6]||(l[6]=e=>t.editedValue.retain=e),label:"Retain","persistent-hint":"",hint:"If specified, overrides the default retain in MQTT settings",items:[{title:"",value:void 0},{title:"True",value:!0},{title:"False",value:!1}],required:"",type:"number"},null,8,["modelValue"])]),_:1})),a(o,{cols:"12"},{default:i(()=>[a(f,{modelValue:t.editedValue.postOperation,"onUpdate:modelValue":l[7]||(l[7]=e=>t.editedValue.postOperation=e),label:"Post operation",hint:"Example: '/10' '*100' '+20'",required:""},null,8,["modelValue"])]),_:1}),a(o,{cols:"6"},{default:i(()=>[a(h,{label:"Poll",hint:"Enable poll of this value. ATTENTION: This could create lot traffic in your network and kill the life of battery powered devices. Use at your own risk","persistent-hint":"",modelValue:t.editedValue.enablePoll,"onUpdate:modelValue":l[8]||(l[8]=e=>t.editedValue.enablePoll=e)},null,8,["modelValue"])]),_:1}),t.editedValue.enablePoll?(m(),s(o,{key:5,cols:"6"},{default:i(()=>[a(f,{modelValue:t.editedValue.pollInterval,"onUpdate:modelValue":l[9]||(l[9]=e=>t.editedValue.pollInterval=e),modelModifiers:{number:!0},label:"Poll interval",hint:"Seconds between to wait between poll requests. The timer starts when the request ends",rules:[r.requiredIntensity],suffix:"seconds",required:"",type:"number"},null,8,["modelValue","rules"])]),_:1})):V("",!0),t.editedValue.value&&t.editedValue.value.commandClass===112?(m(),s(o,{key:6,cols:"6"},{default:i(()=>[a(h,{label:"Enable discovery",hint:"Configuration CC values are disabled by default in MQTT discovery. Set this to true to force enable them","persistent-hint":"",modelValue:t.editedValue.ccConfigEnableDiscovery,"onUpdate:modelValue":l[10]||(l[10]=e=>t.editedValue.ccConfigEnableDiscovery=e)},null,8,["modelValue"])]),_:1})):V("",!0),a(o,{cols:"6"},{default:i(()=>[a(h,{label:"Parse send",hint:"Create a function that parse the value sent via MQTT","persistent-hint":"",modelValue:t.editedValue.parseSend,"onUpdate:modelValue":l[11]||(l[11]=e=>t.editedValue.parseSend=e)},null,8,["modelValue"])]),_:1}),t.editedValue.parseSend?(m(),s(b,{key:7},{default:i(()=>[l[18]||(l[18]=n("p",null,[u(" Write the function here. Args are: "),n("code",null,"value"),u(", "),n("code",null,"valueId"),u(", "),n("code",null,"node"),u(", "),n("code",null,"logger"),u(". The function is sync and must return the parsed "),n("code",null,"value"),u(". ")],-1)),a(y,{lineNumbers:"",modelValue:t.editedValue.sendFunction,"onUpdate:modelValue":l[12]||(l[12]=e=>t.editedValue.sendFunction=e),language:"js",highlight:r.highlighter},null,8,["modelValue","highlight"])]),_:1})):V("",!0),a(o,{cols:"6"},{default:i(()=>[a(h,{label:"Parse receive",hint:"Create a function that parse the received value from MQTT","persistent-hint":"",modelValue:t.editedValue.parseReceive,"onUpdate:modelValue":l[13]||(l[13]=e=>t.editedValue.parseReceive=e)},null,8,["modelValue"])]),_:1}),t.editedValue.parseReceive?(m(),s(b,{key:8},{default:i(()=>[l[19]||(l[19]=n("p",null,[u(" Write the function here. Args are: "),n("code",null,"value"),u(", "),n("code",null,"valueId"),u(", "),n("code",null,"node"),u(", "),n("code",null,"logger"),u(". The function is sync and must return the parsed "),n("code",null,"value"),u(". ")],-1)),a(y,{lineNumbers:"",modelValue:t.editedValue.receiveFunction,"onUpdate:modelValue":l[14]||(l[14]=e=>t.editedValue.receiveFunction=e),language:"js",highlight:r.highlighter},null,8,["modelValue","highlight"])]),_:1})):V("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(D,null,{default:i(()=>[a(A),a(p,{color:"blue-darken-1",variant:"text",onClick:l[16]||(l[16]=e=>d.$emit("close"))},{default:i(()=>[...l[20]||(l[20]=[u("Cancel",-1)])]),_:1}),a(p,{color:"blue-darken-1",variant:"text",onClick:r.handleSave},{default:i(()=>[u(g(v.isNew?"Add":"Update"),1)]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const H=C(R,[["render",B],["__scopeId","data-v-a64ab7c5"]]);export{H as default};