iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
8 lines • 28.9 kB
JavaScript
export const __webpack_ids__=["65780"];export const __webpack_modules__={50875:function(e,t,i){i.d(t,{Eu:()=>s,hZ:()=>r,o9:()=>d});var o=i(27486),a=i(11259);const n=["#4269d0","#f4bd4a","#ff725c","#6cc5b0","#a463f2","#ff8ab7","#9c6b4e","#97bbf5","#01ab63","#9498a0","#094bad","#c99000","#d84f3e","#49a28f","#048732","#d96895","#8043ce","#7599d1","#7a4c31","#74787f","#6989f4","#ffd444","#ff957c","#8fe9d3","#62cc71","#ffadda","#c884ff","#badeff","#bf8b6d","#b6bac2","#927acc","#97ee3f","#bf3947","#9f5b00","#f48758","#8caed6","#f2b94f","#eff26e","#e43872","#d9b100","#9d7a00","#698cff","#d9d9d9","#00d27e","#d06800","#009f82","#c49200","#cbe8ff","#fecddf","#c27eb6","#8cd2ce","#c4b8d9","#f883b0","#a49100","#f48800","#27d0df","#a04a9b"];function s(e){return n[e%n.length]}function r(e,t){const i=t.getPropertyValue(`--graph-color-${e+1}`)||s(e);return(0,a.Rq)(i)}const d=(0,o.Z)((e=>n.map(((t,i)=>r(i,e)))),((e,t)=>e[0].getPropertyValue("--graph-color-1")===t[0].getPropertyValue("--graph-color-1")))},34618:function(e,t,i){i.d(t,{N:()=>o});const o=(e,t=2)=>Math.round(e*10**t)/10**t},29095:function(e,t,i){i.a(e,(async function(e,t){try{var o=i(44249),a=i(57243),n=i(15093),s=(i(59826),i(17170)),r=(i(37583),e([s]));s=(r.then?(await r)():r)[0];const d="M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M13,17V15H11V17H13M13,13V7H11V13H13Z",l="M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z";(0,o.Z)([(0,n.Mo)("ha-progress-button")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"progress",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"raised",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"unelevated",value:()=>!1},{kind:"field",decorators:[(0,n.SB)()],key:"_result",value:void 0},{kind:"method",key:"render",value:function(){const e=this._result||this.progress;return a.dy` <ha-button .raised="${this.raised}" .label="${this.label}" .unelevated="${this.unelevated}" .disabled="${this.disabled||this.progress}" class="${this._result||""}"> <slot name="icon" slot="icon"></slot> <slot></slot> </ha-button> ${e?a.dy` <div class="progress"> ${"success"===this._result?a.dy`<ha-svg-icon .path="${l}"></ha-svg-icon>`:"error"===this._result?a.dy`<ha-svg-icon .path="${d}"></ha-svg-icon>`:this.progress?a.dy`<ha-spinner size="small"></ha-spinner>`:a.Ld} </div> `:a.Ld} `}},{kind:"method",key:"actionSuccess",value:function(){this._setResult("success")}},{kind:"method",key:"actionError",value:function(){this._setResult("error")}},{kind:"method",key:"_setResult",value:function(e){this._result=e,setTimeout((()=>{this._result=void 0}),2e3)}},{kind:"field",static:!0,key:"styles",value:()=>a.iv`:host{outline:0;display:inline-block;position:relative;pointer-events:none}ha-button{transition:all 1s;pointer-events:initial}ha-button.success{--mdc-theme-primary:white;background-color:var(--success-color);transition:none;border-radius:4px;pointer-events:none}ha-button[raised].success,ha-button[unelevated].success{--mdc-theme-primary:var(--success-color);--mdc-theme-on-primary:white}ha-button.error{--mdc-theme-primary:white;background-color:var(--error-color);transition:none;border-radius:4px;pointer-events:none}ha-button[raised].error,ha-button[unelevated].error{--mdc-theme-primary:var(--error-color);--mdc-theme-on-primary:white}.progress{bottom:4px;position:absolute;text-align:center;top:4px;width:100%}ha-svg-icon{color:#fff}ha-button.error slot,ha-button.success slot{visibility:hidden}:host([destructive]){--mdc-theme-primary:var(--error-color)}`}]}}),a.oi);t()}catch(e){t(e)}}))},99426:function(e,t,i){i.r(t);var o=i(44249),a=i(57243),n=i(15093),s=i(35359),r=i(36522);i(23334),i(37583);const d={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"};(0,o.Z)([(0,n.Mo)("ha-alert")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)()],key:"title",value:()=>""},{kind:"field",decorators:[(0,n.Cb)({attribute:"alert-type"})],key:"alertType",value:()=>"info"},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"dismissable",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"method",key:"render",value:function(){return a.dy` <div class="issue-type ${(0,s.$)({[this.alertType]:!0})}" role="alert"> <div class="icon ${this.title?"":"no-title"}"> <slot name="icon"> <ha-svg-icon .path="${d[this.alertType]}"></ha-svg-icon> </slot> </div> <div class="${(0,s.$)({content:!0,narrow:this.narrow})}"> <div class="main-content"> ${this.title?a.dy`<div class="title">${this.title}</div>`:a.Ld} <slot></slot> </div> <div class="action"> <slot name="action"> ${this.dismissable?a.dy`<ha-icon-button @click="${this._dismissClicked}" label="Dismiss alert" .path="${"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"}"></ha-icon-button>`:a.Ld} </slot> </div> </div> </div> `}},{kind:"method",key:"_dismissClicked",value:function(){(0,r.B)(this,"alert-dismissed-clicked")}},{kind:"field",static:!0,key:"styles",value:()=>a.iv`.issue-type{position:relative;padding:8px;display:flex}.issue-type::after{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;content:"";border-radius:4px}.icon{z-index:1}.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;margin-left:8px;margin-right:0;margin-inline-start:8px;margin-inline-end:0}.title{margin-top:2px;font-weight:700}.action ha-icon-button,.action mwc-button{--mdc-theme-primary:var(--primary-text-color);--mdc-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}`}]}}),a.oi)},59826:function(e,t,i){var o=i(44249),a=i(31622),n=i(57243),s=i(15093),r=i(22344);(0,o.Z)([(0,s.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)}`]}]}}),a.Button)},4935:function(e,t,i){var o=i(44249),a=i(72621),n=i(57243),s=i(15093),r=i(7285);(0,o.Z)([(0,s.Mo)("ha-clickable-list-item")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,s.Cb)()],key:"href",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"disable-href",type:Boolean})],key:"disableHref",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({attribute:"open-new-tab",type:Boolean,reflect:!0})],key:"openNewTab",value:()=>!1},{kind:"field",decorators:[(0,s.IO)("a")],key:"_anchor",value:void 0},{kind:"method",key:"render",value:function(){const e=(0,a.Z)(i,"render",this,3)([]),t=this.href||"";return n.dy`${this.disableHref?n.dy`<a href="#" class="disabled">${e}</a>`:n.dy`<a target="${this.openNewTab?"_blank":""}" href="${t}">${e}</a>`}`}},{kind:"method",key:"firstUpdated",value:function(){(0,a.Z)(i,"firstUpdated",this,3)([]),this.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||this._anchor.click()}))}},{kind:"get",static:!0,key:"styles",value:function(){return[(0,a.Z)(i,"styles",this),n.iv`a{width:100%;height:100%;display:flex;align-items:center;overflow:hidden}.disabled{pointer-events:none}`]}}]}}),r.M)},30509:function(e,t,i){var o=i(44249),a=i(57243),n=i(15093);(0,o.Z)([(0,n.Mo)("ha-settings-row")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"slim",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,attribute:"three-line"})],key:"threeLine",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],key:"wrapHeading",value:()=>!1},{kind:"method",key:"render",value:function(){return a.dy` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${!this.threeLine}" ?three-line="${this.threeLine}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `}},{kind:"field",static:!0,key:"styles",value:()=>a.iv`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:var(--paper-item-body-three-line-min-height,88px)}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var(
--mdc-typography-body2-font-family,
var(--mdc-typography-font-family, Roboto, sans-serif)
);-webkit-font-smoothing:antialiased;font-size:var(--mdc-typography-body2-font-size, .875rem);font-weight:var(--mdc-typography-body2-font-weight,400);line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(var(--paper-item-body-two-line-min-height,72px) - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`}]}}),a.oi)},17170:function(e,t,i){i.a(e,(async function(e,o){try{i.r(t),i.d(t,{HaSpinner:()=>h});var a=i(44249),n=i(72621),s=i(97677),r=i(43580),d=i(57243),l=i(15093),c=e([s]);s=(c.then?(await c)():c)[0];let h=(0,a.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)}`]}]}}),s.Z);o()}catch(e){o(e)}}))},75101:function(e,t,i){i.d(t,{$H:()=>o,DJ:()=>r,LZ:()=>n,Nn:()=>p,Ny:()=>u,Pk:()=>y,Q4:()=>s,RQ:()=>l,SO:()=>c,T0:()=>f,aR:()=>a,iJ:()=>h,pB:()=>d});i(9359),i(56475),i(1331);const o=(e,t)=>e.callWS({type:"config_entries/subentries/list",entry_id:t}),a=(e,t,i)=>e.callWS({type:"config_entries/subentries/delete",entry_id:t,subentry_id:i}),n=["migration_error","setup_error","setup_retry"],s=["not_loaded","loaded","setup_error","setup_retry"],r=(e,t,i)=>{const o={type:"config_entries/subscribe"};return i&&i.type&&(o.type_filter=i.type),e.connection.subscribeMessage((e=>t(e)),o)},d=(e,t)=>{const i={};return t&&(t.type&&(i.type_filter=t.type),t.domain&&(i.domain=t.domain)),e.callWS({type:"config_entries/get",...i})},l=(e,t)=>e.callWS({type:"config_entries/get_single",entry_id:t}),c=(e,t,i)=>e.callWS({type:"config_entries/update",entry_id:t,...i}),h=(e,t)=>e.callApi("DELETE",`config/config_entries/entry/${t}`),p=(e,t)=>e.callApi("POST",`config/config_entries/entry/${t}/reload`),u=(e,t)=>e.callWS({type:"config_entries/disable",entry_id:t,disabled_by:"user"}),f=(e,t)=>e.callWS({type:"config_entries/disable",entry_id:t,disabled_by:null}),y=(e,t)=>{if(!t)return e;const i=e.find((e=>e.entry_id===t));if(!i)return e;return[i,...e.filter((e=>e.entry_id!==t))]}},45594:function(e,t,i){i.d(t,{Fv:()=>s,e1:()=>n,eH:()=>o,lJ:()=>a});const o=(e,t)=>e.callApi("POST","config/config_entries/options/flow",{handler:t,show_advanced_options:Boolean(e.userData?.showAdvanced)}),a=(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),s=(e,t)=>e.callApi("DELETE",`config/config_entries/options/flow/${t}`)},32503:function(e,t,i){i.d(t,{k:()=>o});const o=e=>e.callWS({type:"usb/scan"})},7956:function(e,t,i){i.d(t,{w:()=>n});var o=i(36522);const a=()=>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,o.B)(e,"show-dialog",{dialogTag:"dialog-data-entry-flow",dialogImport:a,dialogParams:{...t,flowConfig:i,dialogParentElement:e}})}},91854:function(e,t,i){i.d(t,{c:()=>r});var o=i(57243),a=i(57816),n=i(45594),s=i(7956);const r=(e,t,i)=>(0,s.w)(e,{startFlowHandler:t.entry_id,domain:t.domain,...i},{flowType:"options_flow",showDevices:!1,createFlow:async(e,i)=>{const[o]=await Promise.all([(0,n.eH)(e,i),e.loadFragmentTranslation("config"),e.loadBackendTranslation("options",t.domain),e.loadBackendTranslation("selector",t.domain)]);return o},fetchFlow:async(e,i)=>{const[o]=await Promise.all([(0,n.lJ)(e,i),e.loadFragmentTranslation("config"),e.loadBackendTranslation("options",t.domain),e.loadBackendTranslation("selector",t.domain)]);return o},handleFlowStep:n.e1,deleteFlow:n.Fv,renderAbortDescription(e,i){const a=e.localize(`component.${i.translation_domain||t.domain}.options.abort.${i.reason}`,i.description_placeholders);return a?o.dy` <ha-markdown breaks allow-svg .content="${a}"></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 a=e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.description`,i.description_placeholders);return a?o.dy` <ha-markdown allow-svg breaks .content="${a}"></ha-markdown> `:""},renderShowFormStepFieldLabel(e,i,o,a){if("expandable"===o.type)return e.localize(`component.${t.domain}.options.step.${i.step_id}.sections.${o.name}.name`);const n=a?.path?.[0]?`sections.${a.path[0]}.`:"";return e.localize(`component.${t.domain}.options.step.${i.step_id}.${n}data.${o.name}`)||o.name},renderShowFormStepFieldHelper(e,i,a,n){if("expandable"===a.type)return e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.sections.${a.name}.description`);const s=n?.path?.[0]?`sections.${n.path[0]}.`:"",r=e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.${s}data_description.${a.name}`,i.description_placeholders);return r?o.dy`<ha-markdown breaks .content="${r}"></ha-markdown>`:""},renderShowFormStepFieldError:(e,i,o)=>e.localize(`component.${i.translation_domain||t.domain}.options.error.${o}`,i.description_placeholders)||o,renderShowFormStepFieldLocalizeValue:(e,i,o)=>e.localize(`component.${t.domain}.selector.${o}`),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)=>o.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 a=e.localize(`component.${i.translation_domain||t.domain}.options.progress.${i.progress_action}`,i.description_placeholders);return a?o.dy` <ha-markdown allow-svg breaks .content="${a}"></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 a=e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.description`,i.description_placeholders);return a?o.dy` <ha-markdown allow-svg breaks .content="${a}"></ha-markdown> `:""},renderMenuOption:(e,i,o)=>e.localize(`component.${i.translation_domain||t.domain}.options.step.${i.step_id}.menu_options.${o}`,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,a.Lh)(e.localize,t.domain)}):"")})},40656:function(e,t,i){i.a(e,(async function(e,o){try{i.r(t);var a=i(44249),n=i(72621),s=(i(92745),i(9359),i(56475),i(1331),i(31526),i(70104),i(52924),i(2060),i(87319),i(57243)),r=i(15093),d=i(27486),l=i(72344),c=i(34618),h=i(45061),p=i(29095),u=i(25179),f=(i(99426),i(54977),i(4935),i(23334),i(13928),i(30509),i(75101)),y=i(46900),m=i(67044),g=i(32503),v=i(91854),b=i(12170),_=(i(87979),i(6736)),w=i(36671),k=i(28008),$=i(88238),x=i(51527),L=i(56785),z=e([p,u]);[p,u]=z.then?(await z)():z;const S="M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13",E=60,C={type:"line",color:w.QF,areaStyle:{color:w.QF+"2B"},symbolSize:0,lineStyle:{width:1},smooth:.25};(0,a.Z)([(0,r.Mo)("ha-config-hardware")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"field",decorators:[(0,r.SB)()],key:"_error",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_OSData",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_hardwareInfo",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_chartOptions",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_systemStatusData",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_configEntries",value:void 0},{kind:"field",key:"_memoryEntries",value:()=>[]},{kind:"field",key:"_cpuEntries",value:()=>[]},{kind:"method",key:"hassSubscribe",value:function(){const e=[(0,f.DJ)(this.hass,(e=>{let t=!1;const i=[];if(e.forEach((e=>{if(null===e.type||"added"===e.type)i.push(e.entry),null===e.type&&(t=!0);else if("removed"===e.type)this._configEntries&&delete this._configEntries[e.entry.entry_id];else if("updated"===e.type&&this._configEntries){const t=e.entry;this._configEntries[e.entry.entry_id]=t}})),!i.length&&!t)return;const o=[...t?[]:Object.values(this._configEntries||{}),...i],a={};for(const e of o)a[e.entry_id]=e;this._configEntries=a}),{type:["hardware"]})];return(0,l.p)(this.hass,"hardware")&&e.push(this.hass.connection.subscribeMessage((e=>{this._memoryEntries.shift(),this._cpuEntries.shift(),this._memoryEntries.push([new Date(e.timestamp).getTime(),e.memory_used_percent]),this._cpuEntries.push([new Date(e.timestamp).getTime(),e.cpu_percent]),this._systemStatusData=e}),{type:"hardware/subscribe_system_status"})),e}},{kind:"method",key:"willUpdate",value:function(){this.hasUpdated||this._chartOptions||(this._chartOptions={xAxis:{type:"time"},yAxis:{type:"value",splitLine:{show:!0},axisLabel:{formatter:e=>e+(0,h.K)(this.hass.locale)+"%"},axisLine:{show:!1},scale:!0},grid:{top:10,bottom:10,left:10,right:10,containLabel:!0},tooltip:{trigger:"axis",valueFormatter:e=>e+(0,h.K)(this.hass.locale)+"%"}})}},{kind:"method",key:"firstUpdated",value:function(e){(0,n.Z)(i,"firstUpdated",this,3)([e]),this._load();const t=new Date;for(let e=0;e<E;e++){const i=new Date(t);i.setSeconds(i.getSeconds()-5*(E-e)),this._memoryEntries.push([i.getTime(),null]),this._cpuEntries.push([i.getTime(),null])}}},{kind:"method",key:"render",value:function(){let e,t,i,o,a=[];const n=this._hardwareInfo?.hardware.find((e=>null!==e.board)),r=this._hardwareInfo?.hardware.filter((e=>null!==e.dongle&&(!e.config_entries.length||e.config_entries.some((e=>this._configEntries?.[e]&&!this._configEntries[e].disabled_by)))));return n?(a=n.config_entries.map((e=>this._configEntries?.[e])).filter((e=>e?.supports_options&&!e.disabled_by)),e=n.board.hassio_board_id,t=n.name,o=n.url,i=(0,$.RU)({category:"boards",manufacturer:n.board.manufacturer,model:n.board.model,darkOptimized:this.hass.themes?.darkMode})):this._OSData?.board&&(e=this._OSData.board,t=y.d[this._OSData.board]),s.dy` <hass-subpage back-path="/config/system" .hass="${this.hass}" .narrow="${this.narrow}" .header="${this.hass.localize("ui.panel.config.hardware.caption")}"> ${(0,l.p)(this.hass,"hassio")?s.dy` <ha-icon-button slot="toolbar-icon" .path="${S}" .label="${this.hass.localize("ui.panel.config.hardware.restart_homeassistant")}" @click="${this._showRestartDialog}"></ha-icon-button> `:""} ${this._error?s.dy`<ha-alert alert-type="error">${this._error}</ha-alert>`:""} <div class="content"> ${t||(0,l.p)(this.hass,"hassio")?s.dy` <ha-card outlined> <div class="card-content"> ${i?s.dy`<img alt="" src="${i}" crossorigin="anonymous" referrerpolicy="no-referrer">`:""} <div class="board-info"> <p class="primary-text"> ${t||this.hass.localize("ui.panel.config.hardware.generic_hardware")} </p> ${e?s.dy`<p class="secondary-text">${e}</p>`:""} </div> </div> ${o?s.dy` <mwc-list> <ha-clickable-list-item .href="${o}" open-new-tab twoline hasMeta> <span>${this.hass.localize("ui.panel.config.hardware.documentation")}</span> <span slot="secondary">${this.hass.localize("ui.panel.config.hardware.documentation_description")}</span> <ha-icon-next slot="meta"></ha-icon-next> </ha-clickable-list-item> </mwc-list> `:""} ${a.length||(0,l.p)(this.hass,"hassio")?s.dy`<div class="card-actions"> ${a.length?s.dy` <mwc-button .entry="${a[0]}" @click="${this._openOptionsFlow}"> ${this.hass.localize("ui.panel.config.hardware.configure")} </mwc-button> `:s.Ld} ${(0,l.p)(this.hass,"hassio")?s.dy` <mwc-button @click="${this._openHardware}"> ${this.hass.localize("ui.panel.config.hardware.available_hardware.title")} </mwc-button> `:s.Ld} </div>`:""} </ha-card> `:""} ${r?.length?s.dy`<ha-card outlined> ${r.map((e=>{const t=e.config_entries.map((e=>this._configEntries?.[e])).filter((e=>e?.supports_options&&!e.disabled_by))[0];return s.dy`<div class="row"> ${e.name}${t?s.dy`<mwc-button .entry="${t}" @click="${this._openOptionsFlow}"> ${this.hass.localize("ui.panel.config.hardware.configure")} </mwc-button>`:""} </div>`}))} </ha-card>`:""} ${this._systemStatusData?s.dy`<ha-card outlined> <div class="header"> <div class="title"> ${this.hass.localize("ui.panel.config.hardware.processor")} </div> <div class="value"> ${this._systemStatusData.cpu_percent||"-"}${(0,h.K)(this.hass.locale)}% </div> </div> <div class="card-content"> <ha-chart-base .hass="${this.hass}" .data="${this._getChartData(this._cpuEntries)}" .options="${this._chartOptions}"></ha-chart-base> </div> </ha-card> <ha-card outlined> <div class="header"> <div class="title"> ${this.hass.localize("ui.panel.config.hardware.memory")} </div> <div class="value"> ${(0,c.N)(this._systemStatusData.memory_used_mb/1024,1)} GB / ${(0,c.N)((this._systemStatusData.memory_used_mb+this._systemStatusData.memory_free_mb)/1024,0)} GB </div> </div> <div class="card-content"> <ha-chart-base .hass="${this.hass}" .data="${this._getChartData(this._memoryEntries)}" .options="${this._chartOptions}"></ha-chart-base> </div> </ha-card>`:(0,l.p)(this.hass,"hardware")?s.dy`<ha-card outlined> <div class="card-content"> <div class="value"> ${this.hass.localize("ui.panel.config.hardware.loading_system_data")} </div> </div> </ha-card>`:""} </div> </hass-subpage> `}},{kind:"method",key:"_load",value:async function(){(0,l.p)(this.hass,"usb")&&await(0,g.k)(this.hass);const e=(0,l.p)(this.hass,"hassio");try{(0,l.p)(this.hass,"hardware")&&(this._hardwareInfo=await this.hass.callWS({type:"hardware/info"})),e&&!this._hardwareInfo?.hardware.length&&(this._OSData=await(0,m.AP)(this.hass))}catch(e){this._error=(0,L.js)(e)}}},{kind:"method",key:"_openOptionsFlow",value:async function(e){const t=e.currentTarget.entry;t&&(0,v.c)(this,t)}},{kind:"method",key:"_openHardware",value:async function(){(0,x.l)(this)}},{kind:"method",key:"_showRestartDialog",value:async function(){(0,b.s)(this)}},{kind:"field",key:"_getChartData",value(){return(0,d.Z)((e=>[{...C,id:e===this._cpuEntries?"cpu":"memory",name:e===this._cpuEntries?this.hass.localize("ui.panel.config.hardware.processor"):this.hass.localize("ui.panel.config.hardware.memory"),data:e}]))}},{kind:"field",static:!0,key:"styles",value:()=>[k.Qx,s.iv`.content{padding:28px 20px 0;max-width:1040px;margin:0 auto;--mdc-list-side-padding:24px;--mdc-list-vertical-padding:0}ha-card{max-width:600px;margin:0 auto;height:100%;justify-content:space-between;flex-direction:column;display:flex;margin-bottom:16px}.card-content{display:flex;justify-content:space-between;flex-direction:column;padding:16px}.card-content img{max-width:300px;margin:auto}.board-info{text-align:center}.primary-text{font-size:16px;margin:0}.secondary-text{font-size:14px;margin-bottom:0;color:var(--secondary-text-color)}.header{padding:16px;display:flex;justify-content:space-between}.header .title{color:var(--secondary-text-color);font-size:18px}.header .value{font-size:16px}.row{display:flex;justify-content:space-between;align-items:center;height:48px;padding:8px 16px}.card-actions{display:flex;justify-content:space-between}`]}]}}),(0,_.f)(s.oi));o()}catch(e){o(e)}}))},51527:function(e,t,i){i.d(t,{l:()=>n});var o=i(36522);const a=()=>Promise.all([i.e("46379"),i.e("66031"),i.e("97983"),i.e("83895"),i.e("8795"),i.e("70949")]).then(i.bind(i,42809)),n=e=>{(0,o.B)(e,"show-dialog",{dialogTag:"ha-dialog-hardware-available",dialogImport:a,dialogParams:{}})}},88238:function(e,t,i){i.d(t,{RU:()=>a,X1:()=>o,u4:()=>n,zC:()=>s});const o=e=>`https://brands.home-assistant.io/${e.brand?"brands/":""}${e.useFallback?"_/":""}${e.domain}/${e.darkOptimized?"dark_":""}${e.type}.png`,a=e=>`https://brands.home-assistant.io/hardware/${e.category}/${e.darkOptimized?"dark_":""}${e.manufacturer}${e.model?`_${e.model}`:""}.png`,n=e=>e.split("/")[4],s=e=>e.startsWith("https://brands.home-assistant.io/")}};
//# sourceMappingURL=65780.3389c99c42e9d116.js.map