UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

1 lines 7.79 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[83995],{36534:function(s,i,a){a.a(s,async function(s,t){try{a.r(i);a(74423),a(44114),a(18111),a(7588),a(61701),a(45367),a(92731),a(3362),a(62953);var e=a(40445),o=a(5124),c=a(67576),h=a(1087),n=a(65829),l=(a(67094),a(34127)),r=a(18350),d=(a(93444),a(72554)),u=a(84621),g=a(14503),_=s([n,l,r,d]);[n,l,r,d]=_.then?(await _)():_;let p,v,f,m,$,b,y,z,w,C,S,x,L,q,k,D,A,M,E,R=s=>s;const T="M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z",U="M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z";class B extends o.WF{showDialog(s){this._params=s,this._clusterConfigurationStatuses=new Map,this._stages=void 0,this._open=!0}closeDialog(){this._open=!1}_dialogClosed(){this._unsubscribe(),this._params=void 0,this._status=void 0,this._stages=void 0,this._clusterConfigurationStatuses=void 0,this._showDetails=!1,this._allSuccessful=!0,(0,h.r)(this,"dialog-closed",{dialog:this.localName})}render(){var s;return this._params?(0,o.qy)(p||(p=R` <ha-dialog .open="${0}" width="large" header-title="${0}" @closed="${0}"> ${0} ${0} ${0} ${0} ${0} ${0} <ha-dialog-footer slot="footer"> ${0} </ha-dialog-footer> </ha-dialog> `),this._open,this.hass.localize("ui.dialogs.zha_reconfigure_device.heading")+": "+(this._params.device.user_given_name||this._params.device.name),this._dialogClosed,this._status?"":(0,o.qy)(v||(v=R` <p> ${0} </p> <p> <em> ${0} </em> </p> `),this.hass.localize("ui.dialogs.zha_reconfigure_device.introduction"),this.hass.localize("ui.dialogs.zha_reconfigure_device.battery_device_warning")),"started"===this._status?(0,o.qy)(f||(f=R` <div class="flex-container"> <ha-spinner></ha-spinner> <div class="status"> <p> <b> ${0} </b> </p> <p> ${0} </p> </div> </div> `),this.hass.localize("ui.dialogs.zha_reconfigure_device.in_progress"),this.hass.localize("ui.dialogs.zha_reconfigure_device.run_in_background")):"","failed"===this._status?(0,o.qy)(m||(m=R` <div class="flex-container"> <ha-svg-icon .path="${0}" class="failed"></ha-svg-icon> <div class="status"> <p> ${0} </p> </div> </div> `),U,this.hass.localize("ui.dialogs.zha_reconfigure_device.configuration_failed")):"","finished"===this._status?(0,o.qy)($||($=R` <div class="flex-container"> <ha-svg-icon .path="${0}" class="success"></ha-svg-icon> <div class="status"> <p> ${0} </p> </div> </div> `),T,this.hass.localize("ui.dialogs.zha_reconfigure_device.configuration_complete")):"",this._stages?(0,o.qy)(b||(b=R` <div class="stages"> ${0} </div> `),this._stages.map(s=>(0,o.qy)(y||(y=R` <span class="stage"> <ha-svg-icon .path="${0}" class="success"></ha-svg-icon> ${0} </span> `),T,s))):"",this._showDetails?(0,o.qy)(z||(z=R` <div class="wrapper"> <h2 class="grid-item"> ${0} </h2> <h2 class="grid-item"> ${0} </h2> <h2 class="grid-item"> ${0} </h2> ${0} </div> `),this.hass.localize("ui.dialogs.zha_reconfigure_device.cluster_header"),this.hass.localize("ui.dialogs.zha_reconfigure_device.bind_header"),this.hass.localize("ui.dialogs.zha_reconfigure_device.reporting_header"),null!==(s=this._clusterConfigurationStatuses)&&void 0!==s&&s.size?(0,o.qy)(w||(w=R` ${0} `),Array.from(this._clusterConfigurationStatuses.values()).map(s=>(0,o.qy)(C||(C=R` <div class="grid-item"> ${0} </div> <div class="grid-item"> ${0} </div> <div class="grid-item"> ${0} </div> `),s.cluster.name,void 0!==s.bindSuccess?s.bindSuccess?(0,o.qy)(S||(S=R` <span class="stage"> <ha-svg-icon .path="${0}" class="success"></ha-svg-icon> </span> `),T):(0,o.qy)(x||(x=R` <span class="stage"> <ha-svg-icon .path="${0}" class="failed"></ha-svg-icon> </span> `),U):"",s.attributes.size>0?(0,o.qy)(L||(L=R` <div class="attributes"> <div class="grid-item"> ${0} </div> <div class="grid-item"> <div> ${0} </div> </div> ${0} </div> `),this.hass.localize("ui.dialogs.zha_reconfigure_device.attribute"),this.hass.localize("ui.dialogs.zha_reconfigure_device.min_max_change"),Array.from(s.attributes.values()).map(i=>(0,o.qy)(q||(q=R` <span class="grid-item"> ${0}: ${0} </span> <div class="grid-item"> ${0}/${0}/${0} </div> `),i.name,"SUCCESS"===i.status?(0,o.qy)(k||(k=R` <span class="stage"> <ha-svg-icon .path="${0}" class="success"></ha-svg-icon> </span> `),T):(0,o.qy)(D||(D=R` <span class="stage"> <ha-svg-icon .id="svg-icon-${0}" .path="${0}" class="failed"></ha-svg-icon> <ha-tooltip .for="svg-icon-${0}" placement="top"> ${0} </ha-tooltip> </span> `),s.cluster.name,U,s.cluster.name,i.status),i.min,i.max,i.change))):""))):""):"",this._status?(0,o.qy)(M||(M=R` <ha-button slot="secondaryAction" appearance="plain" @click="${0}"> ${0} </ha-button> <ha-button slot="primaryAction" @click="${0}"> ${0} </ha-button> `),this._toggleDetails,this._showDetails?this.hass.localize("ui.dialogs.zha_reconfigure_device.button_hide"):this.hass.localize("ui.dialogs.zha_reconfigure_device.button_show"),this.closeDialog,this.hass.localize("ui.common.close")):(0,o.qy)(A||(A=R` <ha-button slot="primaryAction" @click="${0}"> ${0} </ha-button> `),this._startReconfiguration,this.hass.localize("ui.dialogs.zha_reconfigure_device.start_reconfiguration"))):o.s6}async _startReconfiguration(){this.hass&&this._params&&(this._clusterConfigurationStatuses=new Map((await(0,u.cm)(this.hass,this._params.device.ieee)).map(s=>[s.id,{cluster:s,bindSuccess:void 0,attributes:new Map}])),this._subscribe(this._params),this._status="started")}_handleMessage(s){if(s.type===u.Yf)this._unsubscribe(),this._status=this._allSuccessful?"finished":"failed";else{const i=this._clusterConfigurationStatuses.get(s.zha_channel_msg_data.cluster_id);if(s.type===u.A2){this._stages||(this._stages=["binding"]);const a=s.zha_channel_msg_data.success;i.bindSuccess=a,this._allSuccessful=this._allSuccessful&&a}if(s.type===u.sb){this._stages&&!this._stages.includes("reporting")&&this._stages.push("reporting");const a=s.zha_channel_msg_data.attributes;Object.keys(a).forEach(s=>{const t=a[s];i.attributes.set(t.id,t),this._allSuccessful=this._allSuccessful&&!(t.status in["FAILURE","UNSUPPORTED_ATTRIBUTE","UNREPORTABLE_ATTRIBUTE"])})}this.requestUpdate()}}_unsubscribe(){this._subscribed&&(this._subscribed.then(s=>s()),this._subscribed=void 0)}_subscribe(s){this.hass&&(this._subscribed=(0,u.C2)(this.hass,s.device.ieee,this._handleMessage.bind(this)))}_toggleDetails(){this._showDetails=!this._showDetails}static get styles(){return[g.nA,(0,o.AH)(E||(E=R`.wrapper{display:grid;grid-template-columns:3fr 1fr 2fr}.attributes{display:grid;grid-template-columns:1fr 1fr}.grid-item{border:1px solid;padding:7px}.success{color:var(--success-color)}.failed{color:var(--warning-color)}.flex-container{display:flex;align-items:center}.stages{margin-top:16px}.stage ha-svg-icon{width:16px;height:16px}.stage{padding:8px}ha-svg-icon{width:68px;height:48px}.flex-container ha-spinner,.flex-container ha-svg-icon{margin-right:20px;margin-inline-end:20px;margin-inline-start:initial}`))]}constructor(...s){super(...s),this._clusterConfigurationStatuses=new Map,this._params=void 0,this._allSuccessful=!0,this._showDetails=!1,this._open=!1}}(0,e.Cg)([(0,c.MZ)({attribute:!1})],B.prototype,"hass",void 0),(0,e.Cg)([(0,c.wk)()],B.prototype,"_status",void 0),(0,e.Cg)([(0,c.wk)()],B.prototype,"_stages",void 0),(0,e.Cg)([(0,c.wk)()],B.prototype,"_clusterConfigurationStatuses",void 0),(0,e.Cg)([(0,c.wk)()],B.prototype,"_params",void 0),(0,e.Cg)([(0,c.wk)()],B.prototype,"_allSuccessful",void 0),(0,e.Cg)([(0,c.wk)()],B.prototype,"_showDetails",void 0),(0,e.Cg)([(0,c.wk)()],B.prototype,"_open",void 0),B=(0,e.Cg)([(0,c.EM)("dialog-zha-reconfigure-device")],B),t()}catch(p){t(p)}})}}]);