UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

2 lines (1 loc) 6.41 kB
import{_ as y,I as x,e as f,z as u,w as i,b as e,F as S,ar as C,H as l,t as n,G as I,u as L,h as d,V as c,f as p,K as N,dE as M,dF as g,i as b,k as r,E as _,by as w,ac as B,R as h,ax as V,b1 as k,c as v,at as j,ai as E,a7 as T,X as F}from"./index-DwzE-W2i.js";import{V as R}from"./VNumberInput-CPMgIbm4.js";import{V as U}from"./VTable-Cxuwit5L.js";const D={components:{},props:{modelValue:Boolean,node:Object,socket:Object},mixins:[x],watch:{modelValue(a){this.init(a)}},computed:{_value:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}}},data(){return{running:!1,activeNode:null,isRunning:!1,mode:0,modes:[{title:"Basic Set On/Off",value:0}],infinite:!1,interval:250,iterations:100,statistics:null,progress:0}},methods:{exportResults(){this.app.exportConfiguration(this.results,`linkReliability_${this.activeNode.id}-${this.statistics}`,"json")},init(a){const s=this.running;this.mode=0,this.statistics=null,this.infinite=!1,this.running=!1,this.interval=250,this.iterations=25,this.progress=0,a?(this.activeNode=F(this.node),this.subscribeChannels(["diagnostics"]),this.bindEvent("linkReliability",this.onProgress.bind(this))):a===!1&&(this.unbindEvents(),s&&this.abortLinkReliabilityCheck())},onProgress(a){this.statistics=a.args[0],this.progress=Math.round(this.statistics.rounds/this.iterations*100)},async abortLinkReliabilityCheck(){const a=await this.app.apiRequest("abortLinkReliabilityCheck",[this.activeNode.id]);this.running=!1,a.success&&this.showSnackbar("Link statistics aborted","success")},async checkLinkReliability(){this.running=!0;const a=await this.app.apiRequest("checkLinkReliability",[this.activeNode.id,{mode:this.mode,interval:this.interval,rounds:this.infinite?void 0:this.iterations}],{infoSnack:!0,errorSnack:!1});this.running=!1,this.progress=0,a.success?this.statistics=a.result:this.showSnackbar(a.message||"Health check failed","error")}},beforeUnmount(){this.init(!1)}},O={class:"text-h5"},A={key:0},P={key:0};function X(a,s,q,G,t,m){return u(),f(T,{modelValue:m._value,"onUpdate:modelValue":s[5]||(s[5]=o=>m._value=o),"max-width":"800px",persistent:""},{default:i(()=>[e(S,null,{default:i(()=>[e(C,null,{default:i(()=>[l("span",O,"Node "+n(t.activeNode?t.activeNode.id:"")+" - Link Statistics",1)]),_:1}),e(I,null,{default:i(()=>[e(L,null,{default:i(()=>[e(c,{class:"ma-3",justify:"start"},{default:i(()=>[e(p,{cols:"12",align:"center"},{default:i(()=>[e(N,{label:"Mode",style:{"max-width":"325px"},modelValue:t.mode,"onUpdate:modelValue":s[0]||(s[0]=o=>t.mode=o),items:t.modes,"persistent-hint":""},null,8,["modelValue","items"])]),_:1}),e(p,{cols:"12",sm:"6"},{default:i(()=>[e(M,{class:"justify-center",modelValue:t.infinite,"onUpdate:modelValue":s[2]||(s[2]=o=>t.infinite=o),inline:""},{default:i(()=>[e(g,{label:"Infinite",value:!0}),e(g,{label:"XX",value:!1},{label:i(()=>[e(R,{disabled:t.infinite,label:"Iterations",modelValue:t.iterations,"onUpdate:modelValue":s[1]||(s[1]=o=>t.iterations=o),modelModifiers:{number:!0},type:"number",min:1,max:1e4,"persistent-hint":""},null,8,["disabled","modelValue"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(p,{cols:"12",sm:"6",class:"mt-4"},{default:i(()=>[e(R,{label:"Interval",modelValue:t.interval,"onUpdate:modelValue":s[3]||(s[3]=o=>t.interval=o),modelModifiers:{number:!0},suffix:"ms",type:"number",min:1,max:1e4,"persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),e(c,{class:"mb-4",justify:"space-around"},{default:i(()=>[e(b,{variant:"flat",color:"success",onClick:m.checkLinkReliability,disabled:t.running,loading:t.running},{default:i(()=>[...s[6]||(s[6]=[r("Run",-1)])]),_:1},8,["onClick","disabled","loading"]),e(b,{variant:"flat",color:"error",onClick:m.abortLinkReliabilityCheck,disabled:!t.running},{default:i(()=>[...s[7]||(s[7]=[r("Stop",-1)])]),_:1},8,["onClick","disabled"])]),_:1}),e(_),t.statistics?(u(),f(c,{key:0,class:"ma-3",justify:"center",align:"center"},{default:i(()=>[t.running?(u(),f(w,{key:0,indeterminate:this.infinite,"model-value":this.infinite?null:this.progress,color:"success"},null,8,["indeterminate","model-value"])):d("",!0),e(B,{class:"mr-2",density:"compact"},{default:i(()=>[e(h,null,{default:i(()=>[e(V,{class:"text-info"},{default:i(()=>[...s[8]||(s[8]=[r("Commands Sent",-1)])]),_:1}),e(k,null,{default:i(()=>[r(n(t.statistics.commandsSent),1)]),_:1})]),_:1}),e(h,null,{default:i(()=>[e(V,{class:"text-error"},{default:i(()=>[...s[9]||(s[9]=[r("Failed Commands",-1)])]),_:1}),e(k,null,{default:i(()=>[r(n(t.statistics.commandErrors)+" ("+n((t.statistics.commandErrors/t.statistics.rounds*100).toFixed(1))+" %)",1)]),_:1})]),_:1}),t.statistics?.missingResponses!=null?(u(),f(h,{key:0},{default:i(()=>[e(V,{class:"text-error"},{default:i(()=>[...s[10]||(s[10]=[r("Missing Responses",-1)])]),_:1}),e(k,null,{default:i(()=>[r(n(t.statistics.missingResponses)+" ("+n((t.statistics.missingResponses/t.statistics.commandsSent*100).toFixed(1))+" %)",1)]),_:1})]),_:1})):d("",!0)]),_:1}),e(U,null,{default:i(()=>[s[15]||(s[15]=l("thead",null,[l("tr",null,[l("th",{class:"text-left"}),l("th",{class:"text-left"},"Min"),l("th",{class:"text-left"},"Max"),l("th",{class:"text-left"},"Avg")])],-1)),t.statistics.latency?(u(),v("tbody",A,[l("tr",null,[s[11]||(s[11]=l("td",null,"Latency [ms]",-1)),l("td",null,n(t.statistics.latency.min),1),l("td",null,n(t.statistics.latency.max),1),l("td",null,n(Math.round(t.statistics.latency.average)),1)]),l("tr",null,[s[12]||(s[12]=l("td",null,"Round-Trip Time [ms]",-1)),l("td",null,n(t.statistics.rtt.min),1),l("td",null,n(t.statistics.rtt.max),1),l("td",null,n(Math.round(t.statistics.rtt.average)),1)]),l("tr",null,[s[13]||(s[13]=l("td",null,"ACK RSSI [dBm]",-1)),l("td",null,n(t.statistics.ackRSSI.min),1),l("td",null,n(t.statistics.ackRSSI.max),1),l("td",null,n(Math.round(t.statistics.ackRSSI.average)),1)]),Number.isFinite(t.statistics.responseRSSI?.average)?(u(),v("tr",P,[s[14]||(s[14]=l("td",null,"Response RSSI [dBm]",-1)),l("td",null,n(t.statistics.responseRSSI.min),1),l("td",null,n(t.statistics.responseRSSI.max),1),l("td",null,n(Math.round(t.statistics.responseRSSI.average)),1)])):d("",!0)])):d("",!0)]),_:1})]),_:1})):d("",!0)]),_:1})]),_:1}),e(j,null,{default:i(()=>[e(E),e(b,{color:"blue-darken-1",variant:"text",onClick:s[4]||(s[4]=o=>a.$emit("close"))},{default:i(()=>[...s[16]||(s[16]=[r("Close",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const J=y(D,[["render",X]]);export{J as default};