iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
11 lines • 44.4 kB
JavaScript
export const __webpack_ids__=["81083"];export const __webpack_modules__={59826:function(e,t,i){var a=i(44249),s=i(31622),n=i(57243),o=i(15093),r=i(22344);(0,a.Z)([(0,o.Mo)("ha-button")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",static:!0,key:"styles",value:()=>[r.W,n.iv`::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)}`]}]}}),s.Button)},54977:function(e,t,i){var a=i(44249),s=i(57243),n=i(15093);(0,a.Z)([(0,n.Mo)("ha-card")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)()],key:"header",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"raised",value:()=>!1},{kind:"field",static:!0,key:"styles",value:()=>s.iv`:host{background:var(--ha-card-background,var(--card-background-color,#fff));-webkit-backdrop-filter:var(--ha-card-backdrop-filter,none);backdrop-filter:var(--ha-card-backdrop-filter,none);box-shadow:var(--ha-card-box-shadow,none);box-sizing:border-box;border-radius:var(--ha-card-border-radius,12px);border-width:var(--ha-card-border-width,1px);border-style:solid;border-color:var(--ha-card-border-color,var(--divider-color,#e0e0e0));color:var(--primary-text-color);display:block;transition:all .3s ease-out;position:relative}:host([raised]){border:none;box-shadow:var(--ha-card-box-shadow,0px 2px 1px -1px rgba(0,0,0,.2),0px 1px 1px 0px rgba(0,0,0,.14),0px 1px 3px 0px rgba(0,0,0,.12))}.card-header,:host ::slotted(.card-header){color:var(--ha-card-header-color,var(--primary-text-color));font-family:var(--ha-card-header-font-family, inherit);font-size:var(--ha-card-header-font-size, 24px);letter-spacing:-.012em;line-height:48px;padding:12px 16px 16px;display:block;margin-block-start:0px;margin-block-end:0px;font-weight:400}:host ::slotted(.card-content:not(:first-child)),slot:not(:first-child)::slotted(.card-content){padding-top:0px;margin-top:-8px}:host ::slotted(.card-content){padding:16px}:host ::slotted(.card-actions){border-top:1px solid var(--divider-color,#e8e8e8);padding:5px 16px}`},{kind:"method",key:"render",value:function(){return s.dy` ${this.header?s.dy`<h1 class="card-header">${this.header}</h1>`:s.Ld} <slot></slot> `}}]}}),s.oi)},41307:function(e,t,i){var a=i(44249),s=i(72621),n=i(57243),o=i(15093),r=i(35359),d=i(36522),l=i(76320);i(37583);(0,a.Z)([(0,o.Mo)("ha-expansion-panel")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,o.Cb)({type:Boolean,reflect:!0})],key:"expanded",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)({type:Boolean,reflect:!0})],key:"outlined",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)({attribute:"left-chevron",type:Boolean,reflect:!0})],key:"leftChevron",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)({attribute:"no-collapse",type:Boolean,reflect:!0})],key:"noCollapse",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)()],key:"header",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"secondary",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_showContent",value(){return this.expanded}},{kind:"field",decorators:[(0,o.IO)(".container")],key:"_container",value:void 0},{kind:"method",key:"render",value:function(){const e=this.noCollapse?n.Ld:n.dy` <ha-svg-icon .path="${"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z"}" class="summary-icon ${(0,r.$)({expanded:this.expanded})}"></ha-svg-icon> `;return n.dy` <div class="top ${(0,r.$)({expanded:this.expanded})}"> <div id="summary" class="${(0,r.$)({noCollapse:this.noCollapse})}" @click="${this._toggleContainer}" @keydown="${this._toggleContainer}" @focus="${this._focusChanged}" @blur="${this._focusChanged}" role="button" tabindex="${this.noCollapse?-1:0}" aria-expanded="${this.expanded}" aria-controls="sect1"> ${this.leftChevron?e:n.Ld} <slot name="leading-icon"></slot> <slot name="header"> <div class="header"> ${this.header} <slot class="secondary" name="secondary">${this.secondary}</slot> </div> </slot> ${this.leftChevron?n.Ld:e} <slot name="icons"></slot> </div> </div> <div class="container ${(0,r.$)({expanded:this.expanded})}" @transitionend="${this._handleTransitionEnd}" role="region" aria-labelledby="summary" aria-hidden="${!this.expanded}" tabindex="-1"> ${this._showContent?n.dy`<slot></slot>`:""} </div> `}},{kind:"method",key:"willUpdate",value:function(e){(0,s.Z)(i,"willUpdate",this,3)([e]),e.has("expanded")&&(this._showContent=this.expanded,setTimeout((()=>{this._container.style.overflow=this.expanded?"initial":"hidden"}),300))}},{kind:"method",key:"_handleTransitionEnd",value:function(){this._container.style.removeProperty("height"),this._container.style.overflow=this.expanded?"initial":"hidden",this._showContent=this.expanded}},{kind:"method",key:"_toggleContainer",value:async function(e){if(e.defaultPrevented)return;if("keydown"===e.type&&"Enter"!==e.key&&" "!==e.key)return;if(e.preventDefault(),this.noCollapse)return;const t=!this.expanded;(0,d.B)(this,"expanded-will-change",{expanded:t}),this._container.style.overflow="hidden",t&&(this._showContent=!0,await(0,l.y)());const i=this._container.scrollHeight;this._container.style.height=`${i}px`,t||setTimeout((()=>{this._container.style.height="0px"}),0),this.expanded=t,(0,d.B)(this,"expanded-changed",{expanded:this.expanded})}},{kind:"method",key:"_focusChanged",value:function(e){this.noCollapse||this.shadowRoot.querySelector(".top").classList.toggle("focused","focus"===e.type)}},{kind:"field",static:!0,key:"styles",value:()=>n.iv`:host{display:block}.top{display:flex;align-items:center;border-radius:var(--ha-card-border-radius,12px)}.top.expanded{border-bottom-left-radius:0px;border-bottom-right-radius:0px}.top.focused{background:var(--input-fill-color)}:host([outlined]){box-shadow:none;border-width:1px;border-style:solid;border-color:var(--outline-color);border-radius:var(--ha-card-border-radius,12px)}.summary-icon{transition:transform 150ms cubic-bezier(.4, 0, .2, 1);direction:var(--direction);margin-left:8px;margin-inline-start:8px;margin-inline-end:initial}::slotted([slot=leading-icon]),:host([left-chevron]) .summary-icon{margin-left:0;margin-right:8px;margin-inline-start:0;margin-inline-end:8px}#summary{flex:1;display:flex;padding:var(--expansion-panel-summary-padding,0 8px);min-height:48px;align-items:center;cursor:pointer;overflow:hidden;font-weight:500;outline:0}#summary.noCollapse{cursor:default}.summary-icon.expanded{transform:rotate(180deg)}.header,::slotted([slot=header]){flex:1}.container{padding:var(--expansion-panel-content-padding,0 8px);overflow:hidden;transition:height .3s cubic-bezier(.4, 0, .2, 1);height:0px}.container.expanded{height:auto}.secondary{display:block;color:var(--secondary-text-color);font-size:12px}`}]}}),n.oi)},20130:function(e,t,i){var a=i(44249),s=i(72621),n=i(39785),o=i(52876),r=i(15093),d=i(57243),l=i(5111);(0,a.Z)([(0,r.Mo)("ha-fab")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"method",key:"firstUpdated",value:function(e){(0,s.Z)(i,"firstUpdated",this,3)([e]),this.style.setProperty("--mdc-theme-secondary","var(--primary-color)")}},{kind:"field",static:!0,key:"styles",value:()=>[o.W,d.iv`:host .mdc-fab--extended .mdc-fab__icon{margin-inline-start:-8px;margin-inline-end:12px;direction:var(--direction)}:disabled{--mdc-theme-secondary:var(--disabled-text-color);pointer-events:none}`,"rtl"===l.E.document.dir?d.iv`:host .mdc-fab--extended .mdc-fab__icon{direction:rtl}`:d.iv``]}]}}),n._)},13928:function(e,t,i){i.r(t),i.d(t,{HaIconNext:()=>r});var a=i(44249),s=i(15093),n=i(5111),o=i(37583);let r=(0,a.Z)([(0,s.Mo)("ha-icon-next")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)()],key:"path",value:()=>"rtl"===n.E.document.dir?"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z":"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"}]}}),o.HaSvgIcon)},23243:function(e,t,i){i.a(e,(async function(e,t){try{var a=i(44249),s=i(72621),n=i(26749),o=i(77118),r=i(57243),d=i(15093),l=e([n]);n=(l.then?(await l)():l)[0];(0,a.Z)([(0,d.Mo)("ha-progress-ring")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,d.Cb)()],key:"size",value:void 0},{kind:"method",key:"updated",value:function(e){if((0,s.Z)(i,"updated",this,3)([e]),e.has("size"))switch(this.size){case"tiny":this.style.setProperty("--ha-progress-ring-size","16px");break;case"small":this.style.setProperty("--ha-progress-ring-size","28px");break;case"medium":this.style.setProperty("--ha-progress-ring-size","48px");break;case"large":this.style.setProperty("--ha-progress-ring-size","68px");break;case void 0:this.style.removeProperty("--ha-progress-ring-size")}}},{kind:"field",static:!0,key:"styles",value:()=>[o.Z,r.iv`:host{--indicator-color:var(
--ha-progress-ring-indicator-color,
var(--primary-color)
);--track-color:var(
--ha-progress-ring-divider-color,
var(--divider-color)
);--track-width:4px;--speed:3.5s;--size:var(--ha-progress-ring-size, 48px)}`]}]}}),n.Z);t()}catch(e){t(e)}}))},17170:function(e,t,i){i.a(e,(async function(e,a){try{i.r(t),i.d(t,{HaSpinner:()=>h});var s=i(44249),n=i(72621),o=i(97677),r=i(43580),d=i(57243),l=i(15093),c=e([o]);o=(c.then?(await c)():c)[0];let h=(0,s.Z)([(0,l.Mo)("ha-spinner")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,l.Cb)()],key:"size",value:void 0},{kind:"method",key:"updated",value:function(e){if((0,n.Z)(i,"updated",this,3)([e]),e.has("size"))switch(this.size){case"tiny":this.style.setProperty("--ha-spinner-size","16px");break;case"small":this.style.setProperty("--ha-spinner-size","28px");break;case"medium":this.style.setProperty("--ha-spinner-size","48px");break;case"large":this.style.setProperty("--ha-spinner-size","68px");break;case void 0:this.style.removeProperty("--ha-progress-ring-size")}}},{kind:"field",static:!0,key:"styles",value:()=>[r.Z,d.iv`:host{--indicator-color:var(
--ha-spinner-indicator-color,
var(--primary-color)
);--track-color:var(--ha-spinner-divider-color, var(--divider-color));--track-width:4px;--speed:3.5s;font-size:var(--ha-spinner-size, 48px)}`]}]}}),o.Z);a()}catch(e){a(e)}}))},45594:function(e,t,i){i.d(t,{Fv:()=>o,e1:()=>n,eH:()=>a,lJ:()=>s});const a=(e,t)=>e.callApi("POST","config/config_entries/options/flow",{handler:t,show_advanced_options:Boolean(e.userData?.showAdvanced)}),s=(e,t)=>e.callApi("GET",`config/config_entries/options/flow/${t}`),n=(e,t,i)=>e.callApi("POST",`config/config_entries/options/flow/${t}`,i),o=(e,t)=>e.callApi("DELETE",`config/config_entries/options/flow/${t}`)},79011:function(e,t,i){i.d(t,{$c:()=>D,AC:()=>V,B7:()=>I,BP:()=>$,CS:()=>P,Db:()=>ee,Hr:()=>M,IG:()=>J,JL:()=>G,JT:()=>z,LD:()=>Y,Mb:()=>C,N2:()=>l,NZ:()=>E,OE:()=>H,OV:()=>_,PE:()=>y,Qf:()=>k,TA:()=>c,TW:()=>a,UL:()=>X,Uf:()=>o,ZE:()=>ie,a2:()=>N,aK:()=>v,cB:()=>ae,dK:()=>r,e4:()=>p,f$:()=>x,i_:()=>d,is:()=>n,kL:()=>L,kM:()=>h,kV:()=>R,lB:()=>w,lo:()=>O,mE:()=>K,mZ:()=>j,n7:()=>Q,nk:()=>T,pS:()=>B,pr:()=>m,rD:()=>Z,rs:()=>g,rv:()=>u,tt:()=>s,vN:()=>F,vS:()=>S,wg:()=>U,wz:()=>f,xF:()=>A,xK:()=>b,xw:()=>te,yD:()=>W,zn:()=>q});let a=function(e){return e[e.Idle=0]="Idle",e[e.Including=1]="Including",e[e.Excluding=2]="Excluding",e[e.Busy=3]="Busy",e[e.SmartStart=4]="SmartStart",e}({}),s=function(e){return e[e.Default=0]="Default",e[e.SmartStart=1]="SmartStart",e[e.Insecure=2]="Insecure",e[e.Security_S0=3]="Security_S0",e[e.Security_S2=4]="Security_S2",e}({}),n=function(e){return e[e.Temporary=-2]="Temporary",e[e.None=-1]="None",e[e.S2_Unauthenticated=0]="S2_Unauthenticated",e[e.S2_Authenticated=1]="S2_Authenticated",e[e.S2_AccessControl=2]="S2_AccessControl",e[e.S0_Legacy=7]="S0_Legacy",e}({}),o=function(e){return e[e.SmartStart=0]="SmartStart",e}({});let r=function(e){return e[e.Error_Timeout=-1]="Error_Timeout",e[e.Error_Checksum=0]="Error_Checksum",e[e.Error_TransmissionFailed=1]="Error_TransmissionFailed",e[e.Error_InvalidManufacturerID=2]="Error_InvalidManufacturerID",e[e.Error_InvalidFirmwareID=3]="Error_InvalidFirmwareID",e[e.Error_InvalidFirmwareTarget=4]="Error_InvalidFirmwareTarget",e[e.Error_InvalidHeaderInformation=5]="Error_InvalidHeaderInformation",e[e.Error_InvalidHeaderFormat=6]="Error_InvalidHeaderFormat",e[e.Error_InsufficientMemory=7]="Error_InsufficientMemory",e[e.Error_InvalidHardwareVersion=8]="Error_InvalidHardwareVersion",e[e.OK_WaitingForActivation=253]="OK_WaitingForActivation",e[e.OK_NoRestart=254]="OK_NoRestart",e[e.OK_RestartPending=255]="OK_RestartPending",e}({}),d=function(e){return e[e.Error_Timeout=0]="Error_Timeout",e[e.Error_RetryLimitReached=1]="Error_RetryLimitReached",e[e.Error_Aborted=2]="Error_Aborted",e[e.Error_NotSupported=3]="Error_NotSupported",e[e.OK=255]="OK",e}({});const l=52;let c=function(e){return e[e.NotAvailable=127]="NotAvailable",e[e.ReceiverSaturated=126]="ReceiverSaturated",e[e.NoSignalDetected=125]="NoSignalDetected",e}({}),h=function(e){return e[e.ZWave_9k6=1]="ZWave_9k6",e[e.ZWave_40k=2]="ZWave_40k",e[e.ZWave_100k=3]="ZWave_100k",e[e.LongRange_100k=4]="LongRange_100k",e}({}),p=function(e){return e[e.Unknown=0]="Unknown",e[e.Asleep=1]="Asleep",e[e.Awake=2]="Awake",e[e.Dead=3]="Dead",e[e.Alive=4]="Alive",e}({});const u=(e,t,i,a,s,n,o)=>e.callWS({type:"zwave_js/invoke_cc_api",device_id:t,command_class:i,endpoint:a,method_name:s,parameters:n,wait_for_result:o}),_=(e,t)=>{if(t.device_id&&t.entry_id)throw new Error("Only one of device or entry ID should be supplied.");if(!t.device_id&&!t.entry_id)throw new Error("Either device or entry ID should be supplied.");return e.callWS({type:"zwave_js/network_status",device_id:t.device_id,entry_id:t.entry_id})},v=(e,t)=>e.callWS({type:"zwave_js/data_collection_status",entry_id:t}),g=(e,t,i)=>e.callWS({type:"zwave_js/update_data_collection_preference",entry_id:t,opted_in:i}),m=(e,t)=>e.callWS({type:"zwave_js/get_provisioning_entries",entry_id:t}),f=(e,t,i,a,n,o,r,d=s.Default)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/add_node",entry_id:t,inclusion_strategy:d,qr_code_string:n,qr_provisioning_information:a,planned_provisioning_entry:o,dsk:r}),y=(e,t)=>e.callWS({type:"zwave_js/stop_inclusion",entry_id:t}),b=(e,t,i,a)=>e.callWS({type:"zwave_js/grant_security_classes",entry_id:t,securityClasses:i,clientSideAuth:a}),w=(e,t,i)=>e.callWS({type:"zwave_js/try_parse_dsk_from_qr_code_string",entry_id:t,qr_code_string:i}),k=(e,t,i)=>e.callWS({type:"zwave_js/validate_dsk_and_enter_pin",entry_id:t,pin:i}),z=(e,t,i)=>e.callWS({type:"zwave_js/supports_feature",entry_id:t,feature:i}),$=(e,t,i)=>e.callWS({type:"zwave_js/parse_qr_code_string",entry_id:t,qr_code_string:i}),x=(e,t,i,a,s)=>e.callWS({type:"zwave_js/provision_smart_start_node",entry_id:t,qr_code_string:a,qr_provisioning_information:i,planned_provisioning_entry:s}),S=(e,t,i,a)=>e.callWS({type:"zwave_js/unprovision_smart_start_node",entry_id:t,dsk:i,node_id:a}),j=(e,t)=>e.callWS({type:"zwave_js/node_status",device_id:t}),E=(e,t)=>e.callWS({type:"zwave_js/node_capabilities",device_id:t}),I=(e,t,i)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/subscribe_node_status",device_id:t}),C=(e,t)=>e.callWS({type:"zwave_js/node_metadata",device_id:t}),P=(e,t)=>e.callWS({type:"zwave_js/node_alerts",device_id:t}),L=(e,t)=>e.callWS({type:"zwave_js/get_config_parameters",device_id:t}),W=(e,t,i,a,s,n)=>{const o={type:"zwave_js/set_config_parameter",device_id:t,property:i,endpoint:a,value:s,property_key:n};return e.callWS(o)},B=(e,t,i,a,s,n)=>{const o={type:"zwave_js/set_raw_config_parameter",device_id:t,property:i,value:a,value_size:s,value_format:n};return e.callWS(o)},D=(e,t,i)=>e.callWS({type:"zwave_js/get_raw_config_parameter",device_id:t,property:i}).then((e=>e.value)),F=(e,t,i)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/refresh_node_info",device_id:t}),A=(e,t)=>e.callWS({type:"zwave_js/rebuild_node_routes",device_id:t}),M=(e,t,i)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/remove_failed_node",device_id:t}),T=(e,t)=>e.callWS({type:"zwave_js/begin_rebuilding_routes",entry_id:t}),Z=(e,t)=>e.callWS({type:"zwave_js/stop_rebuilding_routes",entry_id:t}),H=(e,t,i)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/subscribe_rebuild_routes_progress",entry_id:t}),R=(e,t,i)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/subscribe_controller_statistics",entry_id:t}),O=(e,t,i)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/subscribe_node_statistics",device_id:t}),U=(e,t,i)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/subscribe_s2_inclusion",entry_id:t}),N=(e,t)=>e.callWS({type:"zwave_js/is_node_firmware_update_in_progress",device_id:t}),V=(e,t)=>e.callWS({type:"zwave_js/is_any_ota_firmware_update_in_progress",entry_id:t}),K=(e,t)=>e.callWS({type:"zwave_js/hard_reset_controller",entry_id:t}),q=async(e,t,i,a)=>{const s=new FormData;s.append("file",i),void 0!==a&&s.append("target",a.toString());const n=await e.fetchWithAuth(`/api/zwave_js/firmware/upload/${t}`,{method:"POST",body:s});if(200!==n.status)throw new Error(n.statusText)},J=(e,t,i)=>e.connection.subscribeMessage((e=>i(e)),{type:"zwave_js/subscribe_firmware_update_status",device_id:t}),G=(e,t)=>e.callWS({type:"zwave_js/abort_firmware_update",device_id:t}),Q=(e,t,i)=>e.connection.subscribeMessage(i,{type:"zwave_js/backup_nvm",entry_id:t}),X=(e,t,i,a)=>e.connection.subscribeMessage(a,{type:"zwave_js/restore_nvm",entry_id:t,data:i}),Y=(e,t,i)=>e.connection.subscribeMessage(i,{type:"zwave_js/subscribe_log_updates",entry_id:t}),ee=(e,t)=>e.callWS({type:"zwave_js/get_log_config",entry_id:t}),te=(e,t,i)=>e.callWS({type:"zwave_js/update_log_config",entry_id:t,config:{level:i}}),ie=e=>e.callWS({type:"zwave_js/get_integration_settings"}),ae=(e,t)=>e.callWS({type:"zwave_js/cancel_secure_bootstrap_s2",entry_id:t})},7956:function(e,t,i){i.d(t,{w:()=>n});var a=i(36522);const s=()=>Promise.all([i.e("46379"),i.e("66031"),i.e("72206"),i.e("97983"),i.e("24199"),i.e("27506"),i.e("83895"),i.e("58640"),i.e("2981"),i.e("1562"),i.e("84503"),i.e("27090"),i.e("19882")]).then(i.bind(i,12656)),n=(e,t,i)=>{(0,a.B)(e,"show-dialog",{dialogTag:"dialog-data-entry-flow",dialogImport:s,dialogParams:{...t,flowConfig:i,dialogParentElement:e}})}},91854:function(e,t,i){i.d(t,{c:()=>r});var a=i(57243),s=i(57816),n=i(45594),o=i(7956);const r=(e,t,i)=>(0,o.w)(e,{startFlowHandler:t.entry_id,domain:t.domain,...i},{flowType:"options_flow",showDevices:!1,createFlow:async(e,i)=>{const[a]=await Promise.all([(0,n.eH)(e,i),e.loadFragmentTranslation("config"),e.loadBackendTranslation("options",t.domain),e.loadBackendTranslation("selector",t.domain)]);return a},fetchFlow:async(e,i)=>{const[a]=await Promise.all([(0,n.lJ)(e,i),e.loadFragmentTranslation("config"),e.loadBackendTranslation("options",t.domain),e.loadBackendTranslation("selector",t.domain)]);return a},handleFlowStep:n.e1,deleteFlow:n.Fv,renderAbortDescription(e,i){const s=e.localize(`component.${i.translation_domain||t.domain}.options.abort.${i.reason}`,i.description_placeholders);return s?a.dy` <ha-markdown breaks allow-svg .content="${s}"></ha-markdown> `:i.reason},renderShowFormStepHeader:(e,i)=>e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.title`,i.description_placeholders)||e.localize("ui.dialogs.options_flow.form.header"),renderShowFormStepDescription(e,i){const s=e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.description`,i.description_placeholders);return s?a.dy` <ha-markdown allow-svg breaks .content="${s}"></ha-markdown> `:""},renderShowFormStepFieldLabel(e,i,a,s){if("expandable"===a.type)return e.localize(`component.${t.domain}.options.step.${i.step_id}.sections.${a.name}.name`);const n=s?.path?.[0]?`sections.${s.path[0]}.`:"";return e.localize(`component.${t.domain}.options.step.${i.step_id}.${n}data.${a.name}`)||a.name},renderShowFormStepFieldHelper(e,i,s,n){if("expandable"===s.type)return e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.sections.${s.name}.description`);const o=n?.path?.[0]?`sections.${n.path[0]}.`:"",r=e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.${o}data_description.${s.name}`,i.description_placeholders);return r?a.dy`<ha-markdown breaks .content="${r}"></ha-markdown>`:""},renderShowFormStepFieldError:(e,i,a)=>e.localize(`component.${i.translation_domain||t.domain}.options.error.${a}`,i.description_placeholders)||a,renderShowFormStepFieldLocalizeValue:(e,i,a)=>e.localize(`component.${t.domain}.selector.${a}`),renderShowFormStepSubmitButton:(e,i)=>e.localize(`component.${t.domain}.options.step.${i.step_id}.submit`)||e.localize("ui.panel.config.integrations.config_flow."+(!1===i.last_step?"next":"submit")),renderExternalStepHeader:(e,t)=>"",renderExternalStepDescription:(e,t)=>"",renderCreateEntryDescription:(e,t)=>a.dy` <p>${e.localize("ui.dialogs.options_flow.success.description")}</p> `,renderShowFormProgressHeader:(e,i)=>e.localize(`component.${t.domain}.options.step.${i.step_id}.title`)||e.localize(`component.${t.domain}.title`),renderShowFormProgressDescription(e,i){const s=e.localize(`component.${i.translation_domain||t.domain}.options.progress.${i.progress_action}`,i.description_placeholders);return s?a.dy` <ha-markdown allow-svg breaks .content="${s}"></ha-markdown> `:""},renderMenuHeader:(e,i)=>e.localize(`component.${t.domain}.options.step.${i.step_id}.title`)||e.localize(`component.${t.domain}.title`),renderMenuDescription(e,i){const s=e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.description`,i.description_placeholders);return s?a.dy` <ha-markdown allow-svg breaks .content="${s}"></ha-markdown> `:""},renderMenuOption:(e,i,a)=>e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.menu_options.${a}`,i.description_placeholders),renderLoadingDescription:(e,i)=>e.localize(`component.${t.domain}.options.loading`)||("loading_flow"===i||"loading_step"===i?e.localize(`ui.dialogs.options_flow.loading.${i}`,{integration:(0,s.Lh)(e.localize,t.domain)}):"")})},91395:function(e,t,i){i.d(t,{B:()=>n});var a=i(36522);const s=()=>Promise.all([i.e("46379"),i.e("66031"),i.e("72206"),i.e("91552"),i.e("97983"),i.e("25618"),i.e("78456"),i.e("56898"),i.e("83895"),i.e("29570"),i.e("71588"),i.e("7010"),i.e("20414"),i.e("87810")]).then(i.bind(i,10772)),n=(e,t)=>{(0,a.B)(e,"show-dialog",{dialogTag:"dialog-zwave_js-add-node",dialogImport:s,dialogParams:t})}},19752:function(e,t,i){i.d(t,{D:()=>n});var a=i(36522);const s=()=>Promise.all([i.e("97983"),i.e("40866")]).then(i.bind(i,81410)),n=(e,t)=>{(0,a.B)(e,"show-dialog",{dialogTag:"dialog-zwave_js-rebuild-network-routes",dialogImport:s,dialogParams:t})}},15546:function(e,t,i){i.d(t,{W:()=>n});var a=i(36522);const s=()=>Promise.all([i.e("97983"),i.e("61427")]).then(i.bind(i,19767)),n=(e,t)=>{(0,a.B)(e,"show-dialog",{dialogTag:"dialog-zwave_js-remove-node",dialogImport:s,dialogParams:t})}},35843:function(e,t,i){i.a(e,(async function(e,a){try{i.r(t);var s=i(44249),n=(i(26200),i(25754),i(22246),i(9359),i(56475),i(1331),i(48136),i(71375),i(15524),i(20267),i(21917),i(56193),i(25020),i(86913),i(21478),i(75656),i(50100),i(18084),i(2060),i(87319),i(57243)),o=i(15093),r=i(35359),d=(i(54977),i(41307),i(20130),i(17170)),l=(i(23334),i(59826),i(13928),i(37583),i(23243)),c=i(75101),h=i(79011),p=i(91854),u=i(76131),_=(i(97546),i(6736)),v=i(28008),g=i(91395),m=i(19752),f=i(15546),y=i(33349),b=i(58014),w=e([d,l]);[d,l]=w.then?(await w)():w;const k="M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",z="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",$="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",x="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",S="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z";(0,s.Z)([(0,o.Mo)("zwave_js-config-dashboard")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"route",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)({attribute:"is-wide",type:Boolean})],key:"isWide",value:()=>!1},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"configEntryId",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_configEntry",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_network",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_provisioningEntries",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_status",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_icon",value:()=>$},{kind:"field",decorators:[(0,o.SB)()],key:"_dataCollectionOptIn",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_statistics",value:void 0},{kind:"field",key:"_dialogOpen",value:()=>!1},{kind:"field",key:"_s2InclusionUnsubscribe",value:void 0},{kind:"field",key:"_unsubscribeBackup",value:void 0},{kind:"field",key:"_unsubscribeRestore",value:void 0},{kind:"field",key:"_backupProgress",value:void 0},{kind:"field",key:"_restoreProgress",value:void 0},{kind:"method",key:"firstUpdated",value:async function(){if(this.hass&&(await this._fetchData(),"connected"===this._status)){const e=this._network?.controller.inclusion_state;e===h.TW.Including?this._addNodeClicked():e===h.TW.Excluding&&this._removeNodeClicked()}}},{kind:"method",key:"hassSubscribe",value:function(){return[(0,h.kV)(this.hass,this.configEntryId,(e=>{this.hasUpdated&&(this._statistics=e)})),this._subscribeS2Inclusion()]}},{kind:"method",key:"render",value:function(){if(!this._configEntry)return n.Ld;if(c.LZ.includes(this._configEntry.state))return this._renderErrorScreen();const e=this._network?.controller.nodes.filter((e=>!e.ready)).length??0;return n.dy` <hass-tabs-subpage .hass="${this.hass}" .narrow="${this.narrow}" .route="${this.route}" .tabs="${y.configTabs}"> <ha-icon-button slot="toolbar-icon" @click="${this._fetchData}" .path="${S}" .label="${this.hass.localize("ui.common.refresh")}"></ha-icon-button> ${this._network?n.dy` <ha-card class="content network-status"> <div class="card-content"> <div class="heading"> <div class="icon"> ${"disconnected"===this._status?n.dy`<ha-spinner></ha-spinner>`:n.dy` <ha-svg-icon .path="${this._icon}" class="network-status-icon ${(0,r.$)({[this._status]:!0})}" slot="item-icon"></ha-svg-icon> `} </div> ${"disconnected"!==this._status?n.dy` <div class="details"> Z-Wave ${this.hass.localize("ui.panel.config.zwave_js.common.network")} ${this.hass.localize(`ui.panel.config.zwave_js.network_status.${this._status}`)}<br> <small> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.devices",{count:this._network.controller.nodes.length})} ${e>0?n.dy`(${this.hass.localize("ui.panel.config.zwave_js.dashboard.not_ready",{count:e})})`:n.Ld} </small> </div> `:n.Ld} </div> </div> <div class="card-actions"> <a href="${`/config/devices/dashboard?historyBack=1&config_entry=${this.configEntryId}`}"> <ha-button> ${this.hass.localize("ui.panel.config.devices.caption")} </ha-button> </a> <a href="${`/config/entities/dashboard?historyBack=1&config_entry=${this.configEntryId}`}"> <ha-button> ${this.hass.localize("ui.panel.config.entities.caption")} </ha-button> </a> ${this._provisioningEntries?.length?n.dy`<a href="${`provisioned?config_entry=${this.configEntryId}`}"><ha-button> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.provisioned_devices")} </ha-button></a>`:n.Ld} </div> </ha-card> <ha-card header="Diagnostics"> <div class="card-content"> <div class="row"> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.driver_version")}: </span> <span>${this._network.client.driver_version}</span> </div> <div class="row"> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.server_version")}: </span> <span>${this._network.client.server_version}</span> </div> <div class="row"> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.home_id")}: </span> <span>${this._network.controller.home_id}</span> </div> <div class="row"> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.server_url")}: </span> <span>${this._network.client.ws_server_url}</span> </div> <br> <ha-expansion-panel .header="${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.title")}"> <mwc-list noninteractive> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.messages_tx.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.messages_tx.tooltip")} </span> <span slot="meta">${this._statistics?.messages_tx??0}</span> </mwc-list-item> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.messages_rx.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.messages_rx.tooltip")} </span> <span slot="meta">${this._statistics?.messages_rx??0}</span> </mwc-list-item> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.messages_dropped_tx.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.messages_dropped_tx.tooltip")} </span> <span slot="meta">${this._statistics?.messages_dropped_tx??0}</span> </mwc-list-item> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.messages_dropped_rx.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.messages_dropped_rx.tooltip")} </span> <span slot="meta">${this._statistics?.messages_dropped_rx??0}</span> </mwc-list-item> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.nak.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.nak.tooltip")} </span> <span slot="meta">${this._statistics?.nak??0}</span> </mwc-list-item> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.can.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.can.tooltip")} </span> <span slot="meta">${this._statistics?.can??0}</span> </mwc-list-item> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.timeout_ack.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.timeout_ack.tooltip")} </span> <span slot="meta">${this._statistics?.timeout_ack??0}</span> </mwc-list-item> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.timeout_response.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.timeout_response.tooltip")} </span> <span slot="meta">${this._statistics?.timeout_response??0}</span> </mwc-list-item> <mwc-list-item twoline hasmeta> <span> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.timeout_callback.label")} </span> <span slot="secondary"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.statistics.timeout_callback.tooltip")} </span> <span slot="meta">${this._statistics?.timeout_callback??0}</span> </mwc-list-item> </mwc-list> </ha-expansion-panel> </div> <div class="card-actions"> <ha-button @click="${this._removeNodeClicked}" .disabled="${"connected"!==this._status||this._network?.controller.inclusion_state!==h.TW.Idle&&this._network?.controller.inclusion_state!==h.TW.SmartStart}"> ${this.hass.localize("ui.panel.config.zwave_js.common.remove_node")} </ha-button> <ha-button @click="${this._rebuildNetworkRoutesClicked}" .disabled="${"disconnected"===this._status}"> ${this.hass.localize("ui.panel.config.zwave_js.common.rebuild_network_routes")} </ha-button> <ha-button @click="${this._openOptionFlow}"> ${this.hass.localize("ui.panel.config.zwave_js.common.reconfigure_server")} </ha-button> </div> </ha-card> <ha-card> <div class="card-header"> <h1>Third-Party Data Reporting</h1> ${void 0!==this._dataCollectionOptIn?n.dy` <ha-switch .checked="${!0===this._dataCollectionOptIn}" @change="${this._dataCollectionToggled}"></ha-switch> `:n.dy` <ha-spinner size="small"></ha-spinner> `} </div> <div class="card-content"> <p> Enable the reporting of anonymized telemetry and statistics to the <em>Z-Wave JS organization</em>. This data will be used to focus development efforts and improve the user experience. Information about the data that is collected and how it is used, including an example of the data collected, can be found in the <a target="_blank" href="https://zwave-js.github.io/node-zwave-js/#/data-collection/data-collection">Z-Wave JS data collection documentation</a>. </p> </div> </ha-card> <ha-card .header="${this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.title")}"> <div class="card-content"> <p> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.description")} </p> </div> <div class="card-actions"> ${void 0!==this._backupProgress?n.dy`<ha-progress-ring size="small" .value="${this._backupProgress}"></ha-progress-ring> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.downloading")} ${this._backupProgress}%`:void 0!==this._restoreProgress?n.dy`<ha-progress-ring size="small" .value="${this._restoreProgress}"></ha-progress-ring> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.restoring")} ${this._restoreProgress}%`:n.dy`<ha-button @click="${this._downloadBackup}"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.download_backup")} </ha-button> <div class="upload-button"> <ha-button @click="${this._restoreButtonClick}" class="warning"> <span class="button-content"> ${this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.restore_backup")} </span> </ha-button> <input type="file" id="nvm-restore-file" accept=".bin" @change="${this._handleRestoreFileSelected}" style="display:none"> </div>`} </div> </ha-card> `:n.Ld} <ha-fab slot="fab" .label="${this.hass.localize("ui.panel.config.zwave_js.common.add_node")}" extended @click="${this._addNodeClicked}" .disabled="${"connected"!==this._status||this._network?.controller.inclusion_state!==h.TW.Idle&&this._network?.controller.inclusion_state!==h.TW.SmartStart}"> <ha-svg-icon slot="icon" .path="${x}"></ha-svg-icon> </ha-fab> </hass-tabs-subpage> `}},{kind:"method",key:"_renderErrorScreen",value:function(){const e=this._configEntry;let t,i;return e.disabled_by?(t=["ui.panel.config.integrations.config_entry.disable.disabled_cause",{cause:this.hass.localize(`ui.panel.config.integrations.config_entry.disable.disabled_by.${e.disabled_by}`)||e.disabled_by}],"failed_unload"===e.state&&(i=n.dy`. ${this.hass.localize("ui.panel.config.integrations.config_entry.disable_restart_confirm")}.`)):"not_loaded"===e.state?t=["ui.panel.config.integrations.config_entry.not_loaded"]:c.LZ.includes(e.state)&&(t=[`ui.panel.config.integrations.config_entry.state.${e.state}`],e.reason?(this.hass.loadBackendTranslation("config",e.domain),i=n.dy` ${this.hass.localize(`component.${e.domain}.config.error.${e.reason}`)||e.reason}`):i=n.dy` <br> <a href="/config/logs?filter=zwave_js">${this.hass.localize("ui.panel.config.integrations.config_entry.check_the_logs")}</a> `),n.dy` ${t?n.dy` <div class="error-message"> <ha-svg-icon .path="${k}"></ha-svg-icon> <h3> ${this._configEntry.title}: ${this.hass.localize(...t)} </h3> <p>${i}</p> <ha-button @click="${this._handleBack}"> ${this.hass?.localize("ui.common.back")} </ha-button> </div> `:n.Ld}`}},{kind:"method",key:"_handleBack",value:function(){history.back()}},{kind:"method",key:"_fetchData",value:async function(){if(!this.configEntryId)return;const e=await(0,c.pB)(this.hass,{domain:"zwave_js"});if(this._configEntry=e.find((e=>e.entry_id===this.configEntryId)),c.LZ.includes(this._configEntry.state))return;const[t,i,a]=await Promise.all([(0,h.OV)(this.hass,{entry_id:this.configEntryId}),(0,h.aK)(this.hass,this.configEntryId),(0,h.pr)(this.hass,this.configEntryId)]);this._provisioningEntries=a,this._network=t,this._status=this._network.client.state,"connected"===this._status&&(this._icon=z),this._dataCollectionOptIn=!0===i.opted_in||!0===i.enabled}},{kind:"method",key:"_addNodeClicked",value:async function(){this._openInclusionDialog()}},{kind:"method",key:"_removeNodeClicked",value:async function(){(0,f.W)(this,{entry_id:this.configEntryId,skipConfirmation:this._network?.controller.inclusion_state===h.TW.Excluding,removedCallback:()=>this._fetchData()})}},{kind:"method",key:"_rebuildNetworkRoutesClicked",value:async function(){(0,m.D)(this,{entry_id:this.configEntryId})}},{kind:"method",key:"_dataCollectionToggled",value:function(e){(0,h.rs)(this.hass,this.configEntryId,e.target.checked)}},{kind:"method",key:"_openOptionFlow",value:async function(){if(!this.configEntryId)return;const e=(await(0,c.pB)(this.hass,{domain:"zwave_js"})).find((e=>e.entry_id===this.configEntryId));(0,p.c)(this,e)}},{kind:"method",key:"_downloadBackup",value:async function(){try{this._backupProgress=0,this._unsubscribeBackup=await(0,h.n7)(this.hass,this.configEntryId,this._handleBackupMessage)}catch(e){this._backupProgress=void 0,(0,u.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.backup_failed"),text:e.message,warning:!0})}}},{kind:"method",key:"_restoreButtonClick",value:function(){const e=this.shadowRoot?.querySelector("#nvm-restore-file");e?.click()}},{kind:"method",key:"_handleRestoreFileSelected",value:async function(e){const t=e.target.files?.[0];if(!t)return;const i=e.target;try{this._restoreProgress=0;const e=await new Promise(((e,i)=>{const a=new FileReader;a.onload=()=>{const t=a.result,i=btoa(new Uint8Array(t).reduce(((e,t)=>e+String.fromCharCode(t)),""));e(i)},a.onerror=()=>i(new Error("Failed to read file")),a.readAsArrayBuffer(t)}));this._unsubscribeRestore=await(0,h.UL)(this.hass,this.configEntryId,e,this._handleRestoreMessage)}catch(e){(0,u.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.restore_failed"),text:e.message,warning:!0}),this._restoreProgress=void 0}i.value=""}},{kind:"method",key:"_openInclusionDialog",value:function(e){this._dialogOpen||(this._s2InclusionUnsubscribe&&(this._s2InclusionUnsubscribe.then((e=>e())),this._s2InclusionUnsubscribe=void 0),(0,g.B)(this,{entry_id:this.configEntryId,dsk:e,onStop:this._handleInclusionDialogClosed}),this._dialogOpen=!0)}},{kind:"field",key:"_handleInclusionDialogClosed",value(){return()=>{setTimeout((()=>this._fetchData()),100),this._dialogOpen=!1,this._subscribeS2Inclusion()}}},{kind:"method",key:"_subscribeS2Inclusion",value:function(){return this._s2InclusionUnsubscribe=(0,h.wg)(this.hass,this.configEntryId,(e=>{this._openInclusionDialog(e.dsk)})),this._s2InclusionUnsubscribe}},{kind:"field",key:"_handleBackupMessage",value(){return e=>{if("finished"===e.event){this._backupProgress=void 0,this._unsubscribeBackup?.(),this._unsubscribeBackup=void 0;try{const t=new Blob([Uint8Array.from(atob(e.data),(e=>e.charCodeAt(0)))],{type:"application/octet-stream"}),i=URL.createObjectURL(t);(0,b.N)(i,`zwave_js_backup_${(new Date).toISOString().replace(/[:.]/g,"-")}.bin`),URL.revokeObjectURL(i)}catch(e){(0,u.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.backup_failed"),text:e.message,warning:!0})}}else"nvm backup progress"===e.event&&(this._backupProgress=Math.round(e.bytesRead/e.total*100))}}},{kind:"field",key:"_handleRestoreMessage",value(){return e=>{"finished"===e.event?(this._restoreProgress=void 0,this._unsubscribeRestore?.(),this._unsubscribeRestore=void 0,(0,u.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zwave_js.dashboard.nvm_backup.restore_complete")}),this._fetchData()):"nvm convert progress"===e.event?this._restoreProgress=Math.round(e.bytesRead/e.total*50):"nvm restore progress"===e.event&&(this._restoreProgress=Math.round(e.bytesWritten/e.total*50)+50)}}},{kind:"get",static:!0,key:"styles",value:function(){return[v.Qx,n.iv`.secondary{color:var(--secondary-text-color)}.connected{color:green}.starting{color:orange}.offline{color:red}.error-message{display:flex;color:var(--primary-text-color);height:calc(100% - var(--header-height));padding:16px;align-items:center;justify-content:center;flex-direction:column}.error-message h3{text-align:center;font-weight:700}.error-message ha-svg-icon{color:var(--error-color);width:64px;height:64px}.content{margin-top:24px}.sectionHeader{position:relative;padding-right:40px;padding-inline-end:40px;padding-inline-start:initial}.row{display:flex;justify-content:space-between}span[slot=meta]{font-size:.95em;color:var(--primary-text-color)}.network-status div.heading{display:flex;align-items:center}.network-status div.heading .icon{width:48px;height:48px;margin-right:16px;margin-inline-end:16px;margin-inline-start:initial}.network-status div.heading ha-svg-icon{width:48px;height:48px}.network-status div.heading .details{font-size:1.5rem}.network-status small{font-size:1rem}mwc-list-item{height:60px}.card-header{display:flex}.card-header h1{flex:1}.card-header ha-switch{width:48px;margin-top:16px}ha-card{margin:0px auto 24px;max-width:600px}.card-actions{display:flex;align-items:center}.card-actions ha-progress-ring{margin-right:16px}[hidden]{display:none}.upload-button{display:inline-block;position:relative}.upload-button ha-button{position:relative;overflow:hidden}.button-content{pointer-events:none}`]}}]}}),(0,_.f)(n.oi));a()}catch(e){a(e)}}))},16485:function(e,t,i){i.a(e,(async function(e,t){try{i(92745);var a=i(61449),s=i(40574),n=i(30532),o=i(41674),r=i(49722),d=i(76632),l=i(7884),c=i(35185),h=i(60933),p=i(44180),u=i(49447);const e=async()=>{const e=(0,p.sS)(),t=[];(0,n.shouldPolyfill)()&&await Promise.all([i.e("80210"),i.e("74055")]).then(i.bind(i,98133)),(0,r.shouldPolyfill)()&&await Promise.all([i.e("83895"),i.e("75297"),i.e("80210"),i.e("60251")]).then(i.bind(i,59095)),(0,a.shouldPolyfill)(e)&&t.push(Promise.all([i.e("83895"),i.e("75297"),i.e("68250")]).then(i.bind(i,80561)).then((()=>(0,u.H)()))),(0,h.shouldPolyfill)()&&t.push(Promise.all([i.e("83895"),i.e("75297"),i.e("65578")]).then(i.bind(i,97995))),(0,s.shouldPolyfill)(e)&&t.push(Promise.all([i.e("83895"),i.e("75297"),i.e("59826")]).then(i.bind(i,31514))),(0,o.shouldPolyfill)(e)&&t.push(Promise.all([i.e("83895"),i.e("75297"),i.e("23649")]).then(i.bind(i,93840))),(0,d.shouldPolyfill)(e)&&t.push(Promise.all([i.e("83895"),i.e("75297"),i.e("42831")]).then(i.bind(i,29559))),(0,l.shouldPolyfill)(e)&&t.push(Promise.all([i.e("83895"),i.e("75297"),i.e("57377")]).then(i.bind(i,39030)).then((()=>i.e("61236").then(i.t.bind(i,4121,23))))),(0,c.shouldPolyfill)(e)&&t.push(Promise.all([i.e("83895"),i.e("75297"),i.e("13870")]).then(i.bind(i,74546))),0!==t.length&&await Promise.all(t).then((()=>(0,u.n)(e)))};await e(),t()}catch(e){t(e)}}),1)},58014:function(e,t,i){i.d(t,{N:()=>s,G:()=>n});var a=i(18117);const s=(e,t="")=>{const i=document.createElement("a");i.target="_blank",i.href=e,i.download=t,i.style.display="none",document.body.appendChild(i),i.dispatchEvent(new MouseEvent("click")),document.body.removeChild(i)},n=e=>!(e=>!!e.auth.external&&a.G)(e)||!!e.auth.external?.config.downloadFileSupported},18117:function(e,t,i){i.d(t,{G:()=>a});const a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}};
//# sourceMappingURL=81083.af7ff096c1332f69.js.map