UNPKG

iobroker.lovelace

Version:

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

2 lines 18.2 kB
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["72244"],{45061:function(e,i,t){t.d(i,{K:()=>s});const s=e=>{switch(e.language){case"cs":case"de":case"fi":case"fr":case"sk":case"sv":return" ";default:return""}}},59826:function(e,i,t){var s=t(61701),a=(t(71695),t(47021),t(31622)),o=t(57243),r=t(50778),d=t(22344);let n,l=e=>e;(0,s.Z)([(0,r.Mo)("ha-button")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",static:!0,key:"styles",value(){return[d.W,(0,o.iv)(n||(n=l`::slotted([slot=icon]){margin-inline-start:0px;margin-inline-end:8px;direction:var(--direction);display:block}.mdc-button{height:var(--button-height,36px)}.trailing-icon{display:flex}.slot-container{overflow:var(--button-slot-container-overflow,visible)}:host([destructive]){--mdc-theme-primary:var(--error-color)}`))]}}]}}),a.Button)},78951:function(e,i,t){t.a(e,(async function(e,i){try{var s=t(61701),a=t(72621),o=(t(71695),t(9359),t(70104),t(47021),t(87515)),r=t(57243),d=t(50778),n=t(35359),l=t(36522),c=(t(59826),t(23334),t(45061)),u=t(95262),h=t(90698),p=e([o]);o=(p.then?(await p)():p)[0];let v,g,f,_,m,b,y,k,w=e=>e;const $="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",F="M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z";(0,s.Z)([(0,d.Mo)("ha-file-upload")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"localize",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"accept",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"icon",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"secondary",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:"uploading-label"})],key:"uploadingLabel",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:"delete-label"})],key:"deleteLabel",value:void 0},{kind:"field",decorators:[(0,d.Cb)()],key:"supports",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Object})],key:"value",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"multiple",value(){return!1}},{kind:"field",decorators:[(0,d.Cb)({type:Boolean,reflect:!0})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"uploading",value(){return!1}},{kind:"field",decorators:[(0,d.Cb)({type:Number})],key:"progress",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean,attribute:"auto-open-file-dialog"})],key:"autoOpenFileDialog",value(){return!1}},{kind:"field",decorators:[(0,d.SB)()],key:"_drag",value(){return!1}},{kind:"field",decorators:[(0,d.IO)("#input")],key:"_input",value:void 0},{kind:"method",key:"firstUpdated",value:function(e){(0,a.Z)(t,"firstUpdated",this,3)([e]),this.autoOpenFileDialog&&this._openFilePicker()}},{kind:"get",key:"_name",value:function(){if(void 0===this.value)return"";if("string"==typeof this.value)return this.value;return(this.value instanceof FileList?Array.from(this.value):(0,u.r)(this.value)).map((e=>e.name)).join(", ")}},{kind:"method",key:"render",value:function(){const e=this.localize||this.hass.localize;return(0,r.dy)(v||(v=w` ${0} `),this.uploading?(0,r.dy)(g||(g=w`<div class="container"> <div class="uploading"> <span class="header">${0}</span> ${0} </div> <mwc-linear-progress .indeterminate="${0}" .progress="${0}"></mwc-linear-progress> </div>`),this.uploadingLabel||this.value?e("ui.components.file-upload.uploading_name",{name:this._name}):e("ui.components.file-upload.uploading"),this.progress?(0,r.dy)(f||(f=w`<div class="progress"> ${0}${0}% </div>`),this.progress,this.hass&&(0,c.K)(this.hass.locale)):r.Ld,!this.progress,this.progress?this.progress/100:void 0):(0,r.dy)(_||(_=w`<label for="${0}" class="container ${0}" @drop="${0}" @dragenter="${0}" @dragover="${0}" @dragleave="${0}" @dragend="${0}">${0} <input id="input" type="file" class="file" .accept="${0}" .multiple="${0}" @change="${0}"></label>`),this.value?"":"input",(0,n.$)({dragged:this._drag,multiple:this.multiple,value:Boolean(this.value)}),this._handleDrop,this._handleDragStart,this._handleDragStart,this._handleDragEnd,this._handleDragEnd,this.value?"string"==typeof this.value?(0,r.dy)(b||(b=w`<div class="row"> <div class="value" @click="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> ${0} </div> <ha-icon-button @click="${0}" .label="${0}" .path="${0}"></ha-icon-button> </div>`),this._openFilePicker,this.icon||F,this.value,this._clearValue,this.deleteLabel||e("ui.common.delete"),$):(this.value instanceof FileList?Array.from(this.value):(0,u.r)(this.value)).map((i=>(0,r.dy)(y||(y=w`<div class="row"> <div class="value" @click="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> ${0} - ${0} </div> <ha-icon-button @click="${0}" .label="${0}" .path="${0}"></ha-icon-button> </div>`),this._openFilePicker,this.icon||F,i.name,(0,h.d)(i.size),this._clearValue,this.deleteLabel||e("ui.common.delete"),$))):(0,r.dy)(m||(m=w`<ha-svg-icon class="big-icon" .path="${0}"></ha-svg-icon> <ha-button unelevated @click="${0}"> ${0} </ha-button> <span class="secondary">${0}</span> <span class="supports">${0}</span>`),this.icon||F,this._openFilePicker,this.label||e("ui.components.file-upload.label"),this.secondary||e("ui.components.file-upload.secondary"),this.supports),this.accept,this.multiple,this._handleFilePicked))}},{kind:"method",key:"_openFilePicker",value:function(){var e;null===(e=this._input)||void 0===e||e.click()}},{kind:"method",key:"_handleDrop",value:function(e){var i;e.preventDefault(),e.stopPropagation(),null!==(i=e.dataTransfer)&&void 0!==i&&i.files&&(0,l.B)(this,"file-picked",{files:this.multiple||1===e.dataTransfer.files.length?Array.from(e.dataTransfer.files):[e.dataTransfer.files[0]]}),this._drag=!1}},{kind:"method",key:"_handleDragStart",value:function(e){e.preventDefault(),e.stopPropagation(),this._drag=!0}},{kind:"method",key:"_handleDragEnd",value:function(e){e.preventDefault(),e.stopPropagation(),this._drag=!1}},{kind:"method",key:"_handleFilePicked",value:function(e){0!==e.target.files.length&&(this.value=e.target.files,(0,l.B)(this,"file-picked",{files:e.target.files}))}},{kind:"method",key:"_clearValue",value:function(e){e.preventDefault(),this._input.value="",this.value=void 0,(0,l.B)(this,"change"),(0,l.B)(this,"files-cleared")}},{kind:"field",static:!0,key:"styles",value(){return(0,r.iv)(k||(k=w`:host{display:block;height:240px}:host([disabled]){pointer-events:none;color:var(--disabled-text-color)}.container{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;border:solid 1px var(--mdc-text-field-idle-line-color,rgba(0,0,0,.42));border-radius:var(--mdc-shape-small,4px);height:100%}.row{display:flex;align-items:center}label.container{border:dashed 1px var(--mdc-text-field-idle-line-color,rgba(0,0,0,.42));cursor:pointer}.container .uploading{display:flex;flex-direction:column;width:100%;align-items:flex-start;padding:0 32px;box-sizing:border-box}:host([disabled]) .container{border-color:var(--disabled-color)}label.dragged,label:hover{border-style:solid}label.dragged{border-color:var(--primary-color)}.dragged:before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--primary-color);content:"";opacity:var(--dark-divider-opacity);pointer-events:none;border-radius:var(--mdc-shape-small,4px)}label.value{cursor:default}label.value.multiple{justify-content:unset;overflow:auto}.highlight{color:var(--primary-color)}ha-button{margin-bottom:4px}.supports{color:var(--secondary-text-color);font-size:12px}:host([disabled]) .secondary{color:var(--disabled-text-color)}input.file{display:none}.value{cursor:pointer}.value ha-svg-icon{margin-right:8px;margin-inline-end:8px;margin-inline-start:initial}.big-icon{--mdc-icon-size:48px;margin-bottom:8px}ha-button{--mdc-button-outline-color:var(--primary-color);--mdc-icon-button-size:24px}mwc-linear-progress{width:100%;padding:8px 32px;box-sizing:border-box}.header{font-weight:500}.progress{color:var(--secondary-text-color)}button.link{background:0 0;border:none;padding:0;font-size:14px;color:var(--primary-color);text-decoration:underline;cursor:pointer}`))}}]}}),r.oi);i()}catch(v){i(v)}}))},42921:function(e,i,t){t.a(e,(async function(e,s){try{t.r(i);var a=t(61701),o=(t(71695),t(49278),t(40251),t(47021),t(31622),t(87515)),r=t(57243),d=t(50778),n=t(36522),l=t(86431),c=t(73729),u=t(78951),h=(t(29073),t(37583),t(79011)),p=t(76131),v=t(28008),g=e([o,u]);[o,u]=g.then?(await g)():g;let f,_,m,b,y,k,w,$,F,x,z,M,L,N,S,P,B,C,j,D,U=e=>e;const H="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",A="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",T="M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z",V=[{name:"firmware_target",type:"integer",valueMin:0}];(0,a.Z)([(0,d.Mo)("dialog-zwave_js-update-firmware-node")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"device",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_uploading",value(){return!1}},{kind:"field",decorators:[(0,d.SB)()],key:"_updateFinishedMessage",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_updateProgressMessage",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_updateInProgress",value(){return!1}},{kind:"field",decorators:[(0,d.SB)()],key:"_firmwareFile",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_nodeStatus",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_firmwareTarget",value:void 0},{kind:"field",key:"_subscribedNodeStatus",value:void 0},{kind:"field",key:"_subscribedNodeFirmwareUpdate",value:void 0},{kind:"field",key:"_deviceName",value:void 0},{kind:"method",key:"showDialog",value:function(e){this._deviceName=(0,l.wZ)(e.device,this.hass),this.device=e.device,this._fetchData(),this._subscribeNodeStatus()}},{kind:"method",key:"closeDialog",value:function(){this._unsubscribeNodeFirmwareUpdate(),this._unsubscribeNodeStatus(),this.device=void 0,this._updateProgressMessage=void 0,this._updateFinishedMessage=void 0,this._firmwareFile=void 0,this._nodeStatus=void 0,this._firmwareTarget=void 0,this._uploading=this._updateInProgress=!1,(0,n.B)(this,"dialog-closed",{dialog:this.localName})}},{kind:"method",key:"render",value:function(){if(!this.device||!this._nodeStatus||void 0===this._updateInProgress)return r.Ld;const e=(0,r.dy)(f||(f=U`<ha-file-upload .hass="${0}" .uploading="${0}" .icon="${0}" .label="${0}" .value="${0}" @file-picked="${0}"></ha-file-upload> ${0} <mwc-button slot="primaryAction" @click="${0}" .disabled="${0}"> ${0} </mwc-button>`),this.hass,this._uploading,T,this.hass.localize("ui.panel.config.zwave_js.update_firmware.upload_firmware"),this._firmwareFile,this._uploadFile,this._nodeStatus.is_controller_node?r.Ld:(0,r.dy)(_||(_=U`<p> ${0} </p> <ha-form .hass="${0}" .data="${0}" .schema="${0}" @value-changed="${0}"></ha-form>`),this.hass.localize("ui.panel.config.zwave_js.update_firmware.firmware_target_intro"),this.hass,{firmware_target:this._firmwareTarget},V,this._firmwareTargetChanged),this._beginFirmwareUpdate,void 0===this._firmwareFile,this.hass.localize("ui.panel.config.zwave_js.update_firmware.begin_update")),i=this._updateFinishedMessage?this._updateFinishedMessage.success?"success":"error":void 0,t=this._nodeStatus.is_controller_node?"_controller":"",s=this._nodeStatus.is_controller_node?r.Ld:(0,r.dy)(m||(m=U` <mwc-button slot="primaryAction" @click="${0}"> ${0} </mwc-button> `),this._abortFirmwareUpdate,this.hass.localize("ui.panel.config.zwave_js.update_firmware.abort"));return(0,r.dy)(b||(b=U` <ha-dialog open @closed="${0}" .heading="${0}"> ${0} </ha-dialog> `),this.closeDialog,(0,c.i)(this.hass,this.hass.localize("ui.panel.config.zwave_js.update_firmware.title")),this._updateProgressMessage||this._updateFinishedMessage?this._updateProgressMessage&&!this._updateFinishedMessage?(0,r.dy)(M||(M=U` <p> ${0} </p> <mwc-linear-progress determinate .progress="${0}"></mwc-linear-progress> <p> ${0} </p> ${0} `),this.hass.localize("ui.panel.config.zwave_js.update_firmware.in_progress",{device:(0,r.dy)(L||(L=U`<strong>${0}</strong>`),this._deviceName),progress:(100*this._updateProgressMessage.sent_fragments/this._updateProgressMessage.total_fragments).toFixed(2)}),this._updateProgressMessage.sent_fragments/this._updateProgressMessage.total_fragments,this.hass.localize("ui.panel.config.zwave_js.update_firmware.close",{device:(0,r.dy)(N||(N=U`<strong>${0}</strong>`),this._deviceName)}),s):(0,r.dy)(S||(S=U` <div class="flex-container"> <ha-svg-icon .path="${0}" .class="${0}"></ha-svg-icon> <div class="status"> <p> ${0} </p> </div> </div> ${0} `),this._updateFinishedMessage.success?H:A,i,this.hass.localize(`ui.panel.config.zwave_js.update_firmware.finished_status.${i}`,{device:(0,r.dy)(P||(P=U`<strong>${0}</strong>`),this._deviceName),message:this.hass.localize(`ui.panel.config.zwave_js.update_firmware.finished_status.${this._nodeStatus.is_controller_node?h.i_[this._updateFinishedMessage.status]:h.dK[this._updateFinishedMessage.status]}`)}),this._updateFinishedMessage.success?(0,r.dy)(B||(B=U`<p> ${0} </p>`),this.hass.localize(`ui.panel.config.zwave_js.update_firmware.finished_status.done${t}`)):(0,r.dy)(C||(C=U`<p> ${0} </p> ${0}`),this.hass.localize("ui.panel.config.zwave_js.update_firmware.finished_status.try_again"),e)):this._updateInProgress?(0,r.dy)(w||(w=U` <p> ${0} </p> <p> ${0} </p> ${0} `),this._nodeStatus.status===h.e4.Asleep?this.hass.localize("ui.panel.config.zwave_js.update_firmware.queued",{device:(0,r.dy)($||($=U`<strong>${0}</strong>`),this._deviceName)}):this.hass.localize("ui.panel.config.zwave_js.update_firmware.awake",{device:(0,r.dy)(F||(F=U`<strong>${0}</strong>`),this._deviceName)}),this._nodeStatus.status===h.e4.Asleep?this.hass.localize("ui.panel.config.zwave_js.update_firmware.close_queued",{device:(0,r.dy)(x||(x=U`<strong>${0}</strong>`),this._deviceName)}):this.hass.localize("ui.panel.config.zwave_js.update_firmware.close",{device:(0,r.dy)(z||(z=U`<strong>${0}</strong>`),this._deviceName)}),s):(0,r.dy)(y||(y=U` <p> ${0} </p> ${0} `),this.hass.localize(`ui.panel.config.zwave_js.update_firmware.introduction${t}`,{device:(0,r.dy)(k||(k=U`<strong>${0}</strong>`),this._deviceName)}),e))}},{kind:"method",key:"_fetchData",value:async function(){[this._nodeStatus,this._updateInProgress]=await Promise.all([(0,h.mZ)(this.hass,this.device.id),(0,h.a2)(this.hass,this.device.id)]),this._updateInProgress&&this._subscribeNodeFirmwareUpdate()}},{kind:"method",key:"_beginFirmwareUpdate",value:async function(){this._uploading=!0,this._updateProgressMessage=this._updateFinishedMessage=void 0;try{this._subscribeNodeFirmwareUpdate(),await(0,h.zn)(this.hass,this.device.id,this._firmwareFile,this._firmwareTarget),this._updateInProgress=!0,this._uploading=!1}catch(e){this._unsubscribeNodeFirmwareUpdate(),this._uploading=!1,(0,p.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zwave_js.update_firmware.upload_failed"),text:e.message,confirmText:this.hass.localize("ui.common.close")})}}},{kind:"method",key:"_abortFirmwareUpdate",value:async function(){if(await(0,p.showConfirmationDialog)(this,{text:this.hass.localize("ui.panel.config.zwave_js.update_firmware.confirm_abort",{device:(0,r.dy)(j||(j=U`<strong>${0}</strong>`),this._deviceName)}),dismissText:this.hass.localize("ui.common.no"),confirmText:this.hass.localize("ui.common.yes")})){this._unsubscribeNodeFirmwareUpdate();try{await(0,h.JL)(this.hass,this.device.id)}catch(e){(0,p.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zwave_js.update_firmware.abort_failed"),text:e.message,confirmText:this.hass.localize("ui.common.close")})}this._firmwareFile=void 0,this._updateFinishedMessage=void 0,this._updateProgressMessage=void 0,this._updateInProgress=!1}}},{kind:"method",key:"_subscribeNodeStatus",value:function(){this.hass&&this.device&&!this._subscribedNodeStatus&&(this._subscribedNodeStatus=(0,h.B7)(this.hass,this.device.id,(e=>{this._nodeStatus.status=e.status})))}},{kind:"method",key:"_unsubscribeNodeStatus",value:function(){this._subscribedNodeStatus&&(this._subscribedNodeStatus.then((e=>e())),this._subscribedNodeStatus=void 0)}},{kind:"method",key:"_subscribeNodeFirmwareUpdate",value:function(){this.hass&&this.device&&!this._subscribedNodeFirmwareUpdate&&(this._subscribedNodeFirmwareUpdate=(0,h.IG)(this.hass,this.device.id,(e=>{"firmware update progress"===e.event?this._updateFinishedMessage||(this._updateProgressMessage=e):(this._unsubscribeNodeFirmwareUpdate(),this._updateProgressMessage=void 0,this._updateInProgress=!1,this._updateFinishedMessage=e)})))}},{kind:"method",key:"_unsubscribeNodeFirmwareUpdate",value:function(){this._subscribedNodeFirmwareUpdate&&(this._subscribedNodeFirmwareUpdate.then((e=>e())),this._subscribedNodeFirmwareUpdate=void 0)}},{kind:"method",key:"_firmwareTargetChanged",value:async function(e){this._firmwareTarget=e.detail.value.firmware_target}},{kind:"method",key:"_uploadFile",value:async function(e){this._firmwareFile=e.detail.files[0]}},{kind:"get",static:!0,key:"styles",value:function(){return[v.yu,(0,r.iv)(D||(D=U`.success{color:var(--success-color)}.error{color:var(--error-color)}.flex-container{display:flex;align-items:center;margin-bottom:5px}ha-svg-icon{width:68px;height:48px}`))]}}]}}),r.oi);s()}catch(f){s(f)}}))},90698:function(e,i,t){t.d(i,{d:()=>s});t(49278),t(95078);const s=(e=0,i=2)=>{if(0===e)return"0 Bytes";i=i<0?0:i;const t=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/1024**t).toFixed(i))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][t]}`}}}]); //# sourceMappingURL=72244.00794016cafcafd4.js.map