iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 10.3 kB
JavaScript
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[75867],{27571:function(s,t,e){e.a(s,async function(s,t){try{e(62953);var i=e(40445),a=e(5124),o=e(67576),l=(e(67094),e(34127)),n=s([l]);l=(n.then?(await n)():n)[0];let p,c,r=s=>s;const d="M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z";class h extends a.WF{render(){return(0,a.qy)(p||(p=r` <ha-svg-icon id="svg-icon" .path="${0}"></ha-svg-icon> <ha-tooltip for="svg-icon" .placement="${0}"> ${0} </ha-tooltip> `),d,this.position,this.label)}constructor(...s){super(...s),this.position="top"}}h.styles=(0,a.AH)(c||(c=r`ha-svg-icon{--mdc-icon-size:var(--ha-help-tooltip-size, 14px);color:var(--ha-help-tooltip-color,var(--disabled-text-color))}`)),(0,i.Cg)([(0,o.MZ)()],h.prototype,"label",void 0),(0,i.Cg)([(0,o.MZ)()],h.prototype,"position",void 0),h=(0,i.Cg)([(0,o.EM)("ha-help-tooltip")],h),t()}catch(p){t(p)}})},69814:function(s,t,e){e.a(s,async function(s,i){try{e.r(t);e(74423),e(18111),e(7588),e(61701),e(62953);var a=e(40445),o=e(5124),l=e(67576),n=e(1087),p=e(37981),c=e(72554),r=(e(11382),e(27571)),d=(e(67094),e(28170),e(50723),e(58594)),h=e(72001),_=e(14503),u=s([c,r]);[c,r]=u.then?(await u)():u;let v,b,g,z,w,m,$,f,y,j,x,S,C=s=>s;const k="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z";class D extends o.WF{showDialog(s){this.device=s.device,this._open=!0,this._subscribeDeviceRegistry(),this._subscribeNodeStatistics()}closeDialog(){this._open=!1}_dialogClosed(){this._nodeStatistics=void 0,this.device=void 0,this._unsubscribe(),(0,n.r)(this,"dialog-closed",{dialog:this.localName})}render(){var s,t,e,i,a,l,n;return this.device?(0,o.qy)(v||(v=C` <ha-dialog .open="${0}" header-title="${0}" ="${0}"> <ha-list-base> <ha-list-item-base> <span slot="headline"> ${0}</span> <span slot="supporting-text"> ${0} </span> <span slot="end">${0}</span> </ha-list-item-base> <ha-list-item-base> <span slot="headline"> ${0}</span> <span slot="supporting-text"> ${0} </span> <span slot="end">${0}</span> </ha-list-item-base> <ha-list-item-base> <span slot="headline"> ${0}</span> <span slot="supporting-text"> ${0} </span> <span slot="end">${0}</span> </ha-list-item-base> <ha-list-item-base> <span slot="headline"> ${0}</span> <span slot="supporting-text"> ${0} </span> <span slot="end">${0}</span> </ha-list-item-base> <ha-list-item-base> <span slot="headline"> ${0}</span> <span slot="supporting-text"> ${0} </span> <span slot="end">${0}</span> </ha-list-item-base> ${0} ${0} </ha-list-base> ${0} </ha-dialog> `),this._open,this.hass.localize("ui.panel.config.zwave_js.node_statistics.title"),this._dialogClosed,this.hass.localize("ui.panel.config.zwave_js.node_statistics.commands_tx.label"),this.hass.localize("ui.panel.config.zwave_js.node_statistics.commands_tx.tooltip"),null===(s=this._nodeStatistics)||void 0===s?void 0:s.commands_tx,this.hass.localize("ui.panel.config.zwave_js.node_statistics.commands_rx.label"),this.hass.localize("ui.panel.config.zwave_js.node_statistics.commands_rx.tooltip"),null===(t=this._nodeStatistics)||void 0===t?void 0:t.commands_rx,this.hass.localize("ui.panel.config.zwave_js.node_statistics.commands_dropped_tx.label"),this.hass.localize("ui.panel.config.zwave_js.node_statistics.commands_dropped_tx.tooltip"),null===(e=this._nodeStatistics)||void 0===e?void 0:e.commands_dropped_tx,this.hass.localize("ui.panel.config.zwave_js.node_statistics.commands_dropped_rx.label"),this.hass.localize("ui.panel.config.zwave_js.node_statistics.commands_dropped_rx.tooltip"),null===(i=this._nodeStatistics)||void 0===i?void 0:i.commands_dropped_rx,this.hass.localize("ui.panel.config.zwave_js.node_statistics.timeout_response.label"),this.hass.localize("ui.panel.config.zwave_js.node_statistics.timeout_response.tooltip"),null===(a=this._nodeStatistics)||void 0===a?void 0:a.timeout_response,null!==(l=this._nodeStatistics)&&void 0!==l&&l.rtt?(0,o.qy)(b||(b=C`<ha-list-item-base> <span slot="headline"> ${0}</span> <span slot="supporting-text"> ${0} </span> <span slot="end">${0}</span> </ha-list-item-base>`),this.hass.localize("ui.panel.config.zwave_js.node_statistics.rtt.label"),this.hass.localize("ui.panel.config.zwave_js.node_statistics.rtt.tooltip"),this._nodeStatistics.rtt):"",null!==(n=this._nodeStatistics)&&void 0!==n&&n.rssi_translated?(0,o.qy)(g||(g=C`<ha-list-item-base> <span slot="headline"> ${0}</span> <span slot="supporting-text"> ${0} </span> <span slot="end">${0}</span> </ha-list-item-base>`),this.hass.localize("ui.panel.config.zwave_js.node_statistics.rssi.label"),this.hass.localize("ui.panel.config.zwave_js.node_statistics.rssi.tooltip"),this._nodeStatistics.rssi_translated):"",Object.entries(this._workingRoutes).map(([s,t])=>t?(0,o.qy)(z||(z=C` <ha-expansion-panel .header="${0}"> <div class="row"> <span> ${0}<ha-help-tooltip .label="${0}"> </ha-help-tooltip></span> <span>${0}</span> </div> <div class="row"> <span> ${0}<ha-help-tooltip .label="${0}"> </ha-help-tooltip></span> <span>${0}</span> </div> ${0} <div class="row"> <span> ${0}<ha-help-tooltip .label="${0}"> </ha-help-tooltip></span> <span> ${0} </span> </div> <div class="row"> <span> ${0}<ha-help-tooltip .label="${0}"> </ha-help-tooltip></span><span> ${0}</span> </div> </ha-expansion-panel> `),this.hass.localize(`ui.panel.config.zwave_js.node_statistics.${s}`),this.hass.localize("ui.panel.config.zwave_js.route_statistics.protocol.label"),this.hass.localize("ui.panel.config.zwave_js.route_statistics.protocol.tooltip"),this.hass.localize(`ui.panel.config.zwave_js.route_statistics.protocol.protocol_data_rate.${h.dZ[t.protocol_data_rate]}`),this.hass.localize("ui.panel.config.zwave_js.route_statistics.data_rate.label"),this.hass.localize("ui.panel.config.zwave_js.route_statistics.data_rate.tooltip"),this.hass.localize(`ui.panel.config.zwave_js.route_statistics.data_rate.protocol_data_rate.${h.dZ[t.protocol_data_rate]}`),t.rssi_translated?(0,o.qy)(w||(w=C`<div class="row"> <span> ${0}<ha-help-tooltip .label="${0}"> </ha-help-tooltip></span> <span>${0}</span> </div>`),this.hass.localize("ui.panel.config.zwave_js.route_statistics.rssi.label"),this.hass.localize("ui.panel.config.zwave_js.route_statistics.rssi.tooltip"),t.rssi_translated):"",this.hass.localize("ui.panel.config.zwave_js.route_statistics.route_failed_between.label"),this.hass.localize("ui.panel.config.zwave_js.route_statistics.route_failed_between.tooltip"),t.route_failed_between_translated?(0,o.qy)(m||(m=C`${0}<ha-svg-icon .path="${0}"></ha-svg-icon>${0}`),t.route_failed_between_translated[0],k,t.route_failed_between_translated[1]):this.hass.localize("ui.panel.config.zwave_js.route_statistics.route_failed_between.not_applicable"),this.hass.localize("ui.panel.config.zwave_js.route_statistics.repeaters.label"),this.hass.localize("ui.panel.config.zwave_js.route_statistics.repeaters.tooltip"),t.repeater_rssi_table?(0,o.qy)($||($=C`<div class="row"> <span class="key-cell"><b>${0}:</b></span> <span class="value-cell"><b>${0}:</b></span> </div> ${0}`),this.hass.localize("ui.panel.config.zwave_js.route_statistics.repeaters.repeaters"),this.hass.localize("ui.panel.config.zwave_js.route_statistics.repeaters.rssi"),t.repeater_rssi_table):(0,o.qy)(f||(f=C`${0}`),this.hass.localize("ui.panel.config.zwave_js.route_statistics.repeaters.direct"))):"")):o.s6}_computeRSSI(s,t){return Object.values(h.au).includes(s)?(0,o.qy)(y||(y=C`<ha-help-tooltip .label="${0}"></ha-help-tooltip>`),this.hass.localize(`ui.panel.config.zwave_js.rssi.rssi_error.${h.au[s]}`)):t?`${s}\n ${this.hass.localize("ui.panel.config.zwave_js.rssi.unit")}`:s.toString()}_computeDeviceNameById(s){if(!this._deviceIDsToName)return"unknown device";return this._deviceIDsToName[s]&&this._deviceIDsToName[s]||"unknown device"}_subscribeNodeStatistics(){this.hass&&(this._subscribedNodeStatistics=(0,h.jF)(this.hass,this.device.id,s=>{var t,e;this._nodeStatistics=Object.assign(Object.assign({},s),{},{rssi_translated:s.rssi?this._computeRSSI(s.rssi,!1):void 0});const i=[["lwr",null===(t=this._nodeStatistics)||void 0===t?void 0:t.lwr],["nlwr",null===(e=this._nodeStatistics)||void 0===e?void 0:e.nlwr]],a={};i.forEach(([s,t])=>{a[s]=t,t&&(t.rssi&&(t.rssi_translated=this._computeRSSI(t.rssi,!0)),t.route_failed_between&&(t.route_failed_between_translated=[this._computeDeviceNameById(t.route_failed_between[0]),this._computeDeviceNameById(t.route_failed_between[1])]),t.repeaters&&t.repeaters.length&&(t.repeater_rssi_table=(0,o.qy)(j||(j=C`${0}`),t.repeaters.map((s,e)=>(0,o.qy)(x||(x=C`<div class="row"> <span class="key-cell">${0}:</span> <span class="value-cell">${0}</span> </div>`),this._computeDeviceNameById(t.repeaters[e]),this._computeRSSI(t.repeater_rssi[e],!0))))))}),this._workingRoutes=a}))}_subscribeDeviceRegistry(){this.hass&&(this._subscribedDeviceRegistry=(0,d.Ag)(this.hass.connection,s=>{const t={};s.forEach(s=>{t[s.id]=(0,p.T)(s,this.hass.localize,this.hass.states)}),this._deviceIDsToName=t}))}_unsubscribe(){this._subscribedNodeStatistics&&(this._subscribedNodeStatistics.then(s=>s()),this._subscribedNodeStatistics=void 0),this._subscribedDeviceRegistry&&(this._subscribedDeviceRegistry(),this._subscribedDeviceRegistry=void 0)}static get styles(){return[_.nA,(0,o.AH)(S||(S=C`.row{display:flex;justify-content:space-between}.table{display:table}.key-cell{display:table-cell;padding-right:5px;padding-inline-end:5px;padding-inline-start:initial}.value-cell{display:table-cell;padding-left:5px;padding-inline-start:5px;padding-inline-end:initial}span[slot=meta]{font-size:.95em;color:var(--primary-text-color)}`))]}constructor(...s){super(...s),this._deviceIDsToName={},this._workingRoutes={},this._open=!1}}(0,a.Cg)([(0,l.MZ)({attribute:!1})],D.prototype,"hass",void 0),(0,a.Cg)([(0,l.wk)()],D.prototype,"device",void 0),(0,a.Cg)([(0,l.wk)()],D.prototype,"_nodeStatistics",void 0),(0,a.Cg)([(0,l.wk)()],D.prototype,"_deviceIDsToName",void 0),(0,a.Cg)([(0,l.wk)()],D.prototype,"_workingRoutes",void 0),(0,a.Cg)([(0,l.wk)()],D.prototype,"_open",void 0),D=(0,a.Cg)([(0,l.EM)("dialog-zwave_js-node-statistics")],D),i()}catch(v){i(v)}})}}]);