iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 8.14 kB
JavaScript
export const __webpack_ids__=["5188"];export const __webpack_modules__={5137:function(s,i,e){e.a(s,(async function(s,a){try{e.r(i);var t=e(44249),c=(e(92745),e(9359),e(31526),e(70104),e(31622),e(57243)),o=e(15093),n=e(36522),l=e(17170),d=e(73729),h=(e(37583),e(56032)),r=e(74794),u=e(28008),g=s([l,h]);[l,h]=g.then?(await g)():g;const _="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",v="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";(0,t.Z)([(0,o.Mo)("dialog-zha-reconfigure-device")],(function(s,i){return{F:class extends i{constructor(...i){super(...i),s(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_status",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_stages",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_clusterConfigurationStatuses",value:()=>new Map},{kind:"field",decorators:[(0,o.SB)()],key:"_params",value(){}},{kind:"field",decorators:[(0,o.SB)()],key:"_allSuccessful",value:()=>!0},{kind:"field",decorators:[(0,o.SB)()],key:"_showDetails",value:()=>!1},{kind:"field",key:"_subscribed",value:void 0},{kind:"method",key:"showDialog",value:function(s){this._params=s,this._clusterConfigurationStatuses=new Map,this._stages=void 0}},{kind:"method",key:"closeDialog",value:function(){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,n.B)(this,"dialog-closed",{dialog:this.localName})}},{kind:"method",key:"render",value:function(){return this._params?c.dy` <ha-dialog open ="${this.closeDialog}" .heading="${(0,d.i)(this.hass,this.hass.localize("ui.dialogs.zha_reconfigure_device.heading")+": "+(this._params.device.user_given_name||this._params.device.name))}"> ${this._status?"":c.dy` <p> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.introduction")} </p> <p> <em> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.battery_device_warning")} </em> </p> <mwc-button slot="primaryAction" ="${this._startReconfiguration}"> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.start_reconfiguration")} </mwc-button> `} ${"started"===this._status?c.dy` <div class="flex-container"> <ha-spinner></ha-spinner> <div class="status"> <p> <b> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.in_progress")} </b> </p> <p> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.run_in_background")} </p> </div> </div> <mwc-button slot="primaryAction" ="${this.closeDialog}"> ${this.hass.localize("ui.common.close")} </mwc-button> <mwc-button slot="secondaryAction" ="${this._toggleDetails}"> ${this._showDetails?this.hass.localize("ui.dialogs.zha_reconfigure_device.button_hide"):this.hass.localize("ui.dialogs.zha_reconfigure_device.button_show")} </mwc-button> `:""} ${"failed"===this._status?c.dy` <div class="flex-container"> <ha-svg-icon .path="${v}" class="failed"></ha-svg-icon> <div class="status"> <p> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.configuration_failed")} </p> </div> </div> <mwc-button slot="primaryAction" ="${this.closeDialog}"> ${this.hass.localize("ui.common.close")} </mwc-button> <mwc-button slot="secondaryAction" ="${this._toggleDetails}"> ${this._showDetails?this.hass.localize("ui.dialogs.zha_reconfigure_device.button_hide"):this.hass.localize("ui.dialogs.zha_reconfigure_device.button_show")} </mwc-button> `:""} ${"finished"===this._status?c.dy` <div class="flex-container"> <ha-svg-icon .path="${_}" class="success"></ha-svg-icon> <div class="status"> <p> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.configuration_complete")} </p> </div> </div> <mwc-button slot="primaryAction" ="${this.closeDialog}"> ${this.hass.localize("ui.common.close")} </mwc-button> <mwc-button slot="secondaryAction" ="${this._toggleDetails}"> ${this._showDetails?this.hass.localize("ui.dialogs.zha_reconfigure_device.button_hide"):this.hass.localize("ui.dialogs.zha_reconfigure_device.button_show")} </mwc-button> `:""} ${this._stages?c.dy` <div class="stages"> ${this._stages.map((s=>c.dy` <span class="stage"> <ha-svg-icon .path="${_}" class="success"></ha-svg-icon> ${s} </span> `))} </div> `:""} ${this._showDetails?c.dy` <div class="wrapper"> <h2 class="grid-item"> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.cluster_header")} </h2> <h2 class="grid-item"> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.bind_header")} </h2> <h2 class="grid-item"> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.reporting_header")} </h2> ${this._clusterConfigurationStatuses?.size?c.dy` ${Array.from(this._clusterConfigurationStatuses.values()).map((s=>c.dy` <div class="grid-item"> ${s.cluster.name} </div> <div class="grid-item"> ${void 0!==s.bindSuccess?s.bindSuccess?c.dy` <span class="stage"> <ha-svg-icon .path="${_}" class="success"></ha-svg-icon> </span> `:c.dy` <span class="stage"> <ha-svg-icon .path="${v}" class="failed"></ha-svg-icon> </span> `:""} </div> <div class="grid-item"> ${s.attributes.size>0?c.dy` <div class="attributes"> <div class="grid-item"> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.attribute")} </div> <div class="grid-item"> <div> ${this.hass.localize("ui.dialogs.zha_reconfigure_device.min_max_change")} </div> </div> ${Array.from(s.attributes.values()).map((s=>c.dy` <span class="grid-item"> ${s.name}: ${"SUCCESS"===s.status?c.dy` <span class="stage"> <ha-svg-icon .path="${_}" class="success"></ha-svg-icon> </span> `:c.dy` <span class="stage"> <ha-tooltip placement="top" .content="${s.status}"> <ha-svg-icon .path="${v}" class="failed"></ha-svg-icon> </ha-tooltip> </span> `} </span> <div class="grid-item"> ${s.min}/${s.max}/${s.change} </div> `))} </div> `:""} </div> `))} `:""} </div> `:""} </ha-dialog> `:c.Ld}},{kind:"method",key:"_startReconfiguration",value:async function(){this.hass&&this._params&&(this._clusterConfigurationStatuses=new Map((await(0,r.ez)(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")}},{kind:"method",key:"_handleMessage",value:function(s){if(s.type===r.H4)this._unsubscribe(),this._status=this._allSuccessful?"finished":"failed";else{const i=this._clusterConfigurationStatuses.get(s.zha_channel_msg_data.cluster_id);if(s.type===r.mS){this._stages||(this._stages=["binding"]);const e=s.zha_channel_msg_data.success;i.bindSuccess=e,this._allSuccessful=this._allSuccessful&&e}if(s.type===r.lu){this._stages&&!this._stages.includes("reporting")&&this._stages.push("reporting");const e=s.zha_channel_msg_data.attributes;Object.keys(e).forEach((s=>{const a=e[s];i.attributes.set(a.id,a),this._allSuccessful=this._allSuccessful&&!(a.status in["FAILURE","UNSUPPORTED_ATTRIBUTE","UNREPORTABLE_ATTRIBUTE"])}))}this.requestUpdate()}}},{kind:"method",key:"_unsubscribe",value:function(){this._subscribed&&(this._subscribed.then((s=>s())),this._subscribed=void 0)}},{kind:"method",key:"_subscribe",value:function(s){this.hass&&(this._subscribed=(0,r.$l)(this.hass,s.device.ieee,this._handleMessage.bind(this)))}},{kind:"method",key:"_toggleDetails",value:function(){this._showDetails=!this._showDetails}},{kind:"get",static:!0,key:"styles",value:function(){return[u.yu,c.iv`.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}`]}}]}}),c.oi);a()}catch(s){a(s)}}))}};
//# sourceMappingURL=5188.372f76c10032ae27.js.map