UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

2 lines (1 loc) 5.9 kB
import{I as n,a as r,u as l,c as o,n as c}from"./index-CtTdmJsx.js";const d={components:{},props:{value:Boolean,node:Object,socket:Object},mixins:[n],watch:{value(i){this.init(i)}},computed:{},data(){return{running:!1,activeNode:null,isRunning:!1,mode:"Lifeline",modes:[{text:"Basic Set On/Off",value:0}],infinite:!1,interval:250,iterations:100,statistics:null,progress:0}},methods:{...r(l,["showSnackbar"]),exportResults(){this.app.exportConfiguration(this.results,`linkReliability_${this.activeNode.id}-${this.statistics}`,"json")},init(i){const t=this.running;this.mode=0,this.statistics=null,this.infinite=!1,this.running=!1,this.interval=250,this.iterations=25,this.progress=0,i?(this.activeNode=o(this.node),this.bindEvent("linkReliability",this.onProgress.bind(this))):i===!1&&(this.unbindEvents(),t&&this.abortLinkReliabilityCheck())},onProgress(i){this.statistics=i.args[0],this.progress=Math.round(this.statistics.rounds/this.iterations*100)},async abortLinkReliabilityCheck(){const i=await this.app.apiRequest("abortLinkReliabilityCheck",[this.activeNode.id]);this.running=!1,i.success&&this.showSnackbar("Link statistics aborted","success")},async checkLinkReliability(){this.running=!0;const i=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,i.success?this.statistics=i.result:this.showSnackbar(i.message||"Health check failed","error")}},beforeDestroy(){this.init(!1)}};var v=function(){var a;var t=this,s=t._self._c;return s("v-dialog",{attrs:{"max-width":"800px",persistent:""},model:{value:t.value,callback:function(e){t.value=e},expression:"value"}},[s("v-card",[s("v-card-title",[s("span",{staticClass:"headline"},[t._v("Node "+t._s(t.activeNode?t.activeNode.id:"")+" - Link Statistics")])]),s("v-card-text",[s("v-container",[s("v-row",{staticClass:"ma-3",attrs:{justify:"start"}},[s("v-col",{attrs:{cols:"12"}},[s("v-select",{staticStyle:{"max-width":"325px"},attrs:{label:"Mode",items:t.modes,"persistent-hint":""},model:{value:t.mode,callback:function(e){t.mode=e},expression:"mode"}})],1),s("v-col",{attrs:{cols:"6"}},[s("v-radio-group",{staticClass:"justify-center",model:{value:t.infinite,callback:function(e){t.infinite=e},expression:"infinite"}},[s("v-radio",{attrs:{label:"Infinite",value:!0}}),s("v-radio",{attrs:{label:"XX",value:!1},scopedSlots:t._u([{key:"label",fn:function(){return[s("v-text-field",{attrs:{disabled:t.infinite,label:"Iterations",type:"number",min:1,max:1e4,"persistent-hint":""},model:{value:t.iterations,callback:function(e){t.iterations=t._n(e)},expression:"iterations"}})]},proxy:!0}])})],1)],1),s("v-col",{staticClass:"justify-center",attrs:{cols:"6"}},[s("v-text-field",{attrs:{label:"Interval",suffix:"ms",type:"number",min:1,max:1e4,"persistent-hint":""},model:{value:t.interval,callback:function(e){t.interval=t._n(e)},expression:"interval"}})],1)],1),s("v-row",{staticClass:"mb-4",attrs:{justify:"space-around"}},[s("v-btn",{attrs:{color:"success",disabled:t.running,loading:t.running},on:{click:t.checkLinkReliability}},[t._v("Run")]),s("v-btn",{attrs:{color:"error",disabled:!t.running},on:{click:t.abortLinkReliabilityCheck}},[t._v("Stop")])],1),s("v-divider"),t.statistics?s("v-row",{staticClass:"ma-3",attrs:{justify:"center"}},[t.running?s("v-progress-linear",{attrs:{indeterminate:this.infinite,value:this.infinite?null:this.progress,color:"green darken-1"}}):t._e(),s("v-list",{attrs:{dense:""}},[s("v-list-item",[s("v-list-item-content",[s("v-list-item-title",{staticClass:"info--text"},[t._v("Commands Sent")]),s("v-list-item-subtitle",[t._v(t._s(t.statistics.commandsSent))])],1)],1),s("v-list-item",[s("v-list-item-content",[s("v-list-item-title",{staticClass:"error--text"},[t._v("Failed Commands")]),s("v-list-item-subtitle",[t._v(t._s(t.statistics.commandErrors)+" ("+t._s((t.statistics.commandErrors/t.statistics.rounds*100).toFixed(1))+" %)")])],1)],1),((a=t.statistics)==null?void 0:a.missingResponses)!=null?s("v-list-item",[s("v-list-item-content",[s("v-list-item-title",{staticClass:"error--text"},[t._v("Missing Responses")]),s("v-list-item-subtitle",[t._v(t._s(t.statistics.missingResponses)+" ("+t._s((t.statistics.missingResponses/t.statistics.commandsSent*100).toFixed(1))+" %)")])],1)],1):t._e()],1),s("v-simple-table",{scopedSlots:t._u([{key:"default",fn:function(){var e;return[s("thead",[s("tr",[s("th",{staticClass:"text-left"}),s("th",{staticClass:"text-left"},[t._v("Min")]),s("th",{staticClass:"text-left"},[t._v("Max")]),s("th",{staticClass:"text-left"},[t._v("Avg")])])]),t.statistics.latency?s("tbody",[s("tr",[s("td",[t._v("Latency [ms]")]),s("td",[t._v(t._s(t.statistics.latency.min))]),s("td",[t._v(t._s(t.statistics.latency.max))]),s("td",[t._v(" "+t._s(Math.round(t.statistics.latency.average))+" ")])]),s("tr",[s("td",[t._v("Round-Trip Time [ms]")]),s("td",[t._v(t._s(t.statistics.rtt.min))]),s("td",[t._v(t._s(t.statistics.rtt.max))]),s("td",[t._v(" "+t._s(Math.round(t.statistics.rtt.average))+" ")])]),s("tr",[s("td",[t._v("ACK RSSI [dBm]")]),s("td",[t._v(t._s(t.statistics.ackRSSI.min))]),s("td",[t._v(t._s(t.statistics.ackRSSI.max))]),s("td",[t._v(" "+t._s(Math.round(t.statistics.ackRSSI.average))+" ")])]),Number.isFinite((e=t.statistics.responseRSSI)==null?void 0:e.average)?s("tr",[s("td",[t._v("Response RSSI [dBm]")]),s("td",[t._v(" "+t._s(t.statistics.responseRSSI.min)+" ")]),s("td",[t._v(" "+t._s(t.statistics.responseRSSI.max)+" ")]),s("td",[t._v(" "+t._s(Math.round(t.statistics.responseRSSI.average))+" ")])]):t._e()]):t._e()]},proxy:!0}],null,!1,3268320747)})],1):t._e()],1)],1),s("v-card-actions",[s("v-spacer"),s("v-btn",{attrs:{color:"blue darken-1",text:""},on:{click:function(e){return t.$emit("close")}}},[t._v("Close")])],1)],1)],1)},u=[],m=c(d,v,u,!1,null,null);const _=m.exports;export{_ as default};