UNPKG

iobroker.lovelace

Version:

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

39 lines 47.7 kB
export const __rspack_esm_id=48603;export const __rspack_esm_ids=[48603];export const __webpack_modules__={93421(t,a,e){e.d(a,{IW:()=>d,dH:()=>c,fI:()=>l});e(44114);var o=e(35211),i=e(22792),r=e(32172);const n=(t,a)=>{let e=t;for(const t of a){if(null==e)return;e=e[t]}return e},s=(t,a,e)=>{const i=(0,r.p)({transformer:function(t){return e.call(this,t)},watch:a?[a]:[]}),n=(0,o.Fg)({context:t,subscribe:!0});return(t,a)=>{i(t,a),n(t,a)}},l=t=>s(i.iN,t.entityIdPath[0],function(a){const e=n(this,t.entityIdPath);return"string"==typeof e?a?.[e]:void 0}),c=t=>s(i.X1,t.entityIdPath[0],function(a){const e=n(this,t.entityIdPath);return"string"==typeof e?a?.[e]:void 0}),d=()=>s(i.D5,void 0,({localize:t})=>t)},26218(t,a,e){e.d(a,{a:()=>i});const o=(0,e(77796).n)(t=>{history.replaceState({scrollPosition:t},"")},300);function i(t){return(a,e)=>{if("object"==typeof e)throw new Error("This decorator does not support this compilation type.");const i=a.connectedCallback;a.connectedCallback=function(){i.call(this);const a=this[e];a&&this.updateComplete.then(()=>{const e=this.renderRoot.querySelector(t);e&&setTimeout(()=>{e.scrollTop=a},0)})};const r=Object.getOwnPropertyDescriptor(a,e);let n;if(void 0===r)n={get(){return this[`__${String(e)}`]||history.state?.scrollPosition},set(t){o(t),this[`__${String(e)}`]=t},configurable:!0,enumerable:!0};else{const t=r.set;n={...r,set(a){o(a),this[`__${String(e)}`]=a,t?.call(this,a)}}}Object.defineProperty(a,e,n)}}},32172(t,a,e){e.d(a,{p:()=>o});e(18111),e(7588),e(45367),e(92731),e(17642),e(58004),e(33853),e(45876),e(32475),e(15024),e(31698);function o(t){return(a,e)=>{if("object"==typeof e)throw new Error("This decorator does not support this compilation type.");const o=String(e),i=a;if(i._transformers){if(!i.hasOwnProperty("_transformers")){const t=i._transformers;i._transformers=new Map,t.forEach((t,a)=>i._transformers.set(a,t))}}else{i._transformers=new Map,i._watching=new Map;const t=i.willUpdate;i.willUpdate=function(a){t.call(this,a);const e=new Set;a.forEach((t,a)=>{const o=this._watching.get(a);void 0!==o&&o.forEach(t=>e.add(t))}),e.forEach(t=>{this[t]=this[`__original_${String(t)}`]})}}i._transformers.set(e,t.transformer),t.watch&&t.watch.forEach(t=>{let a=i._watching.get(t);a||(a=new Set,i._watching.set(t,a)),a.add(e)});const r=Object.getOwnPropertyDescriptor(a,e);let n;if(void 0===r)n={get(){return this[`__transform_${o}`]},set(t){const a=this[`__transform_${o}`],e=this._transformers.get(o);this[`__transform_${o}`]=e?e.call(this,t):t,this[`__original_${o}`]=t,this.requestUpdate(o,a)},configurable:!0,enumerable:!0};else{const t=r.set;n={...r,set(a){const e=this[`__transform_${o}`],i=this._transformers.get(o);this[`__transform_${o}`]=i?i.call(this,a):a,this[`__original_${o}`]=a,this.requestUpdate(o,e),t?.call(this,a)}}}Object.defineProperty(a,e,n)}}},77796(t,a,e){e.d(a,{n:()=>o});const o=(t,a,e=!0,o=!0)=>{let i,r=0;const n=(...n)=>{const s=()=>{r=!1===e?0:Date.now(),i=void 0,t(...n)},l=Date.now();r||!1!==e||(r=l);const c=a-(l-r);c<=0||c>a?(i&&(clearTimeout(i),i=void 0),r=l,t(...n)):i||!1===o||(i=window.setTimeout(s,c))};return n.cancel=()=>{clearTimeout(i),i=void 0,r=0},n}},38962(t,a,e){e.a(t,async function(t,o){try{e.r(a);var i=e(62826),r=e(5124),n=e(22441),s=e(6412),l=e(93421),c=e(1087),d=e(26300),h=(e(67094),t([d]));d=(h.then?(await h)():h)[0];const p="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",g={info:"M11,9H13V7H11M12,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,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z",warning:"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16",error:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",success:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2,4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"};class u extends r.WF{render(){return r.qy` <div class="issue-type ${(0,s.H)({[this.alertType]:!0})}" role="alert"> <div class="icon ${this.title?"":"no-title"}"> <slot name="icon"> <ha-svg-icon .path="${g[this.alertType]}"></ha-svg-icon> </slot> </div> <div class="${(0,s.H)({content:!0,narrow:this.narrow})}"> <div class="main-content"> ${this.title?r.qy`<div class="title">${this.title}</div>`:r.s6} <slot></slot> </div> <div class="action"> <slot name="action"> ${this.dismissable?r.qy`<ha-icon-button @click="${this._dismissClicked}" .label="${this._localize?.("ui.common.dismiss_alert")}" .path="${p}"></ha-icon-button>`:r.s6} </slot> </div> </div> </div> `}_dismissClicked(){(0,c.r)(this,"alert-dismissed-clicked")}constructor(...t){super(...t),this.title="",this.alertType="info",this.dismissable=!1,this.narrow=!1}}u.styles=r.AH`.issue-type{position:relative;padding:8px;display:flex}.icon{height:var(--ha-alert-icon-size,24px);width:var(--ha-alert-icon-size,24px)}.issue-type::after{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;content:"";border-radius:var(--ha-border-radius-sm)}.icon.no-title{align-self:center}.content{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:var(--float-start)}.content.narrow{flex-direction:column;align-items:flex-end}.action{z-index:1;width:min-content;--mdc-theme-primary:var(--primary-text-color)}.main-content{overflow-wrap:anywhere;word-break:break-word;line-height:normal;margin-left:8px;margin-right:0;margin-inline-start:8px;margin-inline-end:8px}.title{margin-top:2px;font-weight:var(--ha-font-weight-bold)}.action ha-icon-button{--mdc-theme-primary:var(--primary-text-color);--ha-icon-button-size:36px}.issue-type.info>.icon{color:var(--info-color)}.issue-type.info::after{background-color:var(--info-color)}.issue-type.warning>.icon{color:var(--warning-color)}.issue-type.warning::after{background-color:var(--warning-color)}.issue-type.error>.icon{color:var(--error-color)}.issue-type.error::after{background-color:var(--error-color)}.issue-type.success>.icon{color:var(--success-color)}.issue-type.success::after{background-color:var(--success-color)}:host ::slotted(ul){margin:0;padding-inline-start:20px}`,(0,i.Cg)([(0,n.MZ)()],u.prototype,"title",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"alert-type"})],u.prototype,"alertType",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],u.prototype,"dismissable",void 0),(0,i.Cg)([(0,n.wk)(),(0,l.IW)()],u.prototype,"_localize",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],u.prototype,"narrow",void 0),u=(0,i.Cg)([(0,n.EM)("ha-alert")],u),o()}catch(t){o(t)}})},76776(t,a,e){var o=e(62826),i=e(5124),r=e(22441);class n extends i.WF{render(){return i.qy` ${this.header?i.qy`<h1 class="card-header">${this.header}</h1>`:i.s6} <slot></slot> `}constructor(...t){super(...t),this.raised=!1}}n.styles=i.AH`: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,var(--ha-border-radius-lg));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, var(--ha-font-size-2xl));letter-spacing:-.012em;line-height:var(--ha-line-height-expanded);padding:var(--ha-space-3) var(--ha-space-4) var(--ha-space-4);display:block;margin-block-start:0;margin-block-end:0;font-weight:var(--ha-font-weight-normal)} :host ::slotted( .card-content:not(:nth-child(1 of .card-content, .card-header)) ), slot:not(:first-child)::slotted(.card-content) { padding-top: 0; margin-top: calc(var(--ha-space-2) * -1); } :host ::slotted(.card-content){padding:var(--ha-space-4)}:host ::slotted(.card-actions){border-top:1px solid var(--divider-color,#e8e8e8);padding:var(--ha-space-2)}`,(0,o.Cg)([(0,r.MZ)()],n.prototype,"header",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],n.prototype,"raised",void 0),n=(0,o.Cg)([(0,r.EM)("ha-card")],n)},90248(t,a,e){e.a(t,async function(t,o){try{e.r(a),e.d(a,{HaIconButtonArrowPrev:()=>p});var i=e(62826),r=e(5124),n=e(22441),s=e(63091),l=e(26300),c=t([l]);l=(c.then?(await c)():c)[0];const d="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",h="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z";class p extends r.WF{render(){return r.qy` <ha-icon-button .disabled="${this.disabled}" .label="${this.label||this.hass?.localize("ui.common.back")||"Back"}" .path="${this._icon}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"></ha-icon-button> `}constructor(...t){super(...t),this.disabled=!1,this._icon="rtl"===s.G.document.dir?h:d}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],p.prototype,"disabled",void 0),(0,i.Cg)([(0,n.MZ)()],p.prototype,"label",void 0),(0,i.Cg)([(0,n.MZ)()],p.prototype,"href",void 0),(0,i.Cg)([(0,n.MZ)()],p.prototype,"target",void 0),(0,i.Cg)([(0,n.MZ)()],p.prototype,"rel",void 0),(0,i.Cg)([(0,n.MZ)()],p.prototype,"download",void 0),(0,i.Cg)([(0,n.wk)()],p.prototype,"_icon",void 0),p=(0,i.Cg)([(0,n.EM)("ha-icon-button-arrow-prev")],p),o()}catch(t){o(t)}})},26300(t,a,e){e.a(t,async function(t,o){try{e.r(a),e.d(a,{HaIconButton:()=>d});var i=e(62826),r=e(5124),n=e(22441),s=e(63672),l=e(18350),c=(e(67094),t([l]));l=(c.then?(await c)():c)[0];class d extends r.WF{render(){return r.qy` <ha-button appearance="plain" variant="neutral" aria-label="${(0,s.J)(this.label)}" title="${(0,s.J)(this.hideTitle?void 0:this.label)}" aria-haspopup="${(0,s.J)(this.ariaHasPopup)}" .disabled="${this.disabled}" .iconTag="${this.path?"ha-svg-icon":"span"}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"> ${this.path?r.qy`<ha-svg-icon aria-hidden="true" .path="${this.path}"></ha-svg-icon>`:r.qy`<span><slot></slot></span>`} </ha-button> `}constructor(...t){super(...t),this.disabled=!1,this.hideTitle=!1,this.selected=!1}}d.shadowRootOptions={mode:"open",delegatesFocus:!0},d.styles=r.AH`:host{display:inline-block;outline:0;--ha-button-height:var(--ha-icon-button-size, 48px)}ha-button{position:relative;isolation:isolate;--wa-form-control-padding-inline:var( --ha-icon-button-padding-inline, --ha-space-2 );--wa-color-on-normal:currentColor;--wa-color-fill-quiet:transparent;--ha-button-label-overflow:visible}ha-button::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background-color:currentColor;opacity:0;pointer-events:none}ha-button::part(base){width:var(--wa-form-control-height);aspect-ratio:1;outline-offset:-4px}ha-button::part(label){display:flex}:host([selected]) ha-button::after{opacity:.1}@media (hover:hover){:host(:hover:not([disabled])) ha-button::after{opacity:.1}}`,(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],d.prototype,"disabled",void 0),(0,i.Cg)([(0,n.MZ)({type:String})],d.prototype,"path",void 0),(0,i.Cg)([(0,n.MZ)({type:String})],d.prototype,"label",void 0),(0,i.Cg)([(0,n.MZ)({type:String,attribute:"aria-haspopup"})],d.prototype,"ariaHasPopup",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"hide-title",type:Boolean})],d.prototype,"hideTitle",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],d.prototype,"selected",void 0),(0,i.Cg)([(0,n.MZ)()],d.prototype,"href",void 0),(0,i.Cg)([(0,n.MZ)()],d.prototype,"target",void 0),(0,i.Cg)([(0,n.MZ)()],d.prototype,"rel",void 0),(0,i.Cg)([(0,n.MZ)()],d.prototype,"download",void 0),d=(0,i.Cg)([(0,n.EM)("ha-icon-button")],d),o()}catch(t){o(t)}})},43661(t,a,e){e.r(a),e.d(a,{HaIconNext:()=>s});var o=e(62826),i=e(22441),r=e(63091),n=e(67094);class s extends n.HaSvgIcon{constructor(...t){super(...t),this.path="rtl"===r.G.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"}}(0,o.Cg)([(0,i.MZ)()],s.prototype,"path",void 0),s=(0,o.Cg)([(0,i.EM)("ha-icon-next")],s)},2846(t,a,e){e.d(a,{G:()=>c,J:()=>l});var o=e(62826),i=e(58168),r=e(82553),n=e(5124),s=e(22441);e(54276);const l=[r.R,n.AH`:host{--ha-icon-display:block;--md-sys-color-primary:var(--primary-text-color);--md-sys-color-secondary:var(--secondary-text-color);--md-sys-color-surface:var(--card-background-color);--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--secondary-text-color)}md-item{overflow:var(--md-item-overflow,hidden);align-items:var(--md-item-align-items,center);gap:var(--ha-md-list-item-gap,16px)}`];class c extends i.n{renderRipple(){return"text"===this.type?n.s6:n.qy`<ha-ripple part="ripple" for="item" ?disabled="${this.disabled&&"link"!==this.type}"></ha-ripple>`}}c.styles=l,c=(0,o.Cg)([(0,s.EM)("ha-md-list-item")],c)},17308(t,a,e){var o=e(62826),i=e(49838),r=e(11245),n=e(5124),s=e(22441);class l extends i.B{}l.styles=[r.R,n.AH`:host{--md-sys-color-surface:var(--card-background-color)}`],l=(0,o.Cg)([(0,s.EM)("ha-md-list")],l)},2054(t,a,e){e.a(t,async function(t,a){try{var o=e(62826),i=e(5124),r=e(22441),n=e(1087),s=e(44249),l=e(26300),c=t([l]);l=(c.then?(await c)():c)[0];const d="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z";class h extends i.WF{connectedCallback(){super.connectedCallback(),this._attachNotifOnConnect&&(this._attachNotifOnConnect=!1,this._subscribeNotifications())}disconnectedCallback(){super.disconnectedCallback(),this._unsubNotifications&&(this._attachNotifOnConnect=!0,this._unsubNotifications(),this._unsubNotifications=void 0)}render(){if(!this._show)return i.s6;const t=this._hasNotifications&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);return i.qy` <ha-icon-button .label="${this.hass.localize("ui.sidebar.sidebar_toggle")}" .path="${d}" @click="${this._toggleMenu}"></ha-icon-button> ${t?i.qy`<div class="dot"></div>`:""} `}willUpdate(t){if(super.willUpdate(t),!t.has("narrow")&&!t.has("hass"))return;const a=t.has("hass")?t.get("hass"):this.hass,e=t.has("narrow")?t.get("narrow"):this.narrow,o=!1===a?.kioskMode&&(e||"always_hidden"===a?.dockedSidebar),i=!1===this.hass.kioskMode&&(this.narrow||"always_hidden"===this.hass.dockedSidebar);this.hasUpdated&&o===i||(this._show=i||this._alwaysVisible,i?this._subscribeNotifications():this._unsubNotifications&&(this._unsubNotifications(),this._unsubNotifications=void 0))}_subscribeNotifications(){if(this._unsubNotifications)throw new Error("Already subscribed");this._unsubNotifications=(0,s.V)(this.hass.connection,t=>{this._hasNotifications=t.length>0})}_toggleMenu(){(0,n.r)(this,"hass-toggle-menu")}constructor(...t){super(...t),this.narrow=!1,this._hasNotifications=!1,this._show=!1,this._alwaysVisible=!1,this._attachNotifOnConnect=!1}}h.styles=i.AH`:host{position:relative}.dot{pointer-events:none;position:absolute;background-color:var(--accent-color);width:12px;height:12px;top:9px;right:7px;inset-inline-end:7px;inset-inline-start:initial;border-radius:var(--ha-border-radius-circle);border:2px solid var(--app-header-background-color)}`,(0,o.Cg)([(0,r.MZ)({type:Boolean})],h.prototype,"narrow",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],h.prototype,"hass",void 0),(0,o.Cg)([(0,r.wk)()],h.prototype,"_hasNotifications",void 0),(0,o.Cg)([(0,r.wk)()],h.prototype,"_show",void 0),h=(0,o.Cg)([(0,r.EM)("ha-menu-button")],h),a()}catch(t){a(t)}})},54276(t,a,e){var o=e(62826),i=e(76482),r=e(91382),n=e(96245),s=e(5124),l=e(22441);class c extends r.n{attach(t){super.attach(t),this.attachableTouchController.attach(t)}disconnectedCallback(){super.disconnectedCallback(),this.hovered=!1,this.pressed=!1}detach(){super.detach(),this.attachableTouchController.detach()}_onTouchControlChange(t,a){t?.removeEventListener("touchend",this._handleTouchEnd),a?.addEventListener("touchend",this._handleTouchEnd)}constructor(...t){super(...t),this.attachableTouchController=new i.i(this,this._onTouchControlChange.bind(this)),this._handleTouchEnd=()=>{this.disabled||super.endPressAnimation()}}}c.styles=[n.R,s.AH`:host{--md-ripple-hover-opacity:var(--ha-ripple-hover-opacity, 0.08);--md-ripple-pressed-opacity:var(--ha-ripple-pressed-opacity, 0.12);--md-ripple-hover-color:var( --ha-ripple-hover-color, var(--ha-ripple-color, var(--secondary-text-color)) );--md-ripple-pressed-color:var( --ha-ripple-pressed-color, var(--ha-ripple-color, var(--secondary-text-color)) )}`],c=(0,o.Cg)([(0,l.EM)("ha-ripple")],c)},67094(t,a,e){e.r(a),e.d(a,{HaSvgIcon:()=>n});var o=e(62826),i=e(5124),r=e(22441);class n extends i.WF{render(){return i.JW` <svg viewBox="${this.viewBox||"0 0 24 24"}" preserveAspectRatio="xMidYMid meet" focusable="false" role="img" aria-hidden="true"> <g> ${this.path?i.JW`<path class="primary-path" d="${this.path}"></path>`:i.s6} ${this.secondaryPath?i.JW`<path class="secondary-path" d="${this.secondaryPath}"></path>`:i.s6} </g> </svg>`}}n.styles=i.AH`:host{display:var(--ha-icon-display,inline-flex);align-items:center;justify-content:center;position:relative;vertical-align:middle;fill:var(--icon-primary-color,currentcolor);width:var(--mdc-icon-size,24px);height:var(--mdc-icon-size,24px)}svg{width:100%;height:100%;pointer-events:none;display:block}path.primary-path{opacity:var(--icon-primary-opactity, 1)}path.secondary-path{fill:var(--icon-secondary-color,currentcolor);opacity:var(--icon-secondary-opactity, .5)}`,(0,o.Cg)([(0,r.MZ)()],n.prototype,"path",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],n.prototype,"secondaryPath",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],n.prototype,"viewBox",void 0),n=(0,o.Cg)([(0,r.EM)("ha-svg-icon")],n)},16869(t,a,e){e.d(a,{B:()=>i,g:()=>o});e(74423);const o=window.externalAppV2||window.externalApp||window.webkit?.messageHandlers?.getExternalAuth||location.search.includes("external_auth=1"),i=window.externalApp||window.externalAppV2},7749(t,a,e){e.d(a,{HH:()=>o,TY:()=>i,lu:()=>r,mu:()=>n});const o=(t,a)=>t.callApi("POST","config/config_entries/options/flow",{handler:a}),i=(t,a)=>t.callApi("GET",`config/config_entries/options/flow/${a}`),r=(t,a,e)=>t.callApi("POST",`config/config_entries/options/flow/${a}`,e),n=(t,a)=>t.callApi("DELETE",`config/config_entries/options/flow/${a}`)},44249(t,a,e){e.d(a,{V:()=>o});const o=(t,a)=>{const e=new i,o=t.subscribeMessage(t=>a(e.processMessage(t)),{type:"persistent_notification/subscribe"});return()=>{o.then(t=>t?.())}};class i{processMessage(t){if("removed"===t.type)for(const a of Object.keys(t.notifications))delete this.notifications[a];else this.notifications={...this.notifications,...t.notifications};return Object.values(this.notifications)}constructor(){this.notifications={}}}},84621(t,a,e){e.d(a,{$:()=>x,A2:()=>E,C2:()=>o,Iu:()=>C,Ky:()=>d,Lj:()=>c,Mo:()=>V,On:()=>s,P0:()=>z,PA:()=>l,Qo:()=>k,RW:()=>$,Uc:()=>n,Ui:()=>b,VC:()=>A,VK:()=>S,Yf:()=>P,ZU:()=>r,cm:()=>v,f7:()=>L,hi:()=>w,i_:()=>g,jm:()=>Z,kH:()=>h,ks:()=>p,oM:()=>u,p7:()=>H,pl:()=>f,rv:()=>m,sb:()=>T,tg:()=>M,tv:()=>_,xU:()=>i,zt:()=>y});const o=(t,a,e)=>t.connection.subscribeMessage(t=>e(t),{type:"zha/devices/reconfigure",ieee:a}),i=t=>t.callWS({type:"zha/topology/update"}),r=(t,a,e,o,i)=>t.callWS({type:"zha/devices/clusters/attributes",ieee:a,endpoint_id:e,cluster_id:o,cluster_type:i}),n=t=>t.callWS({type:"zha/devices"}),s=(t,a)=>t.callWS({type:"zha/device",ieee:a}),l=(t,a)=>t.callWS({type:"zha/devices/bindable",ieee:a}),c=(t,a,e)=>t.callWS({type:"zha/devices/bind",source_ieee:a,target_ieee:e}),d=(t,a,e)=>t.callWS({type:"zha/devices/unbind",source_ieee:a,target_ieee:e}),h=(t,a,e,o)=>t.callWS({type:"zha/groups/bind",source_ieee:a,group_id:e,bindings:o}),p=(t,a,e,o)=>t.callWS({type:"zha/groups/unbind",source_ieee:a,group_id:e,bindings:o}),g=(t,a)=>t.callWS({...a,type:"zha/devices/clusters/attributes/value"}),u=(t,a,e,o,i)=>t.callWS({type:"zha/devices/clusters/commands",ieee:a,endpoint_id:e,cluster_id:o,cluster_type:i}),v=(t,a)=>t.callWS({type:"zha/devices/clusters",ieee:a}),f=t=>t.callWS({type:"zha/groups"}),m=(t,a)=>t.callWS({type:"zha/group/remove",group_ids:a}),b=(t,a)=>t.callWS({type:"zha/group",group_id:a}),y=t=>t.callWS({type:"zha/devices/groupable"}),w=(t,a,e)=>t.callWS({type:"zha/group/members/add",group_id:a,members:e}),_=(t,a,e)=>t.callWS({type:"zha/group/members/remove",group_id:a,members:e}),x=(t,a,e,o)=>t.callWS({type:"zha/group/add",group_name:a,group_id:e,members:o}),k=t=>t.callWS({type:"zha/configuration"}),$=(t,a)=>t.callWS({type:"zha/configuration/update",data:a}),z=t=>t.callWS({type:"zha/network/settings"}),C=t=>t.callWS({type:"zha/network/backups/create"}),H=(t,a)=>t.callWS({type:"zha/network/change_channel",new_channel:a}),M="INITIALIZED",V="INTERVIEW_COMPLETE",L="CONFIGURED",S=["PAIRED",L,V],A=["device_joined","raw_device_initialized","device_fully_initialized"],Z="log_output",E="zha_channel_bind",T="zha_channel_configure_reporting",P="zha_channel_cfg_done"},29094(t,a,e){e.d(a,{g:()=>r});var o=e(1087);const i=()=>Promise.all([e.e(4801),e.e(39763),e.e(32450),e.e(46095),e.e(7305),e.e(92769),e.e(3283),e.e(80131),e.e(58416),e.e(54066),e.e(84038),e.e(69205),e.e(26092),e.e(48531),e.e(92411),e.e(44642)]).then(e.bind(e,78314)),r=(t,a,e)=>{(0,o.r)(t,"show-dialog",{dialogTag:"dialog-data-entry-flow",dialogImport:i,dialogParams:{...a,flowConfig:e,dialogParentElement:t}})}},70241(t,a,e){e.d(a,{Q:()=>s});var o=e(5124),i=e(95350),r=e(7749),n=e(29094);const s=(t,a,e)=>(0,n.g)(t,{startFlowHandler:a.entry_id,domain:a.domain,...e},{flowType:"options_flow",showDevices:!1,createFlow:async(t,e)=>{const[o]=await Promise.all([(0,r.HH)(t,e),t.loadFragmentTranslation("config"),t.loadBackendTranslation("options",a.domain),t.loadBackendTranslation("selector",a.domain)]);return o},fetchFlow:async(t,e)=>{const[o]=await Promise.all([(0,r.TY)(t,e),t.loadFragmentTranslation("config"),t.loadBackendTranslation("options",a.domain),t.loadBackendTranslation("selector",a.domain)]);return o},handleFlowStep:r.lu,deleteFlow:r.mu,renderAbortDescription(t,e){const i=t.localize(`component.${e.translation_domain||a.domain}.options.abort.${e.reason}`,e.description_placeholders);return i?o.qy` <ha-markdown breaks allow-svg .content="${i}"></ha-markdown> `:e.reason},renderShowFormStepHeader:(t,e)=>t.localize(`component.${e.translation_domain||a.domain}.options.step.${e.step_id}.title`,e.description_placeholders)||t.localize("ui.dialogs.options_flow.form.header"),renderShowFormStepDescription(t,e){const i=t.localize(`component.${e.translation_domain||a.domain}.options.step.${e.step_id}.description`,e.description_placeholders);return i?o.qy` <ha-markdown allow-svg breaks .content="${i}"></ha-markdown> `:""},renderShowFormStepFieldLabel(t,e,o,i){if("expandable"===o.type)return t.localize(`component.${a.domain}.options.step.${e.step_id}.sections.${o.name}.name`,e.description_placeholders)||o.name;const r=i?.path?.[0]?`sections.${i.path[0]}.`:"";return t.localize(`component.${a.domain}.options.step.${e.step_id}.${r}data.${o.name}`,e.description_placeholders)||o.name},renderShowFormStepFieldHelper(t,e,i,r){if("expandable"===i.type)return t.localize(`component.${e.translation_domain||a.domain}.options.step.${e.step_id}.sections.${i.name}.description`,e.description_placeholders);const n=r?.path?.[0]?`sections.${r.path[0]}.`:"",s=t.localize(`component.${e.translation_domain||a.domain}.options.step.${e.step_id}.${n}data_description.${i.name}`,e.description_placeholders);return s?o.qy`<ha-markdown breaks .content="${s}"></ha-markdown>`:""},renderShowFormStepFieldError:(t,e,o)=>t.localize(`component.${e.translation_domain||a.domain}.options.error.${o}`,e.description_placeholders)||o,renderShowFormStepFieldLocalizeValue:(t,e,o)=>t.localize(`component.${a.domain}.selector.${o}`),renderShowFormStepSubmitButton:(t,e)=>t.localize(`component.${a.domain}.options.step.${e.step_id}.submit`)||t.localize("ui.panel.config.integrations.config_flow."+(!1===e.last_step?"next":"submit")),renderExternalStepHeader:(t,a)=>"",renderExternalStepDescription:(t,a)=>"",renderCreateEntryDescription:(t,a)=>o.qy` <p>${t.localize("ui.dialogs.options_flow.success.description")}</p> `,renderShowFormProgressHeader:(t,e)=>t.localize(`component.${a.domain}.options.step.${e.step_id}.title`)||t.localize(`component.${a.domain}.title`),renderShowFormProgressDescription(t,e){const i=t.localize(`component.${e.translation_domain||a.domain}.options.progress.${e.progress_action}`,e.description_placeholders);return i?o.qy` <ha-markdown allow-svg breaks .content="${i}"></ha-markdown> `:""},renderMenuHeader:(t,e)=>t.localize(`component.${a.domain}.options.step.${e.step_id}.title`)||t.localize(`component.${a.domain}.title`),renderMenuDescription(t,e){const i=t.localize(`component.${e.translation_domain||a.domain}.options.step.${e.step_id}.description`,e.description_placeholders);return i?o.qy` <ha-markdown allow-svg breaks .content="${i}"></ha-markdown> `:""},renderMenuOption:(t,e,o)=>t.localize(`component.${e.translation_domain||a.domain}.options.step.${e.step_id}.menu_options.${o}`,e.description_placeholders),renderMenuOptionDescription:(t,e,o)=>t.localize(`component.${e.translation_domain||a.domain}.options.step.${e.step_id}.menu_option_descriptions.${o}`,e.description_placeholders),renderLoadingDescription:(t,e)=>t.localize(`component.${a.domain}.options.loading`)||("loading_flow"===e||"loading_step"===e?t.localize(`ui.dialogs.options_flow.loading.${e}`,{integration:(0,i.p$)(t.localize,a.domain)}):"")})},81310(t,a,e){e.a(t,async function(t,a){try{var o=e(62826),i=e(5124),r=e(22441),n=e(6412),s=e(26218),l=e(91926),c=e(90248),d=e(2054),h=e(14503),p=t([c,d]);[c,d]=p.then?(await p)():p;class g extends i.WF{render(){return i.qy` <div class="toolbar ${(0,n.H)({narrow:this.narrow})}"> <div class="toolbar-content"> ${this.mainPage||history.state?.root?i.qy` <ha-menu-button .hass="${this.hass}" .narrow="${this.narrow}"></ha-menu-button> `:this.backPath?i.qy` <ha-icon-button-arrow-prev href="${this.backPath}" .hass="${this.hass}"></ha-icon-button-arrow-prev> `:i.qy` <ha-icon-button-arrow-prev .hass="${this.hass}" @click="${this._backTapped}"></ha-icon-button-arrow-prev> `} <div class="main-title"> <slot name="header">${this.header}</slot> </div> <slot name="toolbar-icon"></slot> </div> </div> <div class="${(0,n.H)({content:!0,"ha-scrollbar":this.scrollable,"not-scrollable":!this.scrollable})}" @scroll="${this._saveScrollPos}"> <slot></slot> </div> <div id="fab"> <slot name="fab"></slot> </div> `}_saveScrollPos(t){this._savedScrollPos=t.target.scrollTop}_backTapped(){this.backCallback?this.backCallback():(0,l.OE)()}static get styles(){return[h.dp,i.AH`:host{display:block;height:100%;background-color:var(--primary-background-color);overflow:hidden;position:relative}:host([narrow]){width:100%;position:fixed}.toolbar{background-color:var(--app-header-background-color);padding-top:var(--safe-area-inset-top);padding-right:var(--safe-area-inset-right)}:host([narrow]) .toolbar{padding-left:var(--safe-area-inset-left)}.toolbar-content{display:flex;align-items:center;font-size:var(--ha-font-size-xl);height:var(--header-height);font-weight:var(--ha-font-weight-normal);color:var(--app-header-text-color,#fff);border-bottom:var(--app-header-border-bottom,none);box-sizing:border-box;padding:8px 12px}.toolbar a{color:var(--sidebar-text-color);text-decoration:none}::slotted([slot=toolbar-icon]),ha-icon-button-arrow-prev,ha-menu-button{display:flex;align-items:center;pointer-events:auto;color:var(--sidebar-icon-color)}.main-title{margin-inline-start:var(--ha-space-6);line-height:var(--ha-line-height-normal);min-width:0;flex-grow:1;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.narrow .main-title{margin-inline-start:var(--ha-space-2)}.content{position:relative;width:calc(100% - var(--safe-area-inset-right,0px));height:calc(100% - 1px - var(--header-height,0px) - var(--safe-area-inset-top,0px) - var(--safe-area-inset-bottom,0px));padding-bottom:var(--safe-area-inset-bottom,0px);margin-right:var(--safe-area-inset-right);overflow-y:auto;overflow:auto;-webkit-overflow-scrolling:touch}.content.not-scrollable{overflow:hidden;display:flex;flex-direction:column}:host([narrow]) .content{width:calc(100% - var(--safe-area-inset-left,0px) - var(--safe-area-inset-right,0px));margin-left:var(--safe-area-inset-left)}#fab{position:absolute;right:calc(16px + var(--safe-area-inset-right,0px));inset-inline-end:calc(16px + var(--safe-area-inset-right,0px));inset-inline-start:initial;bottom:calc(16px + var(--safe-area-inset-bottom,0px));z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ha-space-2);--ha-button-box-shadow:var(--ha-box-shadow-l)}:host([narrow]) #fab.tabs{bottom:calc(84px + var(--safe-area-inset-bottom,0px))}#fab[is-wide]{bottom:calc(24px + var(--safe-area-inset-bottom,0px));right:calc(24px + var(--safe-area-inset-right,0px));inset-inline-end:calc(24px + var(--safe-area-inset-right,0px));inset-inline-start:initial}`]}constructor(...t){super(...t),this.mainPage=!1,this.narrow=!1,this.scrollable=!0}}(0,o.Cg)([(0,r.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,o.Cg)([(0,r.MZ)()],g.prototype,"header",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,attribute:"main-page"})],g.prototype,"mainPage",void 0),(0,o.Cg)([(0,r.MZ)({type:String,attribute:"back-path"})],g.prototype,"backPath",void 0),(0,o.Cg)([(0,r.MZ)({attribute:!1})],g.prototype,"backCallback",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean,reflect:!0})],g.prototype,"narrow",void 0),(0,o.Cg)([(0,r.MZ)({type:Boolean})],g.prototype,"scrollable",void 0),(0,o.Cg)([(0,s.a)(".content")],g.prototype,"_savedScrollPos",void 0),(0,o.Cg)([(0,r.Ls)({passive:!0})],g.prototype,"_saveScrollPos",null),g=(0,o.Cg)([(0,r.EM)("hass-subpage")],g),a()}catch(t){a(t)}})},63670(t,a,e){e.a(t,async function(t,o){try{e.r(a);e(74423),e(18111),e(22489),e(20116),e(61701),e(33110);var i=e(62826),r=e(5124),n=e(22441),s=e(88518),l=e(38962),c=e(18350),d=(e(76776),e(43661),e(17308),e(2846),e(67094),e(77423)),h=e(84621),p=e(70241),g=e(65063),u=e(81310),v=e(14503),f=e(44144),m=e(30039),b=t([l,c,u]);[l,c,u]=b.then?(await b)():b;const y="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",w="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",_="M3 6H21V4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H7V18H3V6M13 12H9V13.78C8.39 14.33 8 15.11 8 16C8 16.89 8.39 17.67 9 18.22V20H13V18.22C13.61 17.67 14 16.88 14 16S13.61 14.33 13 13.78V12M11 17.5C10.17 17.5 9.5 16.83 9.5 16S10.17 14.5 11 14.5 12.5 15.17 12.5 16 11.83 17.5 11 17.5M22 8H16C15.5 8 15 8.5 15 9V19C15 19.5 15.5 20 16 20H22C22.5 20 23 19.5 23 19V9C23 8.5 22.5 8 22 8M21 18H17V10H21V18Z",x="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z",k="M22,4A2,2 0 0,1 24,6V16A2,2 0 0,1 22,18H6A2,2 0 0,1 4,16V4A2,2 0 0,1 6,2H12L14,4H22M2,6V20H20V22H2A2,2 0 0,1 0,20V11H0V6H2M6,6V16H22V6H6Z",$="M11,9H13V7H11M12,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,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z",z="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",C="M11,13.5V21.5H3V13.5H11M12,2L17.5,11H6.5L12,2M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13Z",H="M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z",M="M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3M4 5H6V7H4M18 7H20V9H18M8 17H10V19H8Z";class V extends r.WF{firstUpdated(t){super.firstUpdated(t),this.hass&&(this.hass.loadBackendTranslation("config_panel","zha",!1),this._fetchConfigEntry(),this._fetchConfiguration(),this._fetchDevicesAndGroups())}render(){const t=(this._configEntry?Object.values(this.hass.devices).filter(t=>t.config_entries.includes(this._configEntry.entry_id)):[]).length;let a=0;for(const t of Object.values(this.hass.entities))"zha"===t.platform&&a++;const e=this._offlineDevices<t||0===t;return r.qy` <hass-subpage .hass="${this.hass}" .narrow="${this.narrow}" .header="${this.hass.localize("ui.panel.config.zha.network.caption")}" back-path="/config" has-fab> <div class="container"> ${this._renderNetworkStatus(e,t)} ${this._renderMyNetworkCard(t,a)} ${this._renderNavigationCard()} ${this._renderBackupCard()} </div> <a href="/config/zha/add" slot="fab"> <ha-button size="large"> <ha-svg-icon slot="start" .path="${z}"></ha-svg-icon> ${this.hass.localize("ui.panel.config.zha.add_device")} </ha-button> </a> </hass-subpage> `}_renderNetworkStatus(t,a){return r.qy` <ha-card class="content network-status"> ${this._error?r.qy`<ha-alert alert-type="error">${this._error}</ha-alert>`:r.s6} <div class="card-content"> <div class="heading"> <div class="icon ${t?"success":"error"}"> <ha-svg-icon .path="${t?w:y}"></ha-svg-icon> </div> <div class="details"> ${this.hass.localize("ui.panel.config.zha.configuration_page.status_"+(t?"online":"offline"))}<br> <small> ${this.hass.localize("ui.panel.config.zha.configuration_page.devices",{count:a})} </small> <small class="offline"> ${this._asyncDataLoaded&&this._offlineDevices>0?r.qy`(${this.hass.localize("ui.panel.config.zha.configuration_page.devices_offline",{count:this._offlineDevices})})`:r.s6} </small> </div> <img class="logo" alt="Zigbee" crossorigin="anonymous" referrerpolicy="no-referrer" src="${(0,f.MR)({domain:"zha",type:"icon",darkOptimized:this.hass.themes?.darkMode},this.hass.auth.data.hassUrl)}"> </div> </div> </ha-card> `}_renderMyNetworkCard(t,a){return r.qy` <ha-card class="nav-card"> <div class="card-header"> ${this.hass.localize("ui.panel.config.zha.configuration_page.my_network_title")} <ha-button appearance="filled" href="/config/zha/visualization"> <ha-svg-icon slot="start" .path="${M}"></ha-svg-icon> ${this.hass.localize("ui.panel.config.zha.configuration_page.show_map")} </ha-button> </div> <div class="card-content"> <ha-md-list> <ha-md-list-item type="link" href="${`/config/devices/dashboard?historyBack=1&config_entry=${this._configEntry?.entry_id}`}"> <ha-svg-icon slot="start" .path="${_}"></ha-svg-icon> <div slot="headline"> ${this.hass.localize("ui.panel.config.zha.configuration_page.device_count",{count:t})} </div> <ha-icon-next slot="end"></ha-icon-next> </ha-md-list-item> <ha-md-list-item type="link" href="${`/config/entities/dashboard?historyBack=1&config_entry=${this._configEntry?.entry_id}`}"> <ha-svg-icon slot="start" .path="${C}"></ha-svg-icon> <div slot="headline"> ${this.hass.localize("ui.panel.config.zha.configuration_page.entity_count",{count:a})} </div> <ha-icon-next slot="end"></ha-icon-next> </ha-md-list-item> <ha-md-list-item type="link" href="/config/zha/groups"> <ha-svg-icon slot="start" .path="${k}"></ha-svg-icon> <div slot="headline" class="${this._asyncDataLoaded&&void 0!==this._totalGroups?"fade-in":""}"> ${this._asyncDataLoaded&&void 0!==this._totalGroups?this.hass.localize("ui.panel.config.zha.configuration_page.group_count",{count:this._totalGroups}):this.hass.localize("ui.panel.config.zha.groups.groups.caption")} </div> <ha-icon-next slot="end"></ha-icon-next> </ha-md-list-item> </ha-md-list> </div> </ha-card> `}_renderNavigationCard(){const t=this._configuration?Object.keys(this._configuration.schemas).filter(t=>"zha_options"!==t):[];return r.qy` <ha-card class="nav-card"> <div class="card-content"> <ha-md-list> <ha-md-list-item type="link" href="/config/zha/options"> <ha-svg-icon slot="start" .path="${H}"></ha-svg-icon> <div slot="headline"> ${this.hass.localize("ui.panel.config.zha.configuration_page.options_title")} </div> <div slot="supporting-text"> ${this.hass.localize("ui.panel.config.zha.configuration_page.options_description")} </div> <ha-icon-next slot="end"></ha-icon-next> </ha-md-list-item> <ha-md-list-item type="link" href="/config/zha/network-info"> <ha-svg-icon slot="start" .path="${$}"></ha-svg-icon> <div slot="headline"> ${this.hass.localize("ui.panel.config.zha.configuration_page.network_info_title")} </div> <div slot="supporting-text"> ${this.hass.localize("ui.panel.config.zha.configuration_page.network_info_description")} </div> <ha-icon-next slot="end"></ha-icon-next> </ha-md-list-item> ${t.map(t=>r.qy` <ha-md-list-item type="link" href="${`/config/zha/section/${t}`}"> <ha-svg-icon slot="start" .path="${H}"></ha-svg-icon> <div slot="headline"> ${this.hass.localize(`component.zha.config_panel.${t}.title`)||t} </div> <ha-icon-next slot="end"></ha-icon-next> </ha-md-list-item> `)} </ha-md-list> </div> </ha-card> `}_renderBackupCard(){return r.qy` <ha-card class="nav-card"> <div class="card-content"> <ha-md-list> <ha-md-list-item> <span slot="headline"> ${this.hass.localize("ui.panel.config.zha.configuration_page.download_backup")} </span> <span slot="supporting-text"> ${this.hass.localize("ui.panel.config.zha.configuration_page.download_backup_description")} </span> <ha-button appearance="plain" slot="end" size="small" @click="${this._createAndDownloadBackup}"> <ha-svg-icon .path="${x}" slot="start"></ha-svg-icon> ${this.hass.localize("ui.panel.config.zha.configuration_page.download_backup_action")} </ha-button> </ha-md-list-item> <ha-md-list-item> <span slot="headline"> ${this.hass.localize("ui.panel.config.zha.configuration_page.migrate_radio")} </span> <span slot="supporting-text"> ${this.hass.localize("ui.panel.config.zha.configuration_page.migrate_radio_description")} </span> <ha-button appearance="plain" slot="end" size="small" @click="${this._openOptionFlow}"> ${this.hass.localize("ui.panel.config.zha.configuration_page.migrate_radio_action")} </ha-button> </ha-md-list-item> </ha-md-list> </div> </ha-card> `}async _fetchConfigEntry(){const t=await(0,d.VN)(this.hass,{domain:"zha"});this._configEntry=t.find(t=>null===t.disabled_by&&"ignore"!==t.source)}async _fetchConfiguration(){this._configuration=await(0,h.Qo)(this.hass)}async _createAndDownloadBackup(){let t;try{t=await(0,h.Iu)(this.hass)}catch(t){return void(0,g.showAlertDialog)(this,{title:"Failed to create backup",text:t.message,warning:!0})}t.is_complete||await(0,g.showAlertDialog)(this,{title:"Backup is incomplete",text:"A backup has been created but it is incomplete and cannot be restored. This is a coordinator firmware limitation."});const a="data:text/plain;charset=utf-8,"+encodeURIComponent(JSON.stringify(t.backup,null,4));let e=`ZHA backup ${new Date(Date.parse(t.backup.backup_time)).toISOString().replace(/:/g,"-")}`;t.is_complete||(e=`Incomplete ${e}`),(0,m.R)(a,`${e}.json`)}_openOptionFlow(){this._configEntry&&(0,p.Q)(this,this._configEntry)}async _fetchDevicesAndGroups(){const[t,a]=await Promise.allSettled([(0,h.Uc)(this.hass),(0,h.pl)(this.hass)]);"fulfilled"===t.status?this._offlineDevices=t.value.filter(t=>!t.available).length:this._error=t.reason?.message||t.reason,"fulfilled"===a.status&&(this._totalGroups=a.value.length),this._asyncDataLoaded=!0}static get styles(){return[v.RF,s.R,r.AH`ha-card{margin:auto;margin-top:var(--ha-space-4);max-width:600px}.nav-card .card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--ha-space-2)}.nav-card{overflow:hidden}.nav-card .card-content{padding:0}.content{margin-top:var(--ha-space-6)}ha-md-list{background:0 0;padding:0}ha-md-list-item{--md-item-overflow:visible}ha-button[size=small] ha-svg-icon{--mdc-icon-size:16px}.network-status div.heading{display:flex;align-items:center;column-gap:var(--ha-space-4)}.network-status div.heading .logo{height:40px;width:40px;margin-inline-start:auto;object-fit:contain}.network-status div.heading .icon{position:relative;border-radius:var(--ha-border-radius-2xl);width:40px;height:40px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;--icon-color:var(--primary-color)}.network-status div.heading .icon.success{--icon-color:var(--success-color)}.network-status div.heading .icon.error{--icon-color:var(--error-color)}.network-status div.heading .icon::before{display:block;content:"";position:absolute;inset:0;background-color:var(--icon-color);opacity:.2}.network-status div.heading .icon ha-svg-icon{color:var(--icon-color);width:24px;height:24px}.network-status div.heading .details{font-size:var(--ha-font-size-xl);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed);color:var(--primary-text-color)}.network-status small{font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed);letter-spacing:.25px;color:var(--secondary-text-color)}.fade-in,.network-status small.offline{animation:fade-in var(--ha-animation-duration-slow) ease-in}.container{padding:var(--ha-space-2) var(--ha-space-4) calc(var(--ha-space-20) + var(--safe-area-inset-bottom,0px))}`]}constructor(...t){super(...t),this.narrow=!1,this.isWide=!1,this._offlineDevices=0,this._asyncDataLoaded=!1}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],V.prototype,"hass",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],V.prototype,"route",void 0),(0,i.Cg)([(0,n.MZ)({type:Boolean})],V.prototype,"narrow",void 0),(0,i.Cg)([(0,n.MZ)({attribute:"is-wide",type:Boolean})],V.prototype,"isWide",void 0),(0,i.Cg)([(0,n.wk)()],V.prototype,"_configEntry",void 0),(0,i.Cg)([(0,n.wk)()],V.prototype,"_configuration",void 0),(0,i.Cg)([(0,n.wk)()],V.prototype,"_offlineDevices",void 0),(0,i.Cg)([(0,n.wk)()],V.prototype,"_totalGroups",void 0),(0,i.Cg)([(0,n.wk)()],V.prototype,"_asyncDataLoaded",void 0),(0,i.Cg)([(0,n.wk)()],V.prototype,"_error",void 0),V=(0,i.Cg)([(0,n.EM)("zha-config-dashboard")],V),o()}catch(t){o(t)}})},14503(t,a,e){e.d(a,{RF:()=>r,dp:()=>l,kO:()=>s,nA:()=>n,og:()=>i});var o=e(5124);const i=o.AH`button.link{background:0 0;color:inherit;border:none;padding:0;font:inherit;text-align:left;text-decoration:underline;cursor:pointer;outline:0}`,r=o.AH`:host{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-m);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal)}app-header div[sticky]{height:48px}app-toolbar [main-title]{margin-left:20px;margin-inline-start:20px;margin-inline-end:initial}.header{transition:box-shadow .2s linear,width var(--ha-animation-duration-normal) ease,padding-left var(--ha-animation-duration-normal) ease,padding-right var(--ha-animation-duration-normal) ease}@media (prefers-reduced-motion:reduce){.header{transition:box-shadow .2s linear}}h1{font-family:var(--ha-font-family-heading);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-2xl);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed)}h2{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--ha-font-size-xl);font-weight:var(--ha-font-weight-medium);line-height:var(--ha-line-height-normal)}h3{font-family:var(--ha-font-family-body);-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal)}a{color:var(--primary-color)}.secondary{color:var(--secondary-text-color)}.error{color:var(--error-color)}.warning{color:var(--error-color)}${i} .card-actions a{text-decoration:none}.card-actions .warning{--mdc-theme-primary:var(--error-color)}.layout.horizontal,.layout.vertical{display:flex}.layout.inline{display:inline-flex}.layout.horizontal{flex-direction:row}.layout.vertical{flex-direction:column}.layout.wrap{flex-wrap:wrap}.layout.no-wrap{flex-wrap:nowrap}.layout.center,.layout.center-center{align-items:center}.layout.bottom{align-items:flex-end}.layout.center-center,.layout.center-justified{justify-content:center}.flex{flex:1;flex-basis:0.000000001px}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.layout.justified{justify-content:space-between}`,n=o.AH`ha-adaptive-dialog,ha-dialog{--mdc-dialog-min-width:400px;--mdc-dialog-max-width:600px;--mdc-dialog-max-width:min(600px, 95vw);--justify-action-buttons:space-between;--dialog-container-padding:var(--safe-area-inset-top, 0) var(--safe-area-inset-right, 0) var(--safe-area-inset-bottom, 0) var(--safe-area-inset-left, 0);--dialog-surface-padding:0px}ha-adaptive-dialog .form,ha-dialog .form{color:var(--primary-text-color)}a{color:var(--primary-color)}@media all and (max-width:450px),all and (max-height:500px){ha-adaptive-dialog,ha-dialog{--mdc-dialog-min-width:100vw;--mdc-dialog-max-width:100vw;--mdc-dialog-min-height:100vh;--mdc-dialog-min-height:100svh;--mdc-dialog-max-height:100vh;--mdc-dialog-max-height:100svh;--dialog-container-padding:0px;--dialog-surface-padding:var(--safe-area-inset-top, 0) var(--safe-area-inset-right, 0) var(--safe-area-inset-bottom, 0) var(--safe-area-inset-left, 0);--vertical-align-dialog:flex-end}ha-dialog{--ha-dialog-border-radius:var(--ha-border-radius-square)}}.error{color:var(--error-color)}`,s=o.AH`ha-adaptive-dialog,ha-dialog{--vertical-align-dialog:flex-start;--dialog-surface-margin-top:var(--ha-space-10);--mdc-dialog-max-height:calc( 100vh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var( --safe-area-inset-y, 0px ) );--mdc-dialog-max-height:calc( 100svh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var( --safe-area-inset-y, 0px ) );--ha-dialog-max-height:calc( 100vh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var( --safe-area-inset-y, 0px ) );--ha-dialog-max-height:calc( 100svh - var(--dialog-surface-margin-top) - var(--ha-space-2) - var( --safe-area-inset-y, 0px ) )}@media all and (max-width:450px),all and (max-height:500px){ha-adaptive-dialog,ha-dialog{--dialog-surface-margin-top:0px;--mdc-dialog-min-height:100vh;--mdc-dialog-min-height:100svh;--mdc-dialog-max-height:100vh;--mdc-dialog-max-height:100svh;--ha-dialog-max-height:100vh;--ha-dialog-max-height:100svh}}`,l=o.AH`.ha-scrollbar::-webkit-scrollbar{width:.4rem;height:.4rem}.ha-scrollbar::-webkit-scrollbar-thumb{border-radius:var(--ha-border-radius-sm);background:var(--scrollbar-thumb-color)}.ha-scrollbar{overflow-y:auto;scrollbar-color:var(--scrollbar-thumb-color) transparent;scrollbar-width:thin}`;o.AH`body{background-color:var(--primary-background-color);color:var(--primary-text-color);height:calc(100vh - 32px);width:100vw}`},30039(t,a,e){e.d(a,{R:()=>i});e(14603),e(47566),e(98721);var o=e(16869);const i=(t,a="")=>{const e=document.createElement("a");e.target="_blank",e.href=t,e.download=a,e.style.display="none",document.body.appendChild(e),e.dispatchEvent(new MouseEvent("click")),document.body.removeChild(e),t.startsWith("blob:")&&(o.B?setTimeout(()=>URL.revokeObjectURL(t),1e4):URL.revokeObjectURL(t))}}};