From a4d25dc364475586854b41ed8cddedcfaa08f41a Mon Sep 17 00:00:00 2001 From: Home Assistant Version Control Date: Thu, 8 Oct 2026 13:33:42 +0000 Subject: [PATCH] 5 files --- .../simple-thermostat.debug.js | 87 ++++++++---------- .../simple-thermostat.debug.js.gz | Bin 69511 -> 69531 bytes .../simple-thermostat/simple-thermostat.js | 46 ++++----- .../simple-thermostat/simple-thermostat.js.gz | Bin 54774 -> 54826 bytes zigbee2mqtt/state.json | 42 ++++----- 5 files changed, 81 insertions(+), 94 deletions(-) diff --git a/www/community/simple-thermostat/simple-thermostat.debug.js b/www/community/simple-thermostat/simple-thermostat.debug.js index 576eeac1..cf75167d 100644 --- a/www/community/simple-thermostat/simple-thermostat.debug.js +++ b/www/community/simple-thermostat/simple-thermostat.debug.js @@ -1,5 +1,5 @@ (function() { - const env = {"DEBUG":true,"BUILD_TIME":"2026-10-02T16:09:58-02:30"}; + const env = {"DEBUG":true,"BUILD_TIME":"2026-10-07T18:06:36-02:30"}; try { if (process) { process.env = Object.assign({}, process.env); @@ -11,7 +11,7 @@ })(); var name = "simple-thermostat"; -var version = "4.5.1"; +var version = "4.5.2"; function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; @@ -4073,6 +4073,37 @@ function isEntityAvailable(entity) { ['button', 'input_button', 'scene'].includes(entity.entity_id?.split('.')[0] ?? '')); } +const TOGGLE_DOMAINS = [ + 'automation', + 'fan', + 'humidifier', + 'input_boolean', + 'light', + 'switch', +]; +const BUTTON_DOMAINS = ['button', 'input_button', 'script', 'scene']; +function callEntityAction(hass, entityId, checked) { + const state = hass.states?.[entityId]; + if (!isEntityAvailable(state)) + return; + const [domain] = entityId.split('.'); + const isToggle = TOGGLE_DOMAINS.includes(domain); + const service = isToggle + ? `turn_${checked ?? (state.state !== 'on') ? 'on' : 'off'}` + : domain === 'button' || domain === 'input_button' + ? 'press' + : 'turn_on'; + const actionDomain = isToggle ? 'homeassistant' : domain; + if (typeof hass.performAction === 'function') { + hass.performAction({ + action: `${actionDomain}.${service}`, + data: { entity_id: entityId }, + }); + } + else { + hass.callService?.(actionDomain, service, { entity_id: entityId }); + } +} function getEntityActionAttribute(entity) { if (typeof entity.entity_id !== 'string') return undefined; @@ -6923,52 +6954,10 @@ function renderTemplateContent(markup, hass) { : o(markup); } -const TOGGLE_DOMAINS = [ - 'automation', - 'fan', - 'humidifier', - 'input_boolean', - 'light', - 'switch', -]; -const BUTTON_DOMAINS = ['button', 'input_button', 'script', 'scene']; const DISPLAY_VALUES = ['row', 'auto', 'button', 'toggle', 'chip']; -function toggleEntity(hass, entityId, checked) { - if (!isEntityAvailable(hass.states?.[entityId])) - return; - const service = `turn_${checked ? 'on' : 'off'}`; - if (typeof hass.performAction === 'function') { - hass.performAction({ - action: `homeassistant.${service}`, - data: { entity_id: entityId }, - }); - } - else { - hass.callService('homeassistant', service, { entity_id: entityId }); - } -} function safeClass$1(value) { return String(value ?? '').replace(/[^a-z0-9_-]/gi, ''); } -function callEntityAction(hass, entityId, domain) { - if (!isEntityAvailable(hass.states?.[entityId])) - return; - if (TOGGLE_DOMAINS.includes(domain)) { - const checked = hass.states?.[entityId]?.state !== 'on'; - toggleEntity(hass, entityId, checked); - return; - } - const service = domain === 'button' || domain === 'input_button' ? 'press' : 'turn_on'; - if (typeof hass.performAction === 'function') { - hass.performAction({ - action: `${domain}.${service}`, - data: { entity_id: entityId }, - }); - } - else { - hass.callService(domain, service, { entity_id: entityId }); - } -} function renderIconTemplate({ icon, state, attribute, hass, config, variables, localize, }) { if (typeof icon !== 'string' || !icon.includes('{{') || @@ -7181,7 +7170,7 @@ function renderInfoItem({ hide = false, hass, state, details, localize, openEnti title=${entityTooltip} aria-pressed=${isToggleEntity ? String(active) : A} @click=${() => supportsAction - ? callEntityAction(hass, state.entity_id, domain) + ? callEntityAction(hass, state.entity_id) : canOpenEntity ? openEntityPopover(state.entity_id) : undefined} @@ -7215,7 +7204,7 @@ function renderInfoItem({ hide = false, hass, state, details, localize, openEnti toggleEntity(hass, state.entity_id, ev.target.checked)} + @change=${(ev) => callEntityAction(hass, state.entity_id, ev.target.checked)} > `; @@ -8114,11 +8103,9 @@ class SimpleThermostat extends i$1 { }); }; this.toggleFooterEntity = (entityId, checked) => { - if (!isEntityAvailable(this._hass?.states?.[entityId])) + if (!this._hass) return; - this._callAction(`homeassistant.turn_${checked ? 'on' : 'off'}`, { - entity_id: entityId, - }); + callEntityAction(this._hass, entityId, checked); fireEvent(this, 'haptic', 'light'); }; this._stopSetpointRepeat = () => { diff --git a/www/community/simple-thermostat/simple-thermostat.debug.js.gz b/www/community/simple-thermostat/simple-thermostat.debug.js.gz index 26acf3c71c3ef2d32888a4c73402adc03d0f6dec..c22497d8e0012852004aba5713657e8e1a98d055 100644 GIT binary patch delta 69143 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 N1L1L(#lt581pw~nNjm@l delta 69226 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 z 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 hFdck7hy) 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 diff --git a/www/community/simple-thermostat/simple-thermostat.js b/www/community/simple-thermostat/simple-thermostat.js index 328cc941..9d60e9b3 100644 --- a/www/community/simple-thermostat/simple-thermostat.js +++ b/www/community/simple-thermostat/simple-thermostat.js @@ -1,4 +1,4 @@ -!function(){const t={DEBUG:!1,BUILD_TIME:"2026-10-02T16:09:58-02:30"};try{if(process)return process.env=Object.assign({},process.env),void Object.assign(process.env,t)}catch(t){}globalThis.process={env:t}}();var t="simple-thermostat",e="4.5.1";function i(t,e,i,a){var o,n=arguments.length,r=n<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,a);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(r=(n<3?o(r):n>3?o(e,i,r):o(e,i))||r);return n>3&&r&&Object.defineProperty(e,i,r),r}"function"==typeof SuppressedError&&SuppressedError;const a=globalThis,o=a.ShadowRoot&&(void 0===a.ShadyCSS||a.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,n=Symbol(),r=new WeakMap;let s=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==n)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(o&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=r.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&r.set(e,t))}return t}toString(){return this.cssText}};const c=(t,...e)=>{const i=1===t.length?t[0]:e.reduce((e,i,a)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[a+1],t[0]);return new s(i,t,n)},l=o?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new s("string"==typeof t?t:t+"",void 0,n))(e)})(t):t,{is:d,defineProperty:h,getOwnPropertyDescriptor:u,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,f=globalThis,v=f.trustedTypes,y=v?v.emptyScript:"",b=f.reactiveElementPolyfillSupport,_=(t,e)=>t,w={toAttribute(t,e){switch(e){case Boolean:t=t?y:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},x=(t,e)=>!d(t,e),$={attribute:!0,type:String,converter:w,reflect:!1,useDefault:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;let S=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=$){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),a=this.getPropertyDescriptor(t,i,e);void 0!==a&&h(this.prototype,t,a)}}static getPropertyDescriptor(t,e,i){const{get:a,set:o}=u(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:a,set(e){const n=a?.call(this);o?.call(this,e),this.requestUpdate(t,n,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$}static _$Ei(){if(this.hasOwnProperty(_("elementProperties")))return;const t=g(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(_("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(_("properties"))){const t=this.properties,e=[...p(t),...m(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(l(t))}else void 0!==t&&e.push(l(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{if(o)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const i of e){const e=document.createElement("style"),o=a.litNonce;void 0!==o&&e.setAttribute("nonce",o),e.textContent=i.cssText,t.appendChild(e)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),a=this.constructor._$Eu(t,i);if(void 0!==a&&!0===i.reflect){const o=(void 0!==i.converter?.toAttribute?i.converter:w).toAttribute(e,i.type);this._$Em=t,null==o?this.removeAttribute(a):this.setAttribute(a,o),this._$Em=null}}_$AK(t,e){const i=this.constructor,a=i._$Eh.get(t);if(void 0!==a&&this._$Em!==a){const t=i.getPropertyOptions(a),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:w;this._$Em=a;const n=o.fromAttribute(e,t.type);this[a]=n??this._$Ej?.get(a)??n,this._$Em=null}}requestUpdate(t,e,i,a=!1,o){if(void 0!==t){const n=this.constructor;if(!1===a&&(o=this[t]),i??=n.getPropertyOptions(t),!((i.hasChanged??x)(o,e)||i.useDefault&&i.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(n._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:a,wrapped:o},n){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),!0!==o||void 0!==n)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===a&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,a=this[e];!0!==t||this._$AL.has(e)||void 0===a||this.C(e,void 0,i,a)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};S.elementStyles=[],S.shadowRootOptions={mode:"open"},S[_("elementProperties")]=new Map,S[_("finalized")]=new Map,b?.({ReactiveElement:S}),(f.reactiveElementVersions??=[]).push("2.1.2");const A=globalThis,k=t=>t,E=A.trustedTypes,z=E?E.createPolicy("lit-html",{createHTML:t=>t}):void 0,C="$lit$",T=`lit$${Math.random().toFixed(9).slice(2)}$`,R="?"+T,O=`<${R}>`,N=document,M=()=>N.createComment(""),P=t=>null===t||"object"!=typeof t&&"function"!=typeof t,j=Array.isArray,F="[ \t\n\f\r]",I=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,H=/>/g,V=RegExp(`>|${F}(?:([^\\s"'>=/]+)(${F}*=${F}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),D=/'/g,U=/"/g,W=/^(?:script|style|textarea|title)$/i,B=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),G=Symbol.for("lit-noChange"),q=Symbol.for("lit-nothing"),K=new WeakMap,Z=N.createTreeWalker(N,129);function J(t,e){if(!j(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==z?z.createHTML(e):e}const Y=(t,e)=>{const i=t.length-1,a=[];let o,n=2===e?"":3===e?"":"",r=I;for(let e=0;e"===c[0]?(r=o??I,l=-1):void 0===c[1]?l=-2:(l=r.lastIndex-c[2].length,s=c[1],r=void 0===c[3]?V:'"'===c[3]?U:D):r===U||r===D?r=V:r===L||r===H?r=I:(r=V,o=void 0);const h=r===V&&t[e+1].startsWith("/>")?" ":"";n+=r===I?i+O:l>=0?(a.push(s),i.slice(0,l)+C+i.slice(l)+T+h):i+T+(-2===l?e:h)}return[J(t,n+(t[i]||"")+(2===e?"":3===e?"":"")),a]};class X{constructor({strings:t,_$litType$:e},i){let a;this.parts=[];let o=0,n=0;const r=t.length-1,s=this.parts,[c,l]=Y(t,e);if(this.el=X.createElement(c,i),Z.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(a=Z.nextNode())&&s.length0){a.textContent=E?E.emptyScript:"";for(let i=0;ij(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==q&&P(this._$AH)?this._$AA.nextSibling.data=t:this.T(N.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,a="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=X.createElement(J(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===a)this._$AH.p(e);else{const t=new tt(a,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=K.get(t.strings);return void 0===e&&K.set(t.strings,e=new X(t)),e}k(t){j(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,a=0;for(const o of t)a===e.length?e.push(i=new et(this.O(M()),this.O(M()),this,this.options)):i=e[a],i._$AI(o),a++;a2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=q}_$AI(t,e=this,i,a){const o=this.strings;let n=!1;if(void 0===o)t=Q(this,t,e,0),n=!P(t)||t!==this._$AH&&t!==G,n&&(this._$AH=t);else{const a=t;let r,s;for(t=o[0],r=0;r{const a=i?.renderBefore??e;let o=a._$litPart$;if(void 0===o){const t=i?.renderBefore??null;a._$litPart$=o=new et(e.insertBefore(M(),t),t,void 0,i??{})}return o._$AI(t),o})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return G}};lt._$litElement$=!0,lt.finalized=!0,ct.litElementHydrateSupport?.({LitElement:lt});const dt=ct.litElementPolyfillSupport;dt?.({LitElement:lt}),(ct.litElementVersions??=[]).push("4.2.2");const ht={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ut=(t=ht,e,i)=>{const{kind:a,metadata:o}=i;let n=globalThis.litPropertyMetadata.get(o);if(void 0===n&&globalThis.litPropertyMetadata.set(o,n=new Map),"setter"===a&&((t=Object.create(t)).wrapped=!0),n.set(i.name,t),"accessor"===a){const{name:a}=i;return{set(i){const o=e.get.call(this);e.set.call(this,i),this.requestUpdate(a,o,t,!0,i)},init(e){return void 0!==e&&this.C(a,void 0,t,e),e}}}if("setter"===a){const{name:a}=i;return function(i){const o=this[a];e.call(this,i),this.requestUpdate(a,o,t,!0,i)}}throw Error("Unsupported decorator location: "+a)};function pt(t){return(e,i)=>"object"==typeof i?ut(t,e,i):((t,e,i)=>{const a=e.hasOwnProperty(i);return e.constructor.createProperty(i,t),a?Object.getOwnPropertyDescriptor(e,i):void 0})(t,e,i)}function mt(t){return pt({...t,state:!0,attribute:!1})}var gt="M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z",ft="M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z",vt="M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z";var yt,bt=c`:host { +!function(){const t={DEBUG:!1,BUILD_TIME:"2026-10-07T18:06:36-02:30"};try{if(process)return process.env=Object.assign({},process.env),void Object.assign(process.env,t)}catch(t){}globalThis.process={env:t}}();var t="simple-thermostat",e="4.5.2";function i(t,e,i,a){var o,n=arguments.length,r=n<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,a);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(r=(n<3?o(r):n>3?o(e,i,r):o(e,i))||r);return n>3&&r&&Object.defineProperty(e,i,r),r}"function"==typeof SuppressedError&&SuppressedError;const a=globalThis,o=a.ShadowRoot&&(void 0===a.ShadyCSS||a.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,n=Symbol(),r=new WeakMap;let s=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==n)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(o&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=r.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&r.set(e,t))}return t}toString(){return this.cssText}};const c=(t,...e)=>{const i=1===t.length?t[0]:e.reduce((e,i,a)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[a+1],t[0]);return new s(i,t,n)},l=o?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new s("string"==typeof t?t:t+"",void 0,n))(e)})(t):t,{is:d,defineProperty:h,getOwnPropertyDescriptor:u,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,f=globalThis,v=f.trustedTypes,y=v?v.emptyScript:"",b=f.reactiveElementPolyfillSupport,_=(t,e)=>t,w={toAttribute(t,e){switch(e){case Boolean:t=t?y:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},x=(t,e)=>!d(t,e),$={attribute:!0,type:String,converter:w,reflect:!1,useDefault:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;let S=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=$){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),a=this.getPropertyDescriptor(t,i,e);void 0!==a&&h(this.prototype,t,a)}}static getPropertyDescriptor(t,e,i){const{get:a,set:o}=u(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:a,set(e){const n=a?.call(this);o?.call(this,e),this.requestUpdate(t,n,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$}static _$Ei(){if(this.hasOwnProperty(_("elementProperties")))return;const t=g(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(_("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(_("properties"))){const t=this.properties,e=[...p(t),...m(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(l(t))}else void 0!==t&&e.push(l(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{if(o)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const i of e){const e=document.createElement("style"),o=a.litNonce;void 0!==o&&e.setAttribute("nonce",o),e.textContent=i.cssText,t.appendChild(e)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),a=this.constructor._$Eu(t,i);if(void 0!==a&&!0===i.reflect){const o=(void 0!==i.converter?.toAttribute?i.converter:w).toAttribute(e,i.type);this._$Em=t,null==o?this.removeAttribute(a):this.setAttribute(a,o),this._$Em=null}}_$AK(t,e){const i=this.constructor,a=i._$Eh.get(t);if(void 0!==a&&this._$Em!==a){const t=i.getPropertyOptions(a),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:w;this._$Em=a;const n=o.fromAttribute(e,t.type);this[a]=n??this._$Ej?.get(a)??n,this._$Em=null}}requestUpdate(t,e,i,a=!1,o){if(void 0!==t){const n=this.constructor;if(!1===a&&(o=this[t]),i??=n.getPropertyOptions(t),!((i.hasChanged??x)(o,e)||i.useDefault&&i.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(n._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:a,wrapped:o},n){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),!0!==o||void 0!==n)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===a&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,a=this[e];!0!==t||this._$AL.has(e)||void 0===a||this.C(e,void 0,i,a)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};S.elementStyles=[],S.shadowRootOptions={mode:"open"},S[_("elementProperties")]=new Map,S[_("finalized")]=new Map,b?.({ReactiveElement:S}),(f.reactiveElementVersions??=[]).push("2.1.2");const A=globalThis,k=t=>t,E=A.trustedTypes,z=E?E.createPolicy("lit-html",{createHTML:t=>t}):void 0,C="$lit$",T=`lit$${Math.random().toFixed(9).slice(2)}$`,R="?"+T,O=`<${R}>`,N=document,M=()=>N.createComment(""),P=t=>null===t||"object"!=typeof t&&"function"!=typeof t,j=Array.isArray,F="[ \t\n\f\r]",I=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,H=/>/g,V=RegExp(`>|${F}(?:([^\\s"'>=/]+)(${F}*=${F}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),D=/'/g,U=/"/g,W=/^(?:script|style|textarea|title)$/i,B=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),G=Symbol.for("lit-noChange"),q=Symbol.for("lit-nothing"),K=new WeakMap,Z=N.createTreeWalker(N,129);function J(t,e){if(!j(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==z?z.createHTML(e):e}const Y=(t,e)=>{const i=t.length-1,a=[];let o,n=2===e?"":3===e?"":"",r=I;for(let e=0;e"===c[0]?(r=o??I,l=-1):void 0===c[1]?l=-2:(l=r.lastIndex-c[2].length,s=c[1],r=void 0===c[3]?V:'"'===c[3]?U:D):r===U||r===D?r=V:r===L||r===H?r=I:(r=V,o=void 0);const h=r===V&&t[e+1].startsWith("/>")?" ":"";n+=r===I?i+O:l>=0?(a.push(s),i.slice(0,l)+C+i.slice(l)+T+h):i+T+(-2===l?e:h)}return[J(t,n+(t[i]||"")+(2===e?"":3===e?"":"")),a]};class X{constructor({strings:t,_$litType$:e},i){let a;this.parts=[];let o=0,n=0;const r=t.length-1,s=this.parts,[c,l]=Y(t,e);if(this.el=X.createElement(c,i),Z.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(a=Z.nextNode())&&s.length0){a.textContent=E?E.emptyScript:"";for(let i=0;ij(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==q&&P(this._$AH)?this._$AA.nextSibling.data=t:this.T(N.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,a="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=X.createElement(J(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===a)this._$AH.p(e);else{const t=new tt(a,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=K.get(t.strings);return void 0===e&&K.set(t.strings,e=new X(t)),e}k(t){j(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,a=0;for(const o of t)a===e.length?e.push(i=new et(this.O(M()),this.O(M()),this,this.options)):i=e[a],i._$AI(o),a++;a2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=q}_$AI(t,e=this,i,a){const o=this.strings;let n=!1;if(void 0===o)t=Q(this,t,e,0),n=!P(t)||t!==this._$AH&&t!==G,n&&(this._$AH=t);else{const a=t;let r,s;for(t=o[0],r=0;r{const a=i?.renderBefore??e;let o=a._$litPart$;if(void 0===o){const t=i?.renderBefore??null;a._$litPart$=o=new et(e.insertBefore(M(),t),t,void 0,i??{})}return o._$AI(t),o})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return G}};lt._$litElement$=!0,lt.finalized=!0,ct.litElementHydrateSupport?.({LitElement:lt});const dt=ct.litElementPolyfillSupport;dt?.({LitElement:lt}),(ct.litElementVersions??=[]).push("4.2.2");const ht={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ut=(t=ht,e,i)=>{const{kind:a,metadata:o}=i;let n=globalThis.litPropertyMetadata.get(o);if(void 0===n&&globalThis.litPropertyMetadata.set(o,n=new Map),"setter"===a&&((t=Object.create(t)).wrapped=!0),n.set(i.name,t),"accessor"===a){const{name:a}=i;return{set(i){const o=e.get.call(this);e.set.call(this,i),this.requestUpdate(a,o,t,!0,i)},init(e){return void 0!==e&&this.C(a,void 0,t,e),e}}}if("setter"===a){const{name:a}=i;return function(i){const o=this[a];e.call(this,i),this.requestUpdate(a,o,t,!0,i)}}throw Error("Unsupported decorator location: "+a)};function pt(t){return(e,i)=>"object"==typeof i?ut(t,e,i):((t,e,i)=>{const a=e.hasOwnProperty(i);return e.constructor.createProperty(i,t),a?Object.getOwnPropertyDescriptor(e,i):void 0})(t,e,i)}function mt(t){return pt({...t,state:!0,attribute:!1})}var gt="M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z",ft="M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z",vt="M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z";var yt,bt=c`:host { display: block; isolation: isolate; max-width: 100%; @@ -2348,7 +2348,7 @@ ha-card.standard-visuals .thermostat-trigger:active { @change=${t=>a(t.currentTarget.checked)} > - `}}function be(t){return"string"==typeof t?.state&&"unavailable"!==t.state&&("unknown"!==t.state||["button","input_button","scene"].includes(t.entity_id?.split(".")[0]??""))}function _e(t){if("string"!=typeof t.entity_id)return;const[e]=t.entity_id.split(".");return"climate"===e?"hvac_action":"humidifier"===e?"action":void 0}function we(t){const e=_e(t),i=e?t.attributes?.[e]:void 0;return"string"==typeof i&&i?i:void 0}function xe(t,e,i){if("string"!=typeof t.entity_id)return void 0===t.state?"":String(t.state);const[a]=t.entity_id.split("."),o=we(t),n=_e(t);if(o)return"function"==typeof e.formatEntityAttributeValue&&n?e.formatEntityAttributeValue(t,n):i(o,function(t){if("string"!=typeof t.entity_id)return"";const[e]=t.entity_id.split("."),i=_e(t);return e&&i?`state_attributes.${e}.${i}.`:""}(t));if("fan"===a&&"on"===t.state){if(t.attributes?.preset_mode)return"function"==typeof e.formatEntityAttributeValue?e.formatEntityAttributeValue(t,"preset_mode"):i(t.attributes.preset_mode,"state_attributes.fan.preset_mode.");if("number"==typeof t.attributes?.percentage)return"function"==typeof e.formatEntityAttributeValue?e.formatEntityAttributeValue(t,"percentage"):`${t.attributes.percentage}%`;if(t.attributes?.speed)return String(t.attributes.speed)}return"function"==typeof e.formatEntityState?e.formatEntityState(t):i(String(t.state),`component.${a}.state._.`)}i([pt({attribute:!1})],ye.prototype,"hass",void 0),i([mt()],ye.prototype,"config",void 0),i([mt()],ye.prototype,"expandedTargetIndex",void 0);const $e={auto:"mdi:radiator",cooling:"mdi:snowflake",fan:"mdi:fan",heating:"mdi:radiator",idle:"mdi:radiator-disabled",on:"mdi:power",off:"mdi:radiator-off"},Se={auto:"mdi:air-conditioner",cooling:"mdi:snowflake",fan:"mdi:fan",heating:"mdi:radiator",idle:"mdi:air-conditioner",on:"mdi:air-conditioner",off:"mdi:air-conditioner"},Ae={...$e,auto:"mdi:radiator",idle:$e.idle,off:"mdi:radiator"},ke={fan:{on:"mdi:fan",off:"mdi:fan-off"},humidifier:{on:"mdi:air-humidifier",off:"mdi:air-humidifier-off"}},Ee={auto:"hass:autorenew",cool:"hass:snowflake",dry:"hass:water-percent",fan_only:"hass:fan",heat_cool:"hass:autorenew",heat:"hass:fire",on:"hass:power",off:"hass:power",forward:"mdi:arrow-right",reverse:"mdi:arrow-left",true:"mdi:fan",false:"mdi:fan-off",low:"mdi:fan-speed-1",mid:"mdi:fan-speed-2",medium:"mdi:fan-speed-2",high:"mdi:fan-speed-3",max:"st:fan-speed-4",turbo:"st:fan-speed-5",1:"mdi:fan-speed-1",2:"mdi:fan-speed-2",3:"mdi:fan-speed-3",4:"st:fan-speed-4",5:"st:fan-speed-5",automatic:"mdi:fan-auto",powerful:"mdi:fan-plus",quiet:"mdi:fan-minus",silent:"mdi:fan-minus",normal:"mdi:water-percent",vertical:"mdi:arrow-up-down",top:"mdi:arrow-up","top-middle":"mdi:arrow-top-right",middle:"mdi:arrow-collapse-vertical","middle-bottom":"mdi:arrow-bottom-right",bottom:"mdi:arrow-down",upper:"mdi:arrow-up",lower:"mdi:arrow-down",horizontal:"mdi:arrow-left-right",left:"mdi:arrow-left","center-left":"mdi:arrow-top-left",center:"mdi:arrow-collapse-horizontal","center-right":"mdi:arrow-top-right",right:"mdi:arrow-right",both:"mdi:arrow-all",swing:"mdi:arrow-oscillating",wide:"mdi:arrow-expand-horizontal",narrow:"mdi:arrow-collapse-horizontal",split:"mdi:arrow-split-vertical",none:"mdi:circle-off-outline",frost:"mdi:snowflake",frost_protection:"mdi:snowflake","frost-protection":"mdi:snowflake",frost_protect:"mdi:snowflake",away:"mdi:home-export-outline",eco:"mdi:leaf",boost:"mdi:weather-windy",comfort:"mdi:sofa",auto_comfort:"mdi:sofa","auto-comfort":"mdi:sofa","auto comfort":"mdi:sofa",home:"mdi:home",sleep:"mdi:sleep",activity:"mdi:run"};function ze(t){const e=String(t),i=e.toLowerCase().replace(/\s+/g,"_");return Ee[e]??Ee[i]}function Ce(t){const e=String(t);return{low:"Low",mid:"Mid",medium:"Medium",high:"High",max:"Max",turbo:"Turbo",auto:"Auto"}[e.toLowerCase().replace(/\s+/g,"_")]??e}function Te(t,e,i,a=!0){if(!1===t)return!1;let o;o="string"==typeof t?.name?t.name:!1!==t?.name&&("function"==typeof i.formatEntityName?i.formatEntityName(e):e.attributes.friendly_name);let n=a?function(t){const[e]=t.entity_id.split("."),i=we(t),a=i?Ne(t):void 0;return a??t.attributes.icon??Ne(t)??ke[e]?.[t.state]??(i?$e:Ee)}(e):function(t){return we(t)?$e:Ee}(e);return void 0!==t?.icon&&(n=t.icon),{name:o,icon:n,slashOffIcon:a&&Me(e,n),toggle:t?.toggle?Re(t.toggle,i):null,toggles:Oe(t,i),faults:Pe(t?.faults,i)}}function Re(t,e){const i=e.states[t.entity];if(!i)return null;let a="";return a=!0===t?.name?i.attributes.friendly_name:t?.name??"",{entity:i,label:a,icon:t?.icon??!1,hide_when_off:t?.hide_when_off}}function Oe(t,e){return[...t?.toggle?[t.toggle]:[],...Array.isArray(t?.toggles)?t.toggles:[]].map(t=>Re(t,e)).filter(t=>!!t)}function Ne(t){const[e]=t.entity_id.split(".");if("climate"!==e)return;const i=Array.isArray(t.attributes?.hvac_modes)?t.attributes.hvac_modes:[],a=we(t),o=String(a||t.state);return i.includes("cool")||i.includes("dry")||i.includes("fan_only")||["cool","cooling","dry","fan_only","fan"].includes(o)?Se:Ae}function Me(t,e){if("off"!==t.state)return!1;const i="object"==typeof e?e[we(t)||t.state]??!1:e;if("string"!=typeof i)return!1;const[a]=t.entity_id.split("."),o="climate"===a?$e.off:ke[a]?.off;return Boolean(o)&&i!==o&&!i.endsWith("-off")}function Pe(t,e){return Array.isArray(t)?t.filter(({entity:t})=>Boolean(e.states?.[t])).map(({entity:t,...i})=>({...i,state:e.states[t],entity:t})):[]}const je={style:"header",icons:!0,names:!0,states:!1},Fe=["climate","fan","humidifier"];function Ie(t){return t.split(".")[0]}function Le(t){return"string"==typeof t?t.replace(/[^a-z0-9_-]/gi,""):""}function He(e){if("string"==typeof e){const i=e.trim();return i?{entity:i,config:{type:`custom:${t}`,entity:i}}:null}if(!e?.entity)return null;const{entity:i,name:a,icon:o,...n}=e;let r="object"==typeof n.header&&n.header?{...n.header}:void 0;return a&&!1!==n.header&&void 0===r?.name&&(r??={},r.name=a),o&&!1!==n.header&&void 0===r?.icon&&(r??={},r.icon=o),{entity:i,config:{type:n.type??`custom:${t}`,...n,entity:i,...!1===n.header?{header:!1}:r?{header:r}:{}}}}class Ve extends lt{constructor(){super(...arguments),this.targets=[],this.selectedEntity="",this.menuOpen=!1,this.cardFading=!1,this.embeddedCardEntity="",this.embeddedCardConfigSignature="",this.embeddedCardPendingSignature="",this.fadeInAfterSync=!1,this.activitySignatures=new Map,this.activityRecords=new Map,this.activitySignaturesInitialized=!1,this.persistedActivityApplied=!1,this.lastManualSelectionAt=0,this.presentationResizeListenersAttached=!1,this.handlePresentationResize=()=>{this.syncEmbeddedPresentation()}}static get styles(){return c` + `}}function be(t){return"string"==typeof t?.state&&"unavailable"!==t.state&&("unknown"!==t.state||["button","input_button","scene"].includes(t.entity_id?.split(".")[0]??""))}i([pt({attribute:!1})],ye.prototype,"hass",void 0),i([mt()],ye.prototype,"config",void 0),i([mt()],ye.prototype,"expandedTargetIndex",void 0);const _e=["automation","fan","humidifier","input_boolean","light","switch"],we=["button","input_button","script","scene"];function xe(t,e,i){const a=t.states?.[e];if(!be(a))return;const[o]=e.split("."),n=_e.includes(o),r=n?"turn_"+(i??"on"!==a.state?"on":"off"):"button"===o||"input_button"===o?"press":"turn_on",s=n?"homeassistant":o;"function"==typeof t.performAction?t.performAction({action:`${s}.${r}`,data:{entity_id:e}}):t.callService?.(s,r,{entity_id:e})}function $e(t){if("string"!=typeof t.entity_id)return;const[e]=t.entity_id.split(".");return"climate"===e?"hvac_action":"humidifier"===e?"action":void 0}function Se(t){const e=$e(t),i=e?t.attributes?.[e]:void 0;return"string"==typeof i&&i?i:void 0}function Ae(t,e,i){if("string"!=typeof t.entity_id)return void 0===t.state?"":String(t.state);const[a]=t.entity_id.split("."),o=Se(t),n=$e(t);if(o)return"function"==typeof e.formatEntityAttributeValue&&n?e.formatEntityAttributeValue(t,n):i(o,function(t){if("string"!=typeof t.entity_id)return"";const[e]=t.entity_id.split("."),i=$e(t);return e&&i?`state_attributes.${e}.${i}.`:""}(t));if("fan"===a&&"on"===t.state){if(t.attributes?.preset_mode)return"function"==typeof e.formatEntityAttributeValue?e.formatEntityAttributeValue(t,"preset_mode"):i(t.attributes.preset_mode,"state_attributes.fan.preset_mode.");if("number"==typeof t.attributes?.percentage)return"function"==typeof e.formatEntityAttributeValue?e.formatEntityAttributeValue(t,"percentage"):`${t.attributes.percentage}%`;if(t.attributes?.speed)return String(t.attributes.speed)}return"function"==typeof e.formatEntityState?e.formatEntityState(t):i(String(t.state),`component.${a}.state._.`)}const ke={auto:"mdi:radiator",cooling:"mdi:snowflake",fan:"mdi:fan",heating:"mdi:radiator",idle:"mdi:radiator-disabled",on:"mdi:power",off:"mdi:radiator-off"},Ee={auto:"mdi:air-conditioner",cooling:"mdi:snowflake",fan:"mdi:fan",heating:"mdi:radiator",idle:"mdi:air-conditioner",on:"mdi:air-conditioner",off:"mdi:air-conditioner"},ze={...ke,auto:"mdi:radiator",idle:ke.idle,off:"mdi:radiator"},Ce={fan:{on:"mdi:fan",off:"mdi:fan-off"},humidifier:{on:"mdi:air-humidifier",off:"mdi:air-humidifier-off"}},Te={auto:"hass:autorenew",cool:"hass:snowflake",dry:"hass:water-percent",fan_only:"hass:fan",heat_cool:"hass:autorenew",heat:"hass:fire",on:"hass:power",off:"hass:power",forward:"mdi:arrow-right",reverse:"mdi:arrow-left",true:"mdi:fan",false:"mdi:fan-off",low:"mdi:fan-speed-1",mid:"mdi:fan-speed-2",medium:"mdi:fan-speed-2",high:"mdi:fan-speed-3",max:"st:fan-speed-4",turbo:"st:fan-speed-5",1:"mdi:fan-speed-1",2:"mdi:fan-speed-2",3:"mdi:fan-speed-3",4:"st:fan-speed-4",5:"st:fan-speed-5",automatic:"mdi:fan-auto",powerful:"mdi:fan-plus",quiet:"mdi:fan-minus",silent:"mdi:fan-minus",normal:"mdi:water-percent",vertical:"mdi:arrow-up-down",top:"mdi:arrow-up","top-middle":"mdi:arrow-top-right",middle:"mdi:arrow-collapse-vertical","middle-bottom":"mdi:arrow-bottom-right",bottom:"mdi:arrow-down",upper:"mdi:arrow-up",lower:"mdi:arrow-down",horizontal:"mdi:arrow-left-right",left:"mdi:arrow-left","center-left":"mdi:arrow-top-left",center:"mdi:arrow-collapse-horizontal","center-right":"mdi:arrow-top-right",right:"mdi:arrow-right",both:"mdi:arrow-all",swing:"mdi:arrow-oscillating",wide:"mdi:arrow-expand-horizontal",narrow:"mdi:arrow-collapse-horizontal",split:"mdi:arrow-split-vertical",none:"mdi:circle-off-outline",frost:"mdi:snowflake",frost_protection:"mdi:snowflake","frost-protection":"mdi:snowflake",frost_protect:"mdi:snowflake",away:"mdi:home-export-outline",eco:"mdi:leaf",boost:"mdi:weather-windy",comfort:"mdi:sofa",auto_comfort:"mdi:sofa","auto-comfort":"mdi:sofa","auto comfort":"mdi:sofa",home:"mdi:home",sleep:"mdi:sleep",activity:"mdi:run"};function Re(t){const e=String(t),i=e.toLowerCase().replace(/\s+/g,"_");return Te[e]??Te[i]}function Oe(t){const e=String(t);return{low:"Low",mid:"Mid",medium:"Medium",high:"High",max:"Max",turbo:"Turbo",auto:"Auto"}[e.toLowerCase().replace(/\s+/g,"_")]??e}function Ne(t,e,i,a=!0){if(!1===t)return!1;let o;o="string"==typeof t?.name?t.name:!1!==t?.name&&("function"==typeof i.formatEntityName?i.formatEntityName(e):e.attributes.friendly_name);let n=a?function(t){const[e]=t.entity_id.split("."),i=Se(t),a=i?je(t):void 0;return a??t.attributes.icon??je(t)??Ce[e]?.[t.state]??(i?ke:Te)}(e):function(t){return Se(t)?ke:Te}(e);return void 0!==t?.icon&&(n=t.icon),{name:o,icon:n,slashOffIcon:a&&Fe(e,n),toggle:t?.toggle?Me(t.toggle,i):null,toggles:Pe(t,i),faults:Ie(t?.faults,i)}}function Me(t,e){const i=e.states[t.entity];if(!i)return null;let a="";return a=!0===t?.name?i.attributes.friendly_name:t?.name??"",{entity:i,label:a,icon:t?.icon??!1,hide_when_off:t?.hide_when_off}}function Pe(t,e){return[...t?.toggle?[t.toggle]:[],...Array.isArray(t?.toggles)?t.toggles:[]].map(t=>Me(t,e)).filter(t=>!!t)}function je(t){const[e]=t.entity_id.split(".");if("climate"!==e)return;const i=Array.isArray(t.attributes?.hvac_modes)?t.attributes.hvac_modes:[],a=Se(t),o=String(a||t.state);return i.includes("cool")||i.includes("dry")||i.includes("fan_only")||["cool","cooling","dry","fan_only","fan"].includes(o)?Ee:ze}function Fe(t,e){if("off"!==t.state)return!1;const i="object"==typeof e?e[Se(t)||t.state]??!1:e;if("string"!=typeof i)return!1;const[a]=t.entity_id.split("."),o="climate"===a?ke.off:Ce[a]?.off;return Boolean(o)&&i!==o&&!i.endsWith("-off")}function Ie(t,e){return Array.isArray(t)?t.filter(({entity:t})=>Boolean(e.states?.[t])).map(({entity:t,...i})=>({...i,state:e.states[t],entity:t})):[]}const Le={style:"header",icons:!0,names:!0,states:!1},He=["climate","fan","humidifier"];function Ve(t){return t.split(".")[0]}function De(t){return"string"==typeof t?t.replace(/[^a-z0-9_-]/gi,""):""}function Ue(e){if("string"==typeof e){const i=e.trim();return i?{entity:i,config:{type:`custom:${t}`,entity:i}}:null}if(!e?.entity)return null;const{entity:i,name:a,icon:o,...n}=e;let r="object"==typeof n.header&&n.header?{...n.header}:void 0;return a&&!1!==n.header&&void 0===r?.name&&(r??={},r.name=a),o&&!1!==n.header&&void 0===r?.icon&&(r??={},r.icon=o),{entity:i,config:{type:n.type??`custom:${t}`,...n,entity:i,...!1===n.header?{header:!1}:r?{header:r}:{}}}}class We extends lt{constructor(){super(...arguments),this.targets=[],this.selectedEntity="",this.menuOpen=!1,this.cardFading=!1,this.embeddedCardEntity="",this.embeddedCardConfigSignature="",this.embeddedCardPendingSignature="",this.fadeInAfterSync=!1,this.activitySignatures=new Map,this.activityRecords=new Map,this.activitySignaturesInitialized=!1,this.persistedActivityApplied=!1,this.lastManualSelectionAt=0,this.presentationResizeListenersAttached=!1,this.handlePresentationResize=()=>{this.syncEmbeddedPresentation()}}static get styles(){return c` :host { display: block; } @@ -2993,7 +2993,7 @@ ha-card.standard-visuals .thermostat-trigger:active { animation: st-group-fan-spin var(--st-fan-spin-duration, 2.4s) linear infinite; } - `}static getConfigElement(){return window.document.createElement(`${t}-group-editor`)}static getStubConfig(t){return{entities:Object.keys(t?.states??{}).filter(t=>Fe.includes(Ie(t))).slice(0,2),card:{}}}setConfig(t){this.clearAutoSelectResumeTimer();const e=(t.cards??t.entities??[]).map(He).filter(Boolean);if(!e.length)throw new Error("Simple Thermostat Group requires at least one card");this.config={...t,selector:{...je,...t.selector??{}}},this.targets=e,this.activityRecords.clear();try{const i=JSON.parse(window.localStorage.getItem(`${this.getActivityStorageKey(t)}:v2`)??"[]");Array.isArray(i)&&i.forEach(t=>{e.some(e=>e.entity===t?.entity)&&"string"==typeof t.signature&&Number.isFinite(t.timestamp)&&this.activityRecords.set(t.entity,t)})}catch{}this.selectedEntity=this.getInitialSelection(t,e),this.activitySignatures.clear(),this.activitySignaturesInitialized=!1,this.persistedActivityApplied=!1}updated(){this.reconcileAvailableSelection(),this.syncAutoSelectRecentActivity(),this.syncEmbeddedCard(),this.syncOutsideClickListener(),this.syncTitleFit()}connectedCallback(){super.connectedCallback(),this.attachPresentationResizeListeners(),this.resumeAutoSelectAfterReconnect()}getCardSize(){if(!this.config||!this.getAvailableTargets().length)return 1;const t=this.embeddedCard?.getCardSize?.();if("number"==typeof t&&Number.isFinite(t))return Math.max(1,t);const e=this.getSelectedTarget();if(!e)return 1;const i=this.getTargetCardConfig(e),a=Array.isArray(i.entities)?i.entities.length:0,o=a?Math.max(1,Math.ceil(a/2)):0,n=this.getConfiguredModeRowCount(i),r=!0===i.hide_setpoint?0:1;return Math.max(2,1+o+r+n)}disconnectedCallback(){this.clearOutsideClickListener(),this.clearAutoSelectResumeTimer(),this.clearEmbeddedResizeObserver(),this.detachPresentationResizeListeners(),super.disconnectedCallback()}attachPresentationResizeListeners(){this.presentationResizeListenersAttached||(window.addEventListener("resize",this.handlePresentationResize),window.addEventListener("orientationchange",this.handlePresentationResize),this.presentationResizeListenersAttached=!0)}detachPresentationResizeListeners(){this.presentationResizeListenersAttached&&(window.removeEventListener("resize",this.handlePresentationResize),window.removeEventListener("orientationchange",this.handlePresentationResize),this.presentationResizeListenersAttached=!1)}getInitialSelection(t,e){const i=new Set(e.map(t=>t.entity)),a=!1===t.remember_selection?"":this.readStoredSelection(t);return a&&i.has(a)?a:t.selected&&i.has(t.selected)?t.selected:e[0].entity}readStoredSelection(t){return this.readStoredSelectionRecord(t)?.entity??""}readStoredSelectionRecord(t){try{const e=window.localStorage?.getItem(this.getStorageKey(t));if(!e)return;if(!e.trim().startsWith("{"))return{entity:e,timestamp:0};const i=JSON.parse(e);if("string"==typeof i.entity)return{entity:i.entity,timestamp:Number.isFinite(i.timestamp)?Number(i.timestamp):0}}catch(t){return}}writeStoredSelection(t){if(this.config&&!1!==this.config.remember_selection)try{window.localStorage?.setItem(this.getStorageKey(this.config),JSON.stringify({entity:t,timestamp:Date.now()}))}catch(t){}}readStoredActivity(t){try{const e=window.localStorage?.getItem(this.getActivityStorageKey(t));if(!e)return;const i=JSON.parse(e);if("string"==typeof i.entity&&"string"==typeof i.signature&&Number.isFinite(i.timestamp))return{entity:i.entity,signature:i.signature,timestamp:Number(i.timestamp)}}catch(t){return}}writeStoredActivity(t){if(this.config)try{window.localStorage?.setItem(this.getActivityStorageKey(this.config),JSON.stringify(t))}catch(t){}}getStorageKey(t){if(t.storage_key)return`simple-thermostat-group:${t.storage_key}`;return`simple-thermostat-group:${this.targets.map(t=>t.entity).join("|")}`}getActivityStorageKey(t){return`${this.getStorageKey(t)}:recent-activity`}getConfiguredModeRowCount(t){const e=t.control;return!1===e?0:Array.isArray(e)?e.filter(Boolean).length:e&&"object"==typeof e?Object.entries(e).filter(([t,e])=>!t.startsWith("_")&&!1!==e).length:1}clearAutoSelectResumeTimer(){void 0!==this.autoSelectResumeTimer&&(window.clearTimeout(this.autoSelectResumeTimer),this.autoSelectResumeTimer=void 0)}scheduleAutoSelectResume(t){this.clearAutoSelectResumeTimer(),this.autoSelectResumeTimer=window.setTimeout(()=>{this.autoSelectResumeTimer=void 0,this.lastManualSelectionAt=0,this.isRecentActivityAutoSelectEnabled()&&!this.menuOpen&&this.selectMostRecentStateActivity()},Math.max(0,t))}resumeAutoSelectAfterReconnect(){if(!this.lastManualSelectionAt||!this.isRecentActivityAutoSelectEnabled())return;const t=Date.now()-this.lastManualSelectionAt;this.scheduleAutoSelectResume(this.getAutoSelectManualPauseMs()-t)}getSelectedTarget(){const t=this.getAvailableTargets();return t.find(t=>t.entity===this.selectedEntity)??t[0]}getAvailableTargets(){return this.hass?this.targets.filter(t=>be(this.hass.states?.[t.entity])):this.targets}reconcileAvailableSelection(){const t=this.getAvailableTargets();t.length?t.some(t=>t.entity===this.selectedEntity)||(this.menuOpen=!1,this.cardFading=!1,this.fadeInAfterSync=!1,this.selectedEntity=t[0].entity):this.menuOpen=!1}getSelectedState(){const t=this.getSelectedTarget();return t?this.hass?.states?.[t.entity]:void 0}openSelectedPopover(){const t=this.getSelectedTarget();t?.entity&&_t(this,"hass-more-info",{entityId:t.entity})}onSelectorHeaderKeyDown(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.openSelectedPopover())}getGroupCardClasses(){const t=this.getSelectedState();if(!t)return"group-card group-shell";const e=Ie(t.entity_id),i=we(t),a=["unavailable","unknown"].includes(String(t.state));return["group-card","group-shell",`domain-${Le(e)}`,`state-${Le(t.state)}`,Le(i),a&&Le(t.state)].filter(Boolean).join(" ")}getTargetClasses(t){const e=this.hass?.states?.[t.entity];if(!e)return"";const i=Ie(e.entity_id),a=we(e);return[`domain-${Le(i)}`,`state-${Le(e.state)}`,Le(a)].filter(Boolean).join(" ")}getGroupCardStyle(){const t=this.getSelectedState();return t?function(t,e={}){if("fan"!==t)return"";const i=Number(e?.percentage);if(Number.isNaN(i))return"";const a=Math.min(Math.max(i,0),100);return`--st-fan-spin-duration: ${Math.max(.9,3.2-a/100*2.1).toFixed(2)}s;`}(Ie(t.entity_id),t.attributes):""}getSelectedIndex(){const t=this.getAvailableTargets().findIndex(t=>t.entity===this.selectedEntity);return-1===t?0:t}isRecentActivityAutoSelectEnabled(){const t=this.config?.auto_select;return!!t&&(!0===t||"recent_activity"===t||"object"==typeof t&&"recent_activity"===t.mode)}getAutoSelectManualPauseMs(){const t=this.config?.auto_select;if(t&&"object"==typeof t){const e=Number(t.manual_pause_ms??t.cooldown_ms);if(Number.isFinite(e)&&e>=0)return e}return 3e4}pauseAutoSelectAfterManualSelection(){this.lastManualSelectionAt=Date.now(),this.clearAutoSelectResumeTimer(),this.isRecentActivityAutoSelectEnabled()&&this.scheduleAutoSelectResume(this.getAutoSelectManualPauseMs())}getActivitySignature(t){const e=this.hass?.states?.[t.entity];if(!e)return"";const i=Ie(t.entity),a=we(e)??"";return`domain:${i}|state:${e.state}|action:${a}`}getActivityTimestamp(t){const e=this.hass?.states?.[t.entity],i=this.activityRecords.get(t.entity);if(i?.signature===this.getActivitySignature(t))return i.timestamp;const a=e?.last_changed??e?.last_updated,o="string"==typeof a?Date.parse(a):NaN;return Number.isFinite(o)?o:0}getActivityCandidate(t,e=this.getActivityTimestamp(t)){return{target:t,timestamp:e,activeRank:this.getActivityActiveRank(t),observed:!0===this.activityRecords.get(t.entity)?.observed&&this.activityRecords.get(t.entity)?.signature===this.getActivitySignature(t),stateTransition:this.getStateTransitionTimestamp(t)===e}}getStateTransitionTimestamp(t){const e=this.hass?.states?.[t.entity]?.last_changed,i="string"==typeof e?Date.parse(e):NaN;return Number.isFinite(i)?i:0}isBetterActivityCandidate(t,e){return!e||(t.observed||e.observed?t.observed!==e.observed?!!(!t.observed&&t.stateTransition&&t.timestamp>e.timestamp)||!(!e.observed&&e.stateTransition&&e.timestamp>t.timestamp)&&!0===t.observed:t.timestamp>e.timestamp:t.activeRank!==e.activeRank?t.activeRank>e.activeRank:t.timestamp>=e.timestamp)}getMostRecentStateActivityCandidate(){return this.getAvailableTargets().map(t=>this.getActivityCandidate(t)).filter(t=>t.timestamp>0).reduce((t,e)=>this.isBetterActivityCandidate(e,t)?e:t,void 0)}applyPersistedActivitySelection(t){if(this.persistedActivityApplied||!this.config||!this.isRecentActivityAutoSelectEnabled())return;this.persistedActivityApplied=!0;const e=!1===this.config.remember_selection?void 0:this.readStoredSelectionRecord(this.config),i=e&&this.targets.some(t=>t.entity===e.entity),a=this.getMostRecentStateActivityCandidate();if(i&&(!a||a.timestamp<=e.timestamp))return void this.selectEntity(e.entity,!1);const o=this.readStoredActivity(this.config);if(!o)return void this.selectMostRecentStateActivity(t);if(!this.targets.some(t=>t.entity===o.entity))return void this.selectMostRecentStateActivity(t);const n=this.targets.find(t=>t.entity===o.entity),r=t.get(o.entity);if(n&&r&&r===o.signature){const e=this.getActivityCandidate(n,o.timestamp);return a&&this.isBetterActivityCandidate(a,e)?void this.selectMostRecentStateActivity(t):void this.selectEntity(o.entity,!1)}this.selectMostRecentStateActivity(t)}selectMostRecentStateActivity(t){const e=this.getMostRecentStateActivityCandidate();if(e&&e.target.entity!==this.selectedEntity&&this.selectEntity(e.target.entity,!1),e&&t){const i=t.get(e.target.entity);i&&this.writeStoredActivity({entity:e.target.entity,signature:i,timestamp:e.timestamp})}}getActivityActiveRank(t){const e=this.hass?.states?.[t.entity];if(!be(e))return 0;const i=Ie(t.entity),a=we(e)??e.attributes?.action,o="string"==typeof e.state?e.state.toLowerCase():"",n="string"==typeof a?a.toLowerCase():"";if("climate"===i)return["heating","cooling","drying"].includes(n)?2:o&&"off"!==o?1:0;if("fan"===i){const t=Number(e.attributes?.percentage);return"on"===o||t>0?2:0}return"humidifier"===i?["drying","humidifying"].includes(n)?2:o&&!["off","idle"].includes(o)?1:0:o&&"off"!==o?1:0}syncAutoSelectRecentActivity(){if(!this.config||!this.hass||!this.targets.length)return;const t=[],e=new Map;let i=!1;if(this.targets.forEach(a=>{const o=this.getActivitySignature(a);e.set(a.entity,o);const n=this.activityRecords.get(a.entity);if(this.activitySignaturesInitialized&&o&&o!==this.activitySignatures.get(a.entity)){const e={entity:a.entity,signature:o,timestamp:Date.now(),observed:!0};this.activityRecords.set(a.entity,e),i=!0,this.writeStoredActivity(e),t.push(this.getActivityCandidate(a,Date.now()))}else o&&n?.signature!==o&&(i=!0,this.activityRecords.set(a.entity,{entity:a.entity,signature:o,timestamp:this.getActivityTimestamp(a),observed:!1}))}),i)try{window.localStorage.setItem(`${this.getActivityStorageKey(this.config)}:v2`,JSON.stringify([...this.activityRecords.values()]))}catch{}if(this.activitySignatures=e,!this.activitySignaturesInitialized)return this.activitySignaturesInitialized=!0,void this.applyPersistedActivitySelection(e);if(!t.length||!this.isRecentActivityAutoSelectEnabled()||this.menuOpen||Date.now()-this.lastManualSelectionAtthis.getAvailableTargets().some(e=>e.entity===t.target.entity));if(!a.length)return;const o=a.reduce((t,e)=>this.isBetterActivityCandidate(e,t)?e:t);this.selectEntity(o.target.entity,!1)}getTargetLabel(t){const e=this.parseTargetHeader(t);if(e&&"string"==typeof e.name)return e.name;const i=this.hass?.states?.[t.entity];return i&&"function"==typeof this.hass?.formatEntityName?this.hass.formatEntityName(i):i?.attributes?.friendly_name??t.entity}getTargetIcon(t){if(!(this.config?.selector??je).icons)return"";const e=this.parseTargetHeader(t);if(e&&e.icon)return this.resolveHeaderIcon(e.icon,t);const i=this.hass?.states?.[t.entity];if(i?.attributes?.icon)return i.attributes.icon;const a=Ie(t.entity);return"fan"===a?"mdi:fan":"humidifier"===a?"mdi:air-humidifier":"mdi:air-conditioner"}getTargetHeaderData(t){return this.parseTargetHeader(t)}parseTargetHeader(t){const e=this.hass?.states?.[t.entity];if(!e||!this.hass)return null;const i=this.getTargetCardConfig(t);return Te(i.header,e,this.hass,!1!==i.enhanced_visuals)}resolveHeaderIcon(t,e){if("string"==typeof t)return t;if(!t||"object"!=typeof t)return"";const i=this.hass?.states?.[e.entity];if(!i)return"";const a=t[we(i)||String(i.state)];return"string"==typeof a?a:""}getHeaderToggleConfigs(t){const e=t.config.header;return e&&"object"==typeof e?[...e.toggle?[e.toggle]:[],...Array.isArray(e.toggles)?e.toggles:[]].filter(t=>t?.entity&&this.hass?.states?.[t.entity]):[]}getEmbeddedConfig(){const t=this.getSelectedTarget();if(t)return this.getTargetCardConfig(t)}getEmbeddedConfigSignature(t){return JSON.stringify(t)}getTargetCardConfig(e){return{...{...this.config?.card??{},...this.getSourceTargetConfig(e),...e.config},embedded:!0,entity:e.entity,type:e.config.type??`custom:${t}`}}getSourceTargetConfig(t){const e=(this.config?.cards??this.config?.entities??[]).find(e=>!!e&&"object"==typeof e&&e.entity===t.entity);return e&&"object"==typeof e?e:{}}getCardHelpers(){return this.cardHelpersPromise||(this.cardHelpersPromise="function"==typeof window.loadCardHelpers?window.loadCardHelpers():Promise.reject(new Error("Home Assistant card helpers unavailable"))),this.cardHelpersPromise}createFallbackEmbeddedCardElement(e){const i=window.document.createElement(t);if("function"==typeof i.setConfig)return i.setConfig(e),i}installEmbeddedCard(t,e,i,a){if(!this.config||!this.hass)return;if(!e||"function"!=typeof e.setConfig)return void(this.embeddedCardPendingSignature="");const o=this.getEmbeddedConfig();o&&this.getEmbeddedConfigSignature(o)===a&&(this.embeddedCard=e,this.embeddedCardEntity=String(i.entity??""),this.embeddedCardConfigSignature=a,this.embeddedCardPendingSignature="",t.replaceChildren(e),"function"==typeof e.setConfig&&e.setConfig(i),e.hass=this.hass,this.syncEmbeddedPresentation())}syncEmbeddedCard(){if(!this.config||!this.hass)return;const e=this.renderRoot.querySelector(".embedded-card-host"),i=this.getEmbeddedConfig();if(!e||!i)return this.embeddedCard=void 0,this.embeddedCardEntity="",this.embeddedCardConfigSignature="",void(this.embeddedCardPendingSignature="");const a=this.getEmbeddedConfigSignature(i);if(!this.embeddedCard||this.embeddedCardEntity!==i.entity||this.embeddedCardConfigSignature!==a){if("function"!=typeof window.loadCardHelpers){const o=window.customElements.get(t)?this.createFallbackEmbeddedCardElement(i):void 0;return o?void this.installEmbeddedCard(e,o,i,a):void(this.embeddedCardPendingSignature="")}if(this.embeddedCardPendingSignature===a)return;return this.embeddedCardPendingSignature=a,void this.getCardHelpers().then(t=>t.createCardElement(i)).catch(()=>window.customElements.get(t)?this.createFallbackEmbeddedCardElement(i):void 0).then(t=>this.installEmbeddedCard(e,t,i,a))}this.embeddedCard.hass=this.hass,this.syncEmbeddedPresentation()}syncEmbeddedPresentation(){const t=this.embeddedCard;(t?.updateComplete??Promise.resolve()).catch(()=>{}).then(()=>window.requestAnimationFrame(()=>this.applyEmbeddedPresentation()))}clearEmbeddedResizeObserver(){this.embeddedResizeObserver?.disconnect(),this.embeddedResizeObserver=void 0,this.resizeObservedSelector=void 0,this.resizeObservedCard=void 0}syncEmbeddedResizeObserver(t,e){"undefined"!=typeof ResizeObserver&&t?this.embeddedResizeObserver&&this.resizeObservedSelector===t&&this.resizeObservedCard===e||(this.clearEmbeddedResizeObserver(),this.embeddedResizeObserver=new ResizeObserver(()=>this.applyEmbeddedPresentation()),this.embeddedResizeObserver.observe(t),this.embeddedResizeObserver.observe(e),this.resizeObservedSelector=t,this.resizeObservedCard=e):this.clearEmbeddedResizeObserver()}applyEmbeddedPresentation(){const t=this.renderRoot.querySelector(".embedded-card-host"),e=this.renderRoot.querySelector(".group-selector"),i=this.embeddedCard;t&&i&&(this.syncEmbeddedResizeObserver(e,i),t.style.removeProperty("--st-group-cropped-header-height"),i.style.setProperty("--st-group-embedded-header-min-height",this.getEmbeddedHeaderReserve(i,e)),this.fadeInAfterSync&&(this.fadeInAfterSync=!1,window.requestAnimationFrame(()=>{this.cardFading=!1})))}getEmbeddedHeaderReserve(t,e){const i="calc(var(--st-group-header-control-height, 34px) + var(--st-group-header-top-buffer, 2px) + calc(var(--st-spacing, var(--st-default-spacing, 4px)) * 6))",a=this.getEmbeddedHeaderReserveMinimum();if(!e)return i;const o=t.getBoundingClientRect(),n=e.getBoundingClientRect(),r=Math.ceil(n.bottom-o.top+8),s=Math.max(r,a);return Number.isFinite(s)&&s>24?`${s}px`:i}getEmbeddedHeaderReserveMinimum(){const t=getComputedStyle(this),e=parseFloat(t.getPropertyValue("--st-group-header-control-height"))||34,i=parseFloat(t.getPropertyValue("--st-group-header-top-buffer"))||2,a=parseFloat(t.getPropertyValue("--st-spacing"))||parseFloat(t.getPropertyValue("--st-default-spacing"))||4;return Math.ceil(e+i+4*a)}selectEntity(t,e=!0){if(this.menuOpen=!1,t===this.selectedEntity)return;e&&this.pauseAutoSelectAfterManualSelection();const i=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;if(!this.embeddedCard||i)return this.fadeInAfterSync=!1,this.cardFading=!1,this.selectedEntity=t,void(e&&this.writeStoredSelection(t));this.cardFading=!0,this.fadeInAfterSync=!0,this.selectedEntity=t,e&&this.writeStoredSelection(t)}selectOffset(t){const e=this.getAvailableTargets();if(e.length<2)return;const i=(this.getSelectedIndex()+t+e.length)%e.length;this.selectEntity(e[i].entity)}toggleHeaderEntity(t,e){if(t.stopPropagation(),!be(this.hass?.states?.[e]))return;const i=Boolean(t.target.checked);this.hass?.callService?.("homeassistant","turn_"+(i?"on":"off"),{entity_id:e})}renderHeaderToggles(t){const e=this.getHeaderToggleConfigs(t);return e.length?B` + `}static getConfigElement(){return window.document.createElement(`${t}-group-editor`)}static getStubConfig(t){return{entities:Object.keys(t?.states??{}).filter(t=>He.includes(Ve(t))).slice(0,2),card:{}}}setConfig(t){this.clearAutoSelectResumeTimer();const e=(t.cards??t.entities??[]).map(Ue).filter(Boolean);if(!e.length)throw new Error("Simple Thermostat Group requires at least one card");this.config={...t,selector:{...Le,...t.selector??{}}},this.targets=e,this.activityRecords.clear();try{const i=JSON.parse(window.localStorage.getItem(`${this.getActivityStorageKey(t)}:v2`)??"[]");Array.isArray(i)&&i.forEach(t=>{e.some(e=>e.entity===t?.entity)&&"string"==typeof t.signature&&Number.isFinite(t.timestamp)&&this.activityRecords.set(t.entity,t)})}catch{}this.selectedEntity=this.getInitialSelection(t,e),this.activitySignatures.clear(),this.activitySignaturesInitialized=!1,this.persistedActivityApplied=!1}updated(){this.reconcileAvailableSelection(),this.syncAutoSelectRecentActivity(),this.syncEmbeddedCard(),this.syncOutsideClickListener(),this.syncTitleFit()}connectedCallback(){super.connectedCallback(),this.attachPresentationResizeListeners(),this.resumeAutoSelectAfterReconnect()}getCardSize(){if(!this.config||!this.getAvailableTargets().length)return 1;const t=this.embeddedCard?.getCardSize?.();if("number"==typeof t&&Number.isFinite(t))return Math.max(1,t);const e=this.getSelectedTarget();if(!e)return 1;const i=this.getTargetCardConfig(e),a=Array.isArray(i.entities)?i.entities.length:0,o=a?Math.max(1,Math.ceil(a/2)):0,n=this.getConfiguredModeRowCount(i),r=!0===i.hide_setpoint?0:1;return Math.max(2,1+o+r+n)}disconnectedCallback(){this.clearOutsideClickListener(),this.clearAutoSelectResumeTimer(),this.clearEmbeddedResizeObserver(),this.detachPresentationResizeListeners(),super.disconnectedCallback()}attachPresentationResizeListeners(){this.presentationResizeListenersAttached||(window.addEventListener("resize",this.handlePresentationResize),window.addEventListener("orientationchange",this.handlePresentationResize),this.presentationResizeListenersAttached=!0)}detachPresentationResizeListeners(){this.presentationResizeListenersAttached&&(window.removeEventListener("resize",this.handlePresentationResize),window.removeEventListener("orientationchange",this.handlePresentationResize),this.presentationResizeListenersAttached=!1)}getInitialSelection(t,e){const i=new Set(e.map(t=>t.entity)),a=!1===t.remember_selection?"":this.readStoredSelection(t);return a&&i.has(a)?a:t.selected&&i.has(t.selected)?t.selected:e[0].entity}readStoredSelection(t){return this.readStoredSelectionRecord(t)?.entity??""}readStoredSelectionRecord(t){try{const e=window.localStorage?.getItem(this.getStorageKey(t));if(!e)return;if(!e.trim().startsWith("{"))return{entity:e,timestamp:0};const i=JSON.parse(e);if("string"==typeof i.entity)return{entity:i.entity,timestamp:Number.isFinite(i.timestamp)?Number(i.timestamp):0}}catch(t){return}}writeStoredSelection(t){if(this.config&&!1!==this.config.remember_selection)try{window.localStorage?.setItem(this.getStorageKey(this.config),JSON.stringify({entity:t,timestamp:Date.now()}))}catch(t){}}readStoredActivity(t){try{const e=window.localStorage?.getItem(this.getActivityStorageKey(t));if(!e)return;const i=JSON.parse(e);if("string"==typeof i.entity&&"string"==typeof i.signature&&Number.isFinite(i.timestamp))return{entity:i.entity,signature:i.signature,timestamp:Number(i.timestamp)}}catch(t){return}}writeStoredActivity(t){if(this.config)try{window.localStorage?.setItem(this.getActivityStorageKey(this.config),JSON.stringify(t))}catch(t){}}getStorageKey(t){if(t.storage_key)return`simple-thermostat-group:${t.storage_key}`;return`simple-thermostat-group:${this.targets.map(t=>t.entity).join("|")}`}getActivityStorageKey(t){return`${this.getStorageKey(t)}:recent-activity`}getConfiguredModeRowCount(t){const e=t.control;return!1===e?0:Array.isArray(e)?e.filter(Boolean).length:e&&"object"==typeof e?Object.entries(e).filter(([t,e])=>!t.startsWith("_")&&!1!==e).length:1}clearAutoSelectResumeTimer(){void 0!==this.autoSelectResumeTimer&&(window.clearTimeout(this.autoSelectResumeTimer),this.autoSelectResumeTimer=void 0)}scheduleAutoSelectResume(t){this.clearAutoSelectResumeTimer(),this.autoSelectResumeTimer=window.setTimeout(()=>{this.autoSelectResumeTimer=void 0,this.lastManualSelectionAt=0,this.isRecentActivityAutoSelectEnabled()&&!this.menuOpen&&this.selectMostRecentStateActivity()},Math.max(0,t))}resumeAutoSelectAfterReconnect(){if(!this.lastManualSelectionAt||!this.isRecentActivityAutoSelectEnabled())return;const t=Date.now()-this.lastManualSelectionAt;this.scheduleAutoSelectResume(this.getAutoSelectManualPauseMs()-t)}getSelectedTarget(){const t=this.getAvailableTargets();return t.find(t=>t.entity===this.selectedEntity)??t[0]}getAvailableTargets(){return this.hass?this.targets.filter(t=>be(this.hass.states?.[t.entity])):this.targets}reconcileAvailableSelection(){const t=this.getAvailableTargets();t.length?t.some(t=>t.entity===this.selectedEntity)||(this.menuOpen=!1,this.cardFading=!1,this.fadeInAfterSync=!1,this.selectedEntity=t[0].entity):this.menuOpen=!1}getSelectedState(){const t=this.getSelectedTarget();return t?this.hass?.states?.[t.entity]:void 0}openSelectedPopover(){const t=this.getSelectedTarget();t?.entity&&_t(this,"hass-more-info",{entityId:t.entity})}onSelectorHeaderKeyDown(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.openSelectedPopover())}getGroupCardClasses(){const t=this.getSelectedState();if(!t)return"group-card group-shell";const e=Ve(t.entity_id),i=Se(t),a=["unavailable","unknown"].includes(String(t.state));return["group-card","group-shell",`domain-${De(e)}`,`state-${De(t.state)}`,De(i),a&&De(t.state)].filter(Boolean).join(" ")}getTargetClasses(t){const e=this.hass?.states?.[t.entity];if(!e)return"";const i=Ve(e.entity_id),a=Se(e);return[`domain-${De(i)}`,`state-${De(e.state)}`,De(a)].filter(Boolean).join(" ")}getGroupCardStyle(){const t=this.getSelectedState();return t?function(t,e={}){if("fan"!==t)return"";const i=Number(e?.percentage);if(Number.isNaN(i))return"";const a=Math.min(Math.max(i,0),100);return`--st-fan-spin-duration: ${Math.max(.9,3.2-a/100*2.1).toFixed(2)}s;`}(Ve(t.entity_id),t.attributes):""}getSelectedIndex(){const t=this.getAvailableTargets().findIndex(t=>t.entity===this.selectedEntity);return-1===t?0:t}isRecentActivityAutoSelectEnabled(){const t=this.config?.auto_select;return!!t&&(!0===t||"recent_activity"===t||"object"==typeof t&&"recent_activity"===t.mode)}getAutoSelectManualPauseMs(){const t=this.config?.auto_select;if(t&&"object"==typeof t){const e=Number(t.manual_pause_ms??t.cooldown_ms);if(Number.isFinite(e)&&e>=0)return e}return 3e4}pauseAutoSelectAfterManualSelection(){this.lastManualSelectionAt=Date.now(),this.clearAutoSelectResumeTimer(),this.isRecentActivityAutoSelectEnabled()&&this.scheduleAutoSelectResume(this.getAutoSelectManualPauseMs())}getActivitySignature(t){const e=this.hass?.states?.[t.entity];if(!e)return"";const i=Ve(t.entity),a=Se(e)??"";return`domain:${i}|state:${e.state}|action:${a}`}getActivityTimestamp(t){const e=this.hass?.states?.[t.entity],i=this.activityRecords.get(t.entity);if(i?.signature===this.getActivitySignature(t))return i.timestamp;const a=e?.last_changed??e?.last_updated,o="string"==typeof a?Date.parse(a):NaN;return Number.isFinite(o)?o:0}getActivityCandidate(t,e=this.getActivityTimestamp(t)){return{target:t,timestamp:e,activeRank:this.getActivityActiveRank(t),observed:!0===this.activityRecords.get(t.entity)?.observed&&this.activityRecords.get(t.entity)?.signature===this.getActivitySignature(t),stateTransition:this.getStateTransitionTimestamp(t)===e}}getStateTransitionTimestamp(t){const e=this.hass?.states?.[t.entity]?.last_changed,i="string"==typeof e?Date.parse(e):NaN;return Number.isFinite(i)?i:0}isBetterActivityCandidate(t,e){return!e||(t.observed||e.observed?t.observed!==e.observed?!!(!t.observed&&t.stateTransition&&t.timestamp>e.timestamp)||!(!e.observed&&e.stateTransition&&e.timestamp>t.timestamp)&&!0===t.observed:t.timestamp>e.timestamp:t.activeRank!==e.activeRank?t.activeRank>e.activeRank:t.timestamp>=e.timestamp)}getMostRecentStateActivityCandidate(){return this.getAvailableTargets().map(t=>this.getActivityCandidate(t)).filter(t=>t.timestamp>0).reduce((t,e)=>this.isBetterActivityCandidate(e,t)?e:t,void 0)}applyPersistedActivitySelection(t){if(this.persistedActivityApplied||!this.config||!this.isRecentActivityAutoSelectEnabled())return;this.persistedActivityApplied=!0;const e=!1===this.config.remember_selection?void 0:this.readStoredSelectionRecord(this.config),i=e&&this.targets.some(t=>t.entity===e.entity),a=this.getMostRecentStateActivityCandidate();if(i&&(!a||a.timestamp<=e.timestamp))return void this.selectEntity(e.entity,!1);const o=this.readStoredActivity(this.config);if(!o)return void this.selectMostRecentStateActivity(t);if(!this.targets.some(t=>t.entity===o.entity))return void this.selectMostRecentStateActivity(t);const n=this.targets.find(t=>t.entity===o.entity),r=t.get(o.entity);if(n&&r&&r===o.signature){const e=this.getActivityCandidate(n,o.timestamp);return a&&this.isBetterActivityCandidate(a,e)?void this.selectMostRecentStateActivity(t):void this.selectEntity(o.entity,!1)}this.selectMostRecentStateActivity(t)}selectMostRecentStateActivity(t){const e=this.getMostRecentStateActivityCandidate();if(e&&e.target.entity!==this.selectedEntity&&this.selectEntity(e.target.entity,!1),e&&t){const i=t.get(e.target.entity);i&&this.writeStoredActivity({entity:e.target.entity,signature:i,timestamp:e.timestamp})}}getActivityActiveRank(t){const e=this.hass?.states?.[t.entity];if(!be(e))return 0;const i=Ve(t.entity),a=Se(e)??e.attributes?.action,o="string"==typeof e.state?e.state.toLowerCase():"",n="string"==typeof a?a.toLowerCase():"";if("climate"===i)return["heating","cooling","drying"].includes(n)?2:o&&"off"!==o?1:0;if("fan"===i){const t=Number(e.attributes?.percentage);return"on"===o||t>0?2:0}return"humidifier"===i?["drying","humidifying"].includes(n)?2:o&&!["off","idle"].includes(o)?1:0:o&&"off"!==o?1:0}syncAutoSelectRecentActivity(){if(!this.config||!this.hass||!this.targets.length)return;const t=[],e=new Map;let i=!1;if(this.targets.forEach(a=>{const o=this.getActivitySignature(a);e.set(a.entity,o);const n=this.activityRecords.get(a.entity);if(this.activitySignaturesInitialized&&o&&o!==this.activitySignatures.get(a.entity)){const e={entity:a.entity,signature:o,timestamp:Date.now(),observed:!0};this.activityRecords.set(a.entity,e),i=!0,this.writeStoredActivity(e),t.push(this.getActivityCandidate(a,Date.now()))}else o&&n?.signature!==o&&(i=!0,this.activityRecords.set(a.entity,{entity:a.entity,signature:o,timestamp:this.getActivityTimestamp(a),observed:!1}))}),i)try{window.localStorage.setItem(`${this.getActivityStorageKey(this.config)}:v2`,JSON.stringify([...this.activityRecords.values()]))}catch{}if(this.activitySignatures=e,!this.activitySignaturesInitialized)return this.activitySignaturesInitialized=!0,void this.applyPersistedActivitySelection(e);if(!t.length||!this.isRecentActivityAutoSelectEnabled()||this.menuOpen||Date.now()-this.lastManualSelectionAtthis.getAvailableTargets().some(e=>e.entity===t.target.entity));if(!a.length)return;const o=a.reduce((t,e)=>this.isBetterActivityCandidate(e,t)?e:t);this.selectEntity(o.target.entity,!1)}getTargetLabel(t){const e=this.parseTargetHeader(t);if(e&&"string"==typeof e.name)return e.name;const i=this.hass?.states?.[t.entity];return i&&"function"==typeof this.hass?.formatEntityName?this.hass.formatEntityName(i):i?.attributes?.friendly_name??t.entity}getTargetIcon(t){if(!(this.config?.selector??Le).icons)return"";const e=this.parseTargetHeader(t);if(e&&e.icon)return this.resolveHeaderIcon(e.icon,t);const i=this.hass?.states?.[t.entity];if(i?.attributes?.icon)return i.attributes.icon;const a=Ve(t.entity);return"fan"===a?"mdi:fan":"humidifier"===a?"mdi:air-humidifier":"mdi:air-conditioner"}getTargetHeaderData(t){return this.parseTargetHeader(t)}parseTargetHeader(t){const e=this.hass?.states?.[t.entity];if(!e||!this.hass)return null;const i=this.getTargetCardConfig(t);return Ne(i.header,e,this.hass,!1!==i.enhanced_visuals)}resolveHeaderIcon(t,e){if("string"==typeof t)return t;if(!t||"object"!=typeof t)return"";const i=this.hass?.states?.[e.entity];if(!i)return"";const a=t[Se(i)||String(i.state)];return"string"==typeof a?a:""}getHeaderToggleConfigs(t){const e=t.config.header;return e&&"object"==typeof e?[...e.toggle?[e.toggle]:[],...Array.isArray(e.toggles)?e.toggles:[]].filter(t=>t?.entity&&this.hass?.states?.[t.entity]):[]}getEmbeddedConfig(){const t=this.getSelectedTarget();if(t)return this.getTargetCardConfig(t)}getEmbeddedConfigSignature(t){return JSON.stringify(t)}getTargetCardConfig(e){return{...{...this.config?.card??{},...this.getSourceTargetConfig(e),...e.config},embedded:!0,entity:e.entity,type:e.config.type??`custom:${t}`}}getSourceTargetConfig(t){const e=(this.config?.cards??this.config?.entities??[]).find(e=>!!e&&"object"==typeof e&&e.entity===t.entity);return e&&"object"==typeof e?e:{}}getCardHelpers(){return this.cardHelpersPromise||(this.cardHelpersPromise="function"==typeof window.loadCardHelpers?window.loadCardHelpers():Promise.reject(new Error("Home Assistant card helpers unavailable"))),this.cardHelpersPromise}createFallbackEmbeddedCardElement(e){const i=window.document.createElement(t);if("function"==typeof i.setConfig)return i.setConfig(e),i}installEmbeddedCard(t,e,i,a){if(!this.config||!this.hass)return;if(!e||"function"!=typeof e.setConfig)return void(this.embeddedCardPendingSignature="");const o=this.getEmbeddedConfig();o&&this.getEmbeddedConfigSignature(o)===a&&(this.embeddedCard=e,this.embeddedCardEntity=String(i.entity??""),this.embeddedCardConfigSignature=a,this.embeddedCardPendingSignature="",t.replaceChildren(e),"function"==typeof e.setConfig&&e.setConfig(i),e.hass=this.hass,this.syncEmbeddedPresentation())}syncEmbeddedCard(){if(!this.config||!this.hass)return;const e=this.renderRoot.querySelector(".embedded-card-host"),i=this.getEmbeddedConfig();if(!e||!i)return this.embeddedCard=void 0,this.embeddedCardEntity="",this.embeddedCardConfigSignature="",void(this.embeddedCardPendingSignature="");const a=this.getEmbeddedConfigSignature(i);if(!this.embeddedCard||this.embeddedCardEntity!==i.entity||this.embeddedCardConfigSignature!==a){if("function"!=typeof window.loadCardHelpers){const o=window.customElements.get(t)?this.createFallbackEmbeddedCardElement(i):void 0;return o?void this.installEmbeddedCard(e,o,i,a):void(this.embeddedCardPendingSignature="")}if(this.embeddedCardPendingSignature===a)return;return this.embeddedCardPendingSignature=a,void this.getCardHelpers().then(t=>t.createCardElement(i)).catch(()=>window.customElements.get(t)?this.createFallbackEmbeddedCardElement(i):void 0).then(t=>this.installEmbeddedCard(e,t,i,a))}this.embeddedCard.hass=this.hass,this.syncEmbeddedPresentation()}syncEmbeddedPresentation(){const t=this.embeddedCard;(t?.updateComplete??Promise.resolve()).catch(()=>{}).then(()=>window.requestAnimationFrame(()=>this.applyEmbeddedPresentation()))}clearEmbeddedResizeObserver(){this.embeddedResizeObserver?.disconnect(),this.embeddedResizeObserver=void 0,this.resizeObservedSelector=void 0,this.resizeObservedCard=void 0}syncEmbeddedResizeObserver(t,e){"undefined"!=typeof ResizeObserver&&t?this.embeddedResizeObserver&&this.resizeObservedSelector===t&&this.resizeObservedCard===e||(this.clearEmbeddedResizeObserver(),this.embeddedResizeObserver=new ResizeObserver(()=>this.applyEmbeddedPresentation()),this.embeddedResizeObserver.observe(t),this.embeddedResizeObserver.observe(e),this.resizeObservedSelector=t,this.resizeObservedCard=e):this.clearEmbeddedResizeObserver()}applyEmbeddedPresentation(){const t=this.renderRoot.querySelector(".embedded-card-host"),e=this.renderRoot.querySelector(".group-selector"),i=this.embeddedCard;t&&i&&(this.syncEmbeddedResizeObserver(e,i),t.style.removeProperty("--st-group-cropped-header-height"),i.style.setProperty("--st-group-embedded-header-min-height",this.getEmbeddedHeaderReserve(i,e)),this.fadeInAfterSync&&(this.fadeInAfterSync=!1,window.requestAnimationFrame(()=>{this.cardFading=!1})))}getEmbeddedHeaderReserve(t,e){const i="calc(var(--st-group-header-control-height, 34px) + var(--st-group-header-top-buffer, 2px) + calc(var(--st-spacing, var(--st-default-spacing, 4px)) * 6))",a=this.getEmbeddedHeaderReserveMinimum();if(!e)return i;const o=t.getBoundingClientRect(),n=e.getBoundingClientRect(),r=Math.ceil(n.bottom-o.top+8),s=Math.max(r,a);return Number.isFinite(s)&&s>24?`${s}px`:i}getEmbeddedHeaderReserveMinimum(){const t=getComputedStyle(this),e=parseFloat(t.getPropertyValue("--st-group-header-control-height"))||34,i=parseFloat(t.getPropertyValue("--st-group-header-top-buffer"))||2,a=parseFloat(t.getPropertyValue("--st-spacing"))||parseFloat(t.getPropertyValue("--st-default-spacing"))||4;return Math.ceil(e+i+4*a)}selectEntity(t,e=!0){if(this.menuOpen=!1,t===this.selectedEntity)return;e&&this.pauseAutoSelectAfterManualSelection();const i=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;if(!this.embeddedCard||i)return this.fadeInAfterSync=!1,this.cardFading=!1,this.selectedEntity=t,void(e&&this.writeStoredSelection(t));this.cardFading=!0,this.fadeInAfterSync=!0,this.selectedEntity=t,e&&this.writeStoredSelection(t)}selectOffset(t){const e=this.getAvailableTargets();if(e.length<2)return;const i=(this.getSelectedIndex()+t+e.length)%e.length;this.selectEntity(e[i].entity)}toggleHeaderEntity(t,e){if(t.stopPropagation(),!be(this.hass?.states?.[e]))return;const i=Boolean(t.target.checked);this.hass?.callService?.("homeassistant","turn_"+(i?"on":"off"),{entity_id:e})}renderHeaderToggles(t){const e=this.getHeaderToggleConfigs(t);return e.length?B`
${e.map(t=>{const e=this.hass?.states?.[t.entity],i=!0===t.name?e?.attributes?.friendly_name:"string"==typeof t.name?t.name:e?.attributes?.friendly_name,a=t.icon||e?.attributes?.icon;return B`
@@ -3027,7 +3027,7 @@ ha-card.standard-visuals .thermostat-trigger:active { `})}
- `}renderHeaderIcon(t){const e=this.hass?.states?.[t.entity],i=this.getTargetHeaderData(t);if(!e||!i||!i.icon)return q;const a=we(e)||String(e.state),o="object"==typeof i.icon?i.icon?.[a]??!1:i.icon;if(!o)return q;const n=a&&a!==e.state?` ${Le(a)}`:"",r=Le(e.state);return B` + `}renderHeaderIcon(t){const e=this.hass?.states?.[t.entity],i=this.getTargetHeaderData(t);if(!e||!i||!i.icon)return q;const a=Se(e)||String(e.state),o="object"==typeof i.icon?i.icon?.[a]??!1:i.icon;if(!o)return q;const n=a&&a!==e.state?` ${De(a)}`:"",r=De(e.state);return B` @@ -3036,7 +3036,7 @@ ha-card.standard-visuals .thermostat-trigger:active { .icon=${o} > - `}getTargetStateLabel(t){const e=this.hass?.states?.[t.entity];return e?"function"==typeof this.hass?.formatEntityState?this.hass.formatEntityState(e):String(e.state):""}renderTabSelector(){const t=this.config?.selector??je,e=this.getAvailableTargets();return B` + `}getTargetStateLabel(t){const e=this.hass?.states?.[t.entity];return e?"function"==typeof this.hass?.formatEntityState?this.hass.formatEntityState(e):String(e.state):""}renderTabSelector(){const t=this.config?.selector??Le,e=this.getAvailableTargets();return B`
${e.map(e=>{const i=this.getTargetLabel(e),a=this.getTargetIcon(e),o=e.entity===this.selectedEntity,n=t.states?this.getTargetStateLabel(e):"";return B` @@ -3119,7 +3119,7 @@ ha-card.standard-visuals .thermostat-trigger:active { class=${"embedded-card-host"+(this.cardFading?" fading":"")} >
- `:q:B``}}var De;i([pt({attribute:!1})],Ve.prototype,"hass",void 0),i([mt()],Ve.prototype,"config",void 0),i([mt()],Ve.prototype,"targets",void 0),i([mt()],Ve.prototype,"selectedEntity",void 0),i([mt()],Ve.prototype,"menuOpen",void 0),i([mt()],Ve.prototype,"cardFading",void 0),function(t){t.OFF="off",t.HEAT="heat",t.COOL="cool",t.HEAT_COOL="heat_cool",t.AUTO="auto",t.DRY="dry",t.FAN_ONLY="fan_only"}(De||(De={}));const Ue=["auto","silent","quiet","low","mid","medium","high","max","turbo","full"];const We=["mdi:fan-speed-1","mdi:fan-speed-2","mdi:fan-speed-3","st:fan-speed-4","st:fan-speed-5"],Be=t=>String(t).toLowerCase().replace(/\s+/g,"_"),Ge={low:1,medlow:2,medium_low:2,mid:2,medium:2,medium_high:3,medhigh:3,max:5,turbo:5,full:5};function qe(t,e){const i=Be(t),a=function(t){if(!/^\d+$/.test(t))return;const e=Number(t);return e>=1&&e<=We.length?e:void 0}(i);if(a)return We[a-1];const o=function(t,e){if("high"===t){const t=new Set(e.map(Be));return t.has("medium_high")||t.has("medhigh")||t.has("max")||t.has("turbo")||t.has("full")?4:3}return Ge[t]}(i,e);return o?We[o-1]:void 0}function Ke(t,{decimals:e=1,fallback:i="N/A",locale:a}={}){if(null===t||""===t||["boolean","undefined"].includes(typeof t))return i;const o=Number(t);if(Number.isNaN(o))return i;const n=function(t){if(null===t||""===t||"boolean"==typeof t)return 1;const e=Number(t);return Number.isInteger(e)&&e>=0&&e<=100?e:1}(e);if(!a)return o.toFixed(n);try{return new Intl.NumberFormat("none"===a.number_format?"en-US":function({language:t,number_format:e}){switch(e){case"comma_decimal":return["en-US","en"];case"decimal_comma":return["de","es","it"];case"space_comma":return["fr","sv","cs"];case"quote_decimal":return["de-CH"];case"system":return;default:return t}}(a),{useGrouping:"none"!==a.number_format,minimumFractionDigits:n,maximumFractionDigits:n}).format(o)}catch{return o.toFixed(n)}}const Ze=[["heat",/\b(heat|heater|furnace|radiator|boiler|water[_ -]?heater)\b/],["cool",/\b(cool|cooling|ac|a\/c|air[_ -]?conditioner|snowflake)\b/],["dry",/\b(dry|drying|dehumidifier|dehumidify)\b/],["water-percent",/\b(humidifier|humidify|humidity)\b/],["fan",/\b(fan|blower)\b/],["lightbulb",/\b(light|lamp|bulb)\b/]],Je={heat:["component.climate.state._.heat","state_attributes.climate.hvac_action.heating"],cool:["component.climate.state._.cool","state_attributes.climate.hvac_action.cooling"],dry:["component.climate.state._.dry","state_attributes.humidifier.action.drying"],fan:["component.fan.entity_component._.name"],lightbulb:["component.light.entity_component._.name"],"water-percent":["component.humidifier.entity_component._.name","state_attributes.humidifier.action.humidifying"]};function Ye(t,e){const i=t.toLowerCase().replace(/[.:]/g," "),a=function(t){return"function"!=typeof t?.localize?[]:Object.entries(Je).flatMap(([e,i])=>i.map(e=>t.localize(e)).filter(t=>t&&!i.includes(t)).map(t=>{return[e,(i=String(t),i.toLowerCase().replace(/[.:]/g," "))];var i}))}(e).find(([,t])=>!!t&&(i===t||i.includes(t)));if(a)return a[0];const o=Ze.find(([,t])=>t.test(i));return o?.[0]??""}function Xe(t){if("string"!=typeof t||!t)return"";const e=(i=t.replace(/^[a-z]+:/,""),String(i??"").replace(/[^a-z0-9_-]/gi,""));var i;const a=Ye(e.replace(/-/g," "));return a||(["fire","radiator","heat-wave","heating-coil","water-boiler","water-boiler-auto","water-boiler-off"].includes(e)?"heat":["snowflake","air-conditioner"].includes(e)?"cool":"fan"===e?"fan":e.includes("light")?"lightbulb":["water-percent","air-humidifier"].includes(e)||["air-humidifier-off"].includes(e)?"water-percent":e)}function Qe({icon:t,label:e,entity:i,hass:a}){const o=Xe(t);if(o)return o;const n=function(t){const e=t?.entity_id,i="string"==typeof e?e.split(".")[0]:"",a=t?.attributes?.device_class;return"light"===i?"lightbulb":"fan"===i?"fan":"humidifier"===i?"dehumidifier"===a?"dry":"water-percent":"heat"===a||"heater"===a?"heat":"cold"===a||"cooling"===a?"cool":"moisture"===a||"humidity"===a?"water-percent":""}(i);if(n)return n;return Ye([e,i?.entity_id,i?.attributes?.friendly_name].filter(Boolean).join(" "),a)}function ti(t){return t?`toggle-${t}`:""}function ei({header:t,toggleEntityChanged:e,entity:i,hass:a,openEntityPopover:o}){if(!1===t)return q;const n=we(i)||i.state;let r=t.icon;"object"==typeof t.icon&&(r=r?.[n]??!1);const s=Boolean(t.slashOffIcon),c=t?.name??!1;return B` + `:q:B``}}var Be;i([pt({attribute:!1})],We.prototype,"hass",void 0),i([mt()],We.prototype,"config",void 0),i([mt()],We.prototype,"targets",void 0),i([mt()],We.prototype,"selectedEntity",void 0),i([mt()],We.prototype,"menuOpen",void 0),i([mt()],We.prototype,"cardFading",void 0),function(t){t.OFF="off",t.HEAT="heat",t.COOL="cool",t.HEAT_COOL="heat_cool",t.AUTO="auto",t.DRY="dry",t.FAN_ONLY="fan_only"}(Be||(Be={}));const Ge=["auto","silent","quiet","low","mid","medium","high","max","turbo","full"];const qe=["mdi:fan-speed-1","mdi:fan-speed-2","mdi:fan-speed-3","st:fan-speed-4","st:fan-speed-5"],Ke=t=>String(t).toLowerCase().replace(/\s+/g,"_"),Ze={low:1,medlow:2,medium_low:2,mid:2,medium:2,medium_high:3,medhigh:3,max:5,turbo:5,full:5};function Je(t,e){const i=Ke(t),a=function(t){if(!/^\d+$/.test(t))return;const e=Number(t);return e>=1&&e<=qe.length?e:void 0}(i);if(a)return qe[a-1];const o=function(t,e){if("high"===t){const t=new Set(e.map(Ke));return t.has("medium_high")||t.has("medhigh")||t.has("max")||t.has("turbo")||t.has("full")?4:3}return Ze[t]}(i,e);return o?qe[o-1]:void 0}function Ye(t,{decimals:e=1,fallback:i="N/A",locale:a}={}){if(null===t||""===t||["boolean","undefined"].includes(typeof t))return i;const o=Number(t);if(Number.isNaN(o))return i;const n=function(t){if(null===t||""===t||"boolean"==typeof t)return 1;const e=Number(t);return Number.isInteger(e)&&e>=0&&e<=100?e:1}(e);if(!a)return o.toFixed(n);try{return new Intl.NumberFormat("none"===a.number_format?"en-US":function({language:t,number_format:e}){switch(e){case"comma_decimal":return["en-US","en"];case"decimal_comma":return["de","es","it"];case"space_comma":return["fr","sv","cs"];case"quote_decimal":return["de-CH"];case"system":return;default:return t}}(a),{useGrouping:"none"!==a.number_format,minimumFractionDigits:n,maximumFractionDigits:n}).format(o)}catch{return o.toFixed(n)}}const Xe=[["heat",/\b(heat|heater|furnace|radiator|boiler|water[_ -]?heater)\b/],["cool",/\b(cool|cooling|ac|a\/c|air[_ -]?conditioner|snowflake)\b/],["dry",/\b(dry|drying|dehumidifier|dehumidify)\b/],["water-percent",/\b(humidifier|humidify|humidity)\b/],["fan",/\b(fan|blower)\b/],["lightbulb",/\b(light|lamp|bulb)\b/]],Qe={heat:["component.climate.state._.heat","state_attributes.climate.hvac_action.heating"],cool:["component.climate.state._.cool","state_attributes.climate.hvac_action.cooling"],dry:["component.climate.state._.dry","state_attributes.humidifier.action.drying"],fan:["component.fan.entity_component._.name"],lightbulb:["component.light.entity_component._.name"],"water-percent":["component.humidifier.entity_component._.name","state_attributes.humidifier.action.humidifying"]};function ti(t,e){const i=t.toLowerCase().replace(/[.:]/g," "),a=function(t){return"function"!=typeof t?.localize?[]:Object.entries(Qe).flatMap(([e,i])=>i.map(e=>t.localize(e)).filter(t=>t&&!i.includes(t)).map(t=>{return[e,(i=String(t),i.toLowerCase().replace(/[.:]/g," "))];var i}))}(e).find(([,t])=>!!t&&(i===t||i.includes(t)));if(a)return a[0];const o=Xe.find(([,t])=>t.test(i));return o?.[0]??""}function ei(t){if("string"!=typeof t||!t)return"";const e=(i=t.replace(/^[a-z]+:/,""),String(i??"").replace(/[^a-z0-9_-]/gi,""));var i;const a=ti(e.replace(/-/g," "));return a||(["fire","radiator","heat-wave","heating-coil","water-boiler","water-boiler-auto","water-boiler-off"].includes(e)?"heat":["snowflake","air-conditioner"].includes(e)?"cool":"fan"===e?"fan":e.includes("light")?"lightbulb":["water-percent","air-humidifier"].includes(e)||["air-humidifier-off"].includes(e)?"water-percent":e)}function ii({icon:t,label:e,entity:i,hass:a}){const o=ei(t);if(o)return o;const n=function(t){const e=t?.entity_id,i="string"==typeof e?e.split(".")[0]:"",a=t?.attributes?.device_class;return"light"===i?"lightbulb":"fan"===i?"fan":"humidifier"===i?"dehumidifier"===a?"dry":"water-percent":"heat"===a||"heater"===a?"heat":"cold"===a||"cooling"===a?"cool":"moisture"===a||"humidity"===a?"water-percent":""}(i);if(n)return n;return ti([e,i?.entity_id,i?.attributes?.friendly_name].filter(Boolean).join(" "),a)}function ai(t){return t?`toggle-${t}`:""}function oi({header:t,toggleEntityChanged:e,entity:i,hass:a,openEntityPopover:o}){if(!1===t)return q;const n=Se(i)||i.state;let r=t.icon;"object"==typeof t.icon&&(r=r?.[n]??!1);const s=Boolean(t.slashOffIcon),c=t?.name??!1;return B`
o()}> ${function(t,e,i,a=!1){const o=i&&i!==e?` ${i}`:"";return t?B` @@ -3141,7 +3141,7 @@ ha-card.standard-visuals .thermostat-trigger:active { >`:q);return B`
${i}
`}(t.faults,o)} ${function(t,e,i,a,o){return t?.length?B`
- ${t.map(t=>{if(!0===t.hide_when_off&&"off"===o?.state)return q;const n=t.entity?.entity_id,r=t.entity?.state,s="string"==typeof n?n.split(".")[0]:"",c=ti(Qe({icon:"string"==typeof t.icon?t.icon:t.entity?.attributes?.icon,label:t.label,entity:t.entity,hass:a}));return B` + ${t.map(t=>{if(!0===t.hide_when_off&&"off"===o?.state)return q;const n=t.entity?.entity_id,r=t.entity?.state,s="string"==typeof n?n.split(".")[0]:"",c=ai(ii({icon:"string"==typeof t.icon?t.icon:t.entity?.attributes?.icon,label:t.label,entity:t.entity,hass:a}));return B`
@@ -3161,24 +3161,24 @@ ha-card.standard-visuals .thermostat-trigger:active {
`:q}(t.toggles,o,e,a,i)}
- `}function ii(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ai(t,e,i){if(!e||"string"!=typeof e)return String(t);const a=String(t);return new RegExp(`${ii(e)}$`).test(a)?a:`${a}${function(t,e){if(e){const i=e.match(new RegExp(`(\\s*)${ii(t)}$`));if(i)return i[1]??""}return"%"===t?"":" "}(e,i)}${e}`}var oi,ni={exports:{}};function ri(){return oi||(oi=1,function(t){function e(t){var i,a,o=new Error(t);return i=o,a=e.prototype,Object.setPrototypeOf?Object.setPrototypeOf(i,a):i.__proto__=a,o}function i(t,i,a){var o=i.slice(0,a).split(/\n/),n=o.length,r=o[n-1].length+1;throw e(t+=" at line "+n+" col "+r+":\n\n "+i.split(/\n/)[n-1]+"\n "+Array(r).join(" ")+"^")}e.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var a=new Function("return this")().Promise,o=!1;try{o=new Function("return (async function(){}).constructor")()}catch(t){if(!(t instanceof SyntaxError))throw t}function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function r(t,e,i){for(var a in e)n(e,a)&&(null==e[a]||"object"!=typeof e[a]||"storage"!==a&&"prefixes"!==a||i?t[a]=e[a]:t[a]=r({},e[a]));return t}var s=/^async +/,c=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,l=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,d=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,h=/[.*+\-?^${}()|[\]\\]/g;function u(t){return h.test(t)?t.replace(h,"\\$&"):t}function p(t,a){a.rmWhitespace&&(t=t.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),c.lastIndex=0,l.lastIndex=0,d.lastIndex=0;var o=a.prefixes,n=[o.h,o.b,o.i,o.r,o.c,o.e].reduce(function(t,e){return t&&e?t+"|"+u(e):e?u(e):t},""),r=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+u(a.tags[1])+")","g"),h=new RegExp("([^]*?)"+u(a.tags[0])+"(-|_)?\\s*("+n+")?\\s*","g"),p=0,m=!1;function g(e,o){var n,u={f:[]},g=0,f="c";function v(e){var o=t.slice(p,e),n=o.trim();if("f"===f)"safe"===n?u.raw=!0:a.async&&s.test(n)?(n=n.replace(s,""),u.f.push([n,"",!0])):u.f.push([n,""]);else if("fp"===f)u.f[u.f.length-1][1]+=n;else if("err"===f){if(n){var r=o.search(/\S/);i("invalid syntax",t,p+r)}}else u[f]=n;p=e+1}for("h"===o||"b"===o||"c"===o?f="n":"r"===o&&(u.raw=!0,o="i"),r.lastIndex=p;null!==(n=r.exec(t));){var y=n[1],b=n[2],_=n[3],w=n[4],x=n[5],$=n.index;if(y)"("===y?(0===g&&("n"===f?(v($),f="p"):"f"===f&&(v($),f="fp")),g++):")"===y?0===--g&&"c"!==f&&(v($),f="err"):0===g&&"|"===y?(v($),f="f"):"=>"===y&&(v($),p+=1,f="res");else if(b)if("/*"===b){var S=t.indexOf("*/",r.lastIndex);-1===S&&i("unclosed comment",t,n.index),r.lastIndex=S+2}else"'"===b?(l.lastIndex=n.index,l.exec(t)?r.lastIndex=l.lastIndex:i("unclosed string",t,n.index)):'"'===b?(d.lastIndex=n.index,d.exec(t)?r.lastIndex=d.lastIndex:i("unclosed string",t,n.index)):"`"===b&&(c.lastIndex=n.index,c.exec(t)?r.lastIndex=c.lastIndex:i("unclosed string",t,n.index));else if(_)return v($),p=$+n[0].length,h.lastIndex=p,m=x,w&&"h"===o&&(o="s"),u.t=o,u}return i("unclosed tag",t,e),u}var f=function n(r,c){r.b=[],r.d=[];var l,d=!1,u=[];function f(t,e){t&&(t=function(t,e,i,a){var o,n;return"string"==typeof e.autoTrim?o=n=e.autoTrim:Array.isArray(e.autoTrim)&&(o=e.autoTrim[1],n=e.autoTrim[0]),(i||!1===i)&&(o=i),(a||!1===a)&&(n=a),"slurp"===o&&"slurp"===n?t.trim():("_"===o||"slurp"===o?t=String.prototype.trimLeft?t.trimLeft():t.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==o&&"nl"!==o||(t=t.replace(/^(?:\n|\r|\r\n)/,"")),"_"===n||"slurp"===n?t=String.prototype.trimRight?t.trimRight():t.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==n&&"nl"!==n||(t=t.replace(/(?:\n|\r|\r\n)$/,"")),t)}(t,a,m,e),t&&(t=t.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),u.push(t)))}for(;null!==(l=h.exec(t));){var v,y=l[1],b=l[2],_=l[3]||"";for(var w in o)if(o[w]===_){v=w;break}f(y,b),p=l.index+l[0].length,v||i("unrecognized tag type: "+_,t,p);var x=g(l.index,v),$=x.t;if("h"===$){var S=x.n||"";a.async&&s.test(S)&&(x.a=!0,x.n=S.replace(s,"")),x=n(x),u.push(x)}else if("c"===$){if(r.n===x.n)return d?(d.d=u,r.b.push(d)):r.d=u,r;i("Helper start and end don't match",t,l.index+l[0].length)}else if("b"===$){d?(d.d=u,r.b.push(d)):r.d=u;var A=x.n||"";a.async&&s.test(A)&&(x.a=!0,x.n=A.replace(s,"")),d=x,u=[]}else if("s"===$){var k=x.n||"";a.async&&s.test(k)&&(x.a=!0,x.n=k.replace(s,"")),u.push(x)}else u.push(x)}if(!c)throw e('unclosed helper "'+r.n+'"');return f(t.slice(p,t.length),!1),r.d=u,r}({f:[]},!0);if(a.plugins)for(var v=0;v0)throw e((o?"Native":"")+"Helper '"+t+"' doesn't accept blocks");if(a&&a.length>0)throw e((o?"Native":"")+"Helper '"+t+"' doesn't accept filters")}function x(t,e,i,a,o){i(t[e],e).then(function(n){a+=n,e===t.length-1?o(a):x(t,e+1,i,a,o)})}function $(t,e,i,a,o,n){a(e[i],t[e[i]]).then(function(r){o+=r,i===e.length-1?n(o):$(t,e,i+1,a,o,n)})}var S={"&":"&","<":"<",">":">",'"':""","'":"'"};function A(t){return S[t]}var k=new _({}),E=new _({each:function(t,e){var i="",a=t.params[0];if(w("each",e,!1),t.async)return new Promise(function(e){x(a,0,t.exec,i,e)});for(var o=0;o"']/.test(e)?e.replace(/[&<>"']/g,A):e}}),T={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(t,i){if("H"===t){var a=this.storage.helpers.get(i);if(a)return a;throw e("Can't find helper '"+i+"'")}if("F"===t){var o=this.storage.filters.get(i);if(o)return o;throw e("Can't find filter '"+i+"'")}},async:!1,storage:{helpers:E,nativeHelpers:z,filters:C,templates:k},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function R(t,e){var i={};return r(i,T),e&&r(i,e),t&&r(i,t),i.l.bind(i),i}function O(t,i){var a,n=R(i||{}),r=Function;if(n.async){if(!o)throw e("This environment doesn't support async/await");r=o}if(n.varName&&!1===(a=n.varName,/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(a)))throw e("options.varName must be a valid JS identifier");try{return new r(n.varName,"c","cb",m(t,n))}catch(i){throw i instanceof SyntaxError?e("Bad template syntax\n\n"+i.message+"\n"+Array(i.message.length+1).join("=")+"\n"+m(t,n)):i}}function N(t,e){var i;return e.cache&&e.name&&e.storage.templates.get(e.name)?e.storage.templates.get(e.name):(i="function"==typeof t?t:O(t,e),e.cache&&e.name&&e.storage.templates.define(e.name,i),i)}T.l.bind(T),t.compile=O,t.compileScope=b,t.compileScopeIntoFunction=y,t.compileToString=m,t.defaultConfig=T,t.filters=C,t.getConfig=R,t.helpers=E,t.nativeHelpers=z,t.parse=p,t.render=function(t,i,o,n){var r=R(o||{});if(!r.async)return N(t,r)(i,r);if(!n){if("function"==typeof a)return new a(function(e,a){try{e(N(t,r)(i,r))}catch(t){a(t)}});throw e("Please provide a callback function, this env doesn't support Promises")}try{N(t,r)(i,r,n)}catch(t){return n(t)}},t.templates=k,Object.defineProperty(t,"__esModule",{value:!0})}(ni.exports)),ni.exports}var si=ri();si.defaultConfig.autoEscape=!1;function ci(t,e=1){if(null===t||""===t||"boolean"==typeof t)return e;const i=Number(t);return Number.isInteger(i)&&i>=0&&i<=100?i:e}function li(t){return String(t??"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function di(t){return li(t)}function hi(t){return"string"==typeof t?t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"):Array.isArray(t)?t.map(hi):t&&"object"==typeof t?Object.fromEntries(Object.entries(t).map(([t,e])=>[t,hi(e)])):t}function ui({template:t,stateObj:e,attribute:i,hass:a,config:o={},variables:n={},localize:r=t=>t}){const[s]=String(e?.entity_id??"").split("."),c=e?.attributes??{},l=i&&Object.prototype.hasOwnProperty.call(c,i)?c[i]:e?.state,d=i&&"function"==typeof a.formatEntityAttributeValue?a.formatEntityAttributeValue(e,i):"function"==typeof a.formatEntityState?a.formatEntityState(e):r(String(l),`component.${s}.state._.`),h=a.selectedLanguage||a.language,u="ui.card.climate.",p=Object.entries(a.resources?.[h]??{}).reduce((t,[e,i])=>(String(e).startsWith(u)&&(t[String(e).replace(u,"")]=i),t),{}),m=new Proxy(p,{get(t,e){if("string"!=typeof e)return Reflect.get(t,e);if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const i=`${u}${e}`,o=a.localize?.(i);return o&&o!==i?o:""}});si.filters.define("formatNumber",(t,e={decimals:o.decimals})=>{const i=ci(o.decimals);return String(Ke(t,{...e,decimals:ci(e?.decimals,i),locale:a.locale}))}),si.filters.define("relativetime",t=>``),si.filters.define("translate",(t,i="")=>!i&&"function"==typeof a.formatEntityAttributeValue&&"string"==typeof t&&t in c?a.formatEntityAttributeValue(e,t):r(t,i||"climate"!==s&&"humidifier"!==s?i:`state_attributes.${s}.${t}`));try{return si.render(t,{...hi(c),state:{raw:hi(l),text:hi(d)},state_attr:(t,e)=>hi(a.states?.[t]?.attributes?.[e]),ui:m,v:n},{useWith:!0})}catch(t){return console.error("simple-thermostat: entity template failed",t),li(d)}}si.filters.define("icon",t=>``),si.filters.define("join",(t,e=", ")=>t.join(e)),si.filters.define("css",(t,e)=>`"'`;{}]/g,"")}(i)};`:t},""))}">${li(t)}`),si.filters.define("debug",t=>{try{return JSON.stringify(t)}catch{return`Not able to read valid JSON object from: ${t}`}});const pi="simple-thermostat-timer-remaining";function mi(t){return String(t).padStart(2,"0")}class gi extends lt{createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.syncTicker()}disconnectedCallback(){this.clearTicker(),super.disconnectedCallback()}updated(){this.syncTicker()}clearTicker(){this.tick&&(window.clearInterval(this.tick),this.tick=void 0)}syncTicker(){const t="active"===this.stateObj?.state,e=this.stateObj?.attributes?.finishes_at,i=e?Date.parse(e):NaN,a=!Number.isNaN(i)&&i>Date.now();t&&a&&!this.tick?this.tick=window.setInterval(()=>{i<=Date.now()&&this.clearTicker(),this.requestUpdate()},1e3):t&&a||!this.tick||this.clearTicker()}getValue(){const t=this.stateObj;if(!t)return"";if("active"===t.state&&t.attributes?.finishes_at){const e=Date.parse(t.attributes.finishes_at);if(!Number.isNaN(e))return function(t){const e=Math.max(0,Math.ceil(t)),i=Math.floor(e/3600),a=Math.floor(e%3600/60),o=e%60;return i>0?`${i}:${mi(a)}:${mi(o)}`:`${a}:${mi(o)}`}((e-Date.now())/1e3)}return"paused"===t.state&&t.attributes?.remaining?t.attributes.remaining:"function"==typeof this.hass?.formatEntityState?this.hass.formatEntityState(t):t.state}render(){return B`${this.getValue()}`}}i([pt({attribute:!1})],gi.prototype,"stateObj",void 0),i([pt({attribute:!1})],gi.prototype,"hass",void 0),customElements.get(pi)||customElements.define(pi,gi);class fi extends oe{constructor(t){if(super(t),this.it=q,t.type!==ie)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===q||null==t)return this._t=void 0,this.it=t;if(t===G)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}}fi.directiveName="unsafeHTML",fi.resultType=1;const vi=ae(fi);class yi extends lt{constructor(){super(...arguments),this.markup=""}createRenderRoot(){return this}render(){return vi(this.markup)}updated(){this.querySelectorAll("ha-relative-time").forEach(t=>{const e=t;e.datetime=t.getAttribute("datetime")??void 0,e.hass=this.hass})}}function bi(t,e){return t.includes(")|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+u(a.tags[1])+")","g"),h=new RegExp("([^]*?)"+u(a.tags[0])+"(-|_)?\\s*("+n+")?\\s*","g"),p=0,m=!1;function g(e,o){var n,u={f:[]},g=0,f="c";function v(e){var o=t.slice(p,e),n=o.trim();if("f"===f)"safe"===n?u.raw=!0:a.async&&s.test(n)?(n=n.replace(s,""),u.f.push([n,"",!0])):u.f.push([n,""]);else if("fp"===f)u.f[u.f.length-1][1]+=n;else if("err"===f){if(n){var r=o.search(/\S/);i("invalid syntax",t,p+r)}}else u[f]=n;p=e+1}for("h"===o||"b"===o||"c"===o?f="n":"r"===o&&(u.raw=!0,o="i"),r.lastIndex=p;null!==(n=r.exec(t));){var y=n[1],b=n[2],_=n[3],w=n[4],x=n[5],$=n.index;if(y)"("===y?(0===g&&("n"===f?(v($),f="p"):"f"===f&&(v($),f="fp")),g++):")"===y?0===--g&&"c"!==f&&(v($),f="err"):0===g&&"|"===y?(v($),f="f"):"=>"===y&&(v($),p+=1,f="res");else if(b)if("/*"===b){var S=t.indexOf("*/",r.lastIndex);-1===S&&i("unclosed comment",t,n.index),r.lastIndex=S+2}else"'"===b?(l.lastIndex=n.index,l.exec(t)?r.lastIndex=l.lastIndex:i("unclosed string",t,n.index)):'"'===b?(d.lastIndex=n.index,d.exec(t)?r.lastIndex=d.lastIndex:i("unclosed string",t,n.index)):"`"===b&&(c.lastIndex=n.index,c.exec(t)?r.lastIndex=c.lastIndex:i("unclosed string",t,n.index));else if(_)return v($),p=$+n[0].length,h.lastIndex=p,m=x,w&&"h"===o&&(o="s"),u.t=o,u}return i("unclosed tag",t,e),u}var f=function n(r,c){r.b=[],r.d=[];var l,d=!1,u=[];function f(t,e){t&&(t=function(t,e,i,a){var o,n;return"string"==typeof e.autoTrim?o=n=e.autoTrim:Array.isArray(e.autoTrim)&&(o=e.autoTrim[1],n=e.autoTrim[0]),(i||!1===i)&&(o=i),(a||!1===a)&&(n=a),"slurp"===o&&"slurp"===n?t.trim():("_"===o||"slurp"===o?t=String.prototype.trimLeft?t.trimLeft():t.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==o&&"nl"!==o||(t=t.replace(/^(?:\n|\r|\r\n)/,"")),"_"===n||"slurp"===n?t=String.prototype.trimRight?t.trimRight():t.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==n&&"nl"!==n||(t=t.replace(/(?:\n|\r|\r\n)$/,"")),t)}(t,a,m,e),t&&(t=t.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),u.push(t)))}for(;null!==(l=h.exec(t));){var v,y=l[1],b=l[2],_=l[3]||"";for(var w in o)if(o[w]===_){v=w;break}f(y,b),p=l.index+l[0].length,v||i("unrecognized tag type: "+_,t,p);var x=g(l.index,v),$=x.t;if("h"===$){var S=x.n||"";a.async&&s.test(S)&&(x.a=!0,x.n=S.replace(s,"")),x=n(x),u.push(x)}else if("c"===$){if(r.n===x.n)return d?(d.d=u,r.b.push(d)):r.d=u,r;i("Helper start and end don't match",t,l.index+l[0].length)}else if("b"===$){d?(d.d=u,r.b.push(d)):r.d=u;var A=x.n||"";a.async&&s.test(A)&&(x.a=!0,x.n=A.replace(s,"")),d=x,u=[]}else if("s"===$){var k=x.n||"";a.async&&s.test(k)&&(x.a=!0,x.n=k.replace(s,"")),u.push(x)}else u.push(x)}if(!c)throw e('unclosed helper "'+r.n+'"');return f(t.slice(p,t.length),!1),r.d=u,r}({f:[]},!0);if(a.plugins)for(var v=0;v0)throw e((o?"Native":"")+"Helper '"+t+"' doesn't accept blocks");if(a&&a.length>0)throw e((o?"Native":"")+"Helper '"+t+"' doesn't accept filters")}function x(t,e,i,a,o){i(t[e],e).then(function(n){a+=n,e===t.length-1?o(a):x(t,e+1,i,a,o)})}function $(t,e,i,a,o,n){a(e[i],t[e[i]]).then(function(r){o+=r,i===e.length-1?n(o):$(t,e,i+1,a,o,n)})}var S={"&":"&","<":"<",">":">",'"':""","'":"'"};function A(t){return S[t]}var k=new _({}),E=new _({each:function(t,e){var i="",a=t.params[0];if(w("each",e,!1),t.async)return new Promise(function(e){x(a,0,t.exec,i,e)});for(var o=0;o"']/.test(e)?e.replace(/[&<>"']/g,A):e}}),T={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(t,i){if("H"===t){var a=this.storage.helpers.get(i);if(a)return a;throw e("Can't find helper '"+i+"'")}if("F"===t){var o=this.storage.filters.get(i);if(o)return o;throw e("Can't find filter '"+i+"'")}},async:!1,storage:{helpers:E,nativeHelpers:z,filters:C,templates:k},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function R(t,e){var i={};return r(i,T),e&&r(i,e),t&&r(i,t),i.l.bind(i),i}function O(t,i){var a,n=R(i||{}),r=Function;if(n.async){if(!o)throw e("This environment doesn't support async/await");r=o}if(n.varName&&!1===(a=n.varName,/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(a)))throw e("options.varName must be a valid JS identifier");try{return new r(n.varName,"c","cb",m(t,n))}catch(i){throw i instanceof SyntaxError?e("Bad template syntax\n\n"+i.message+"\n"+Array(i.message.length+1).join("=")+"\n"+m(t,n)):i}}function N(t,e){var i;return e.cache&&e.name&&e.storage.templates.get(e.name)?e.storage.templates.get(e.name):(i="function"==typeof t?t:O(t,e),e.cache&&e.name&&e.storage.templates.define(e.name,i),i)}T.l.bind(T),t.compile=O,t.compileScope=b,t.compileScopeIntoFunction=y,t.compileToString=m,t.defaultConfig=T,t.filters=C,t.getConfig=R,t.helpers=E,t.nativeHelpers=z,t.parse=p,t.render=function(t,i,o,n){var r=R(o||{});if(!r.async)return N(t,r)(i,r);if(!n){if("function"==typeof a)return new a(function(e,a){try{e(N(t,r)(i,r))}catch(t){a(t)}});throw e("Please provide a callback function, this env doesn't support Promises")}try{N(t,r)(i,r,n)}catch(t){return n(t)}},t.templates=k,Object.defineProperty(t,"__esModule",{value:!0})}(ci.exports)),ci.exports}var di=li();di.defaultConfig.autoEscape=!1;function hi(t,e=1){if(null===t||""===t||"boolean"==typeof t)return e;const i=Number(t);return Number.isInteger(i)&&i>=0&&i<=100?i:e}function ui(t){return String(t??"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function pi(t){return ui(t)}function mi(t){return"string"==typeof t?t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"):Array.isArray(t)?t.map(mi):t&&"object"==typeof t?Object.fromEntries(Object.entries(t).map(([t,e])=>[t,mi(e)])):t}function gi({template:t,stateObj:e,attribute:i,hass:a,config:o={},variables:n={},localize:r=t=>t}){const[s]=String(e?.entity_id??"").split("."),c=e?.attributes??{},l=i&&Object.prototype.hasOwnProperty.call(c,i)?c[i]:e?.state,d=i&&"function"==typeof a.formatEntityAttributeValue?a.formatEntityAttributeValue(e,i):"function"==typeof a.formatEntityState?a.formatEntityState(e):r(String(l),`component.${s}.state._.`),h=a.selectedLanguage||a.language,u="ui.card.climate.",p=Object.entries(a.resources?.[h]??{}).reduce((t,[e,i])=>(String(e).startsWith(u)&&(t[String(e).replace(u,"")]=i),t),{}),m=new Proxy(p,{get(t,e){if("string"!=typeof e)return Reflect.get(t,e);if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const i=`${u}${e}`,o=a.localize?.(i);return o&&o!==i?o:""}});di.filters.define("formatNumber",(t,e={decimals:o.decimals})=>{const i=hi(o.decimals);return String(Ye(t,{...e,decimals:hi(e?.decimals,i),locale:a.locale}))}),di.filters.define("relativetime",t=>``),di.filters.define("translate",(t,i="")=>!i&&"function"==typeof a.formatEntityAttributeValue&&"string"==typeof t&&t in c?a.formatEntityAttributeValue(e,t):r(t,i||"climate"!==s&&"humidifier"!==s?i:`state_attributes.${s}.${t}`));try{return di.render(t,{...mi(c),state:{raw:mi(l),text:mi(d)},state_attr:(t,e)=>mi(a.states?.[t]?.attributes?.[e]),ui:m,v:n},{useWith:!0})}catch(t){return console.error("simple-thermostat: entity template failed",t),ui(d)}}di.filters.define("icon",t=>``),di.filters.define("join",(t,e=", ")=>t.join(e)),di.filters.define("css",(t,e)=>`"'`;{}]/g,"")}(i)};`:t},""))}">${ui(t)}`),di.filters.define("debug",t=>{try{return JSON.stringify(t)}catch{return`Not able to read valid JSON object from: ${t}`}});const fi="simple-thermostat-timer-remaining";function vi(t){return String(t).padStart(2,"0")}class yi extends lt{createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.syncTicker()}disconnectedCallback(){this.clearTicker(),super.disconnectedCallback()}updated(){this.syncTicker()}clearTicker(){this.tick&&(window.clearInterval(this.tick),this.tick=void 0)}syncTicker(){const t="active"===this.stateObj?.state,e=this.stateObj?.attributes?.finishes_at,i=e?Date.parse(e):NaN,a=!Number.isNaN(i)&&i>Date.now();t&&a&&!this.tick?this.tick=window.setInterval(()=>{i<=Date.now()&&this.clearTicker(),this.requestUpdate()},1e3):t&&a||!this.tick||this.clearTicker()}getValue(){const t=this.stateObj;if(!t)return"";if("active"===t.state&&t.attributes?.finishes_at){const e=Date.parse(t.attributes.finishes_at);if(!Number.isNaN(e))return function(t){const e=Math.max(0,Math.ceil(t)),i=Math.floor(e/3600),a=Math.floor(e%3600/60),o=e%60;return i>0?`${i}:${vi(a)}:${vi(o)}`:`${a}:${vi(o)}`}((e-Date.now())/1e3)}return"paused"===t.state&&t.attributes?.remaining?t.attributes.remaining:"function"==typeof this.hass?.formatEntityState?this.hass.formatEntityState(t):t.state}render(){return B`${this.getValue()}`}}i([pt({attribute:!1})],yi.prototype,"stateObj",void 0),i([pt({attribute:!1})],yi.prototype,"hass",void 0),customElements.get(fi)||customElements.define(fi,yi);class bi extends oe{constructor(t){if(super(t),this.it=q,t.type!==ie)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===q||null==t)return this._t=void 0,this.it=t;if(t===G)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}}bi.directiveName="unsafeHTML",bi.resultType=1;const _i=ae(bi);class wi extends lt{constructor(){super(...arguments),this.markup=""}createRenderRoot(){return this}render(){return _i(this.markup)}updated(){this.querySelectorAll("ha-relative-time").forEach(t=>{const e=t;e.datetime=t.getAttribute("datetime")??void 0,e.hass=this.hass})}}function xi(t,e){return t.includes("`:vi(t)}i([pt({attribute:!1})],yi.prototype,"markup",void 0),i([pt({attribute:!1})],yi.prototype,"hass",void 0),customElements.get("simple-thermostat-template-content")||customElements.define("simple-thermostat-template-content",yi);const _i=["automation","fan","humidifier","input_boolean","light","switch"],wi=["button","input_button","script","scene"],xi=["row","auto","button","toggle","chip"];function $i(t,e,i){if(!be(t.states?.[e]))return;const a="turn_"+(i?"on":"off");"function"==typeof t.performAction?t.performAction({action:`homeassistant.${a}`,data:{entity_id:e}}):t.callService("homeassistant",a,{entity_id:e})}function Si(t){return String(t??"").replace(/[^a-z0-9_-]/gi,"")}function Ai(t){return!!t&&"object"==typeof t&&"string"==typeof t.entity_id}function ki(t,e,i,a){const{template:o,attribute:n,decimals:r,unit:s,type:c,config:l,variables:d}=e,h=Ai(t);if(o&&h)return bi(ai(ui({template:o,stateObj:t,attribute:n,hass:i,config:l,variables:d,localize:a}),s||!1),i);const u=h?n?t.attributes?.[n]:t.state:t;if("relativetime"===c)return B``:_i(t)}i([pt({attribute:!1})],wi.prototype,"markup",void 0),i([pt({attribute:!1})],wi.prototype,"hass",void 0),customElements.get("simple-thermostat-template-content")||customElements.define("simple-thermostat-template-content",wi);const $i=["row","auto","button","toggle","chip"];function Si(t){return String(t??"").replace(/[^a-z0-9_-]/gi,"")}function Ai(t){return!!t&&"object"==typeof t&&"string"==typeof t.entity_id}function ki(t,e,i,a){const{template:o,attribute:n,decimals:r,unit:s,type:c,config:l,variables:d}=e,h=Ai(t);if(o&&h)return xi(ri(gi({template:o,stateObj:t,attribute:n,hass:i,config:l,variables:d,localize:a}),s||!1),i);const u=h?n?t.attributes?.[n]:t.state:t;if("relativetime"===c)return B``;if(h&&!n&&t.entity_id.startsWith("timer."))return B``;if(null==u)return l?.fallback??"N/A";if("object"==typeof u)return JSON.stringify(u);let p=u;if("number"==typeof r)p=Ke(u,{decimals:r,locale:i.locale,fallback:l?.fallback});else if(h){const e=t.entity_id.split(".")[0];p=n?"function"==typeof i.formatEntityAttributeValue?i.formatEntityAttributeValue(t,n):u:"function"==typeof i.formatEntityState?i.formatEntityState(s?{...t,attributes:{...t.attributes,unit_of_measurement:void 0}}:t):a?a(String(u),`component.${e}.state.${t.attributes?.device_class??"_"}.`):u}const m=h&&!n?t.attributes?.unit_of_measurement:"",g=!h||n||"humidity"!==t.attributes?.device_class&&!t.entity_id.includes("humidity")&&"mdi:water-percent"!==e.icon?"":"%",f=s?function(t,e){const i=String(t);return e&&"string"==typeof e&&i.endsWith(e)?i.slice(0,-e.length).trimEnd():i}(p,m):p;return ai(f,s||m||g||!1,String(p))}function Ei({hide:t=!1,hass:e,state:i,details:a,localize:o,openEntityPopover:n}){if(t||void 0===i)return;const{type:r,heading:s,icon:c,unit:l,decimals:d,tooltip:h,entity:u,template:p,attribute:m,variables:g,config:f,separator:v=!0,display:y}=a,b=function({icon:t,state:e,attribute:i,hass:a,config:o,variables:n,localize:r}){return"string"==typeof t&&t.includes("{{")&&"object"==typeof e&&null!==e?ui({template:t,stateObj:e,attribute:i,hass:a,config:o,variables:n,localize:r}).trim():t}({icon:c,state:i,attribute:m,hass:e,config:f,variables:g,localize:o}),_=function({heading:t,state:e,attribute:i,hass:a,config:o,variables:n,localize:r}){if("string"==typeof t&&t.includes("{{")&&"object"==typeof e&&null!==e)return ui({template:t,stateObj:e,attribute:i,hass:a,config:o,variables:n,localize:r}).trim()}({heading:s,state:i,attribute:m,hass:e,config:f,variables:g,localize:o}),w=Ai(i),x=w?i.entity_id:u,$=x&&"function"==typeof n,S=h||(w?i?.attributes?.friendly_name||i?.entity_id:u?e.states?.[u]?.attributes?.friendly_name||u:void 0);let A,k="",E="",z=!1,C=!1;const T=ki(i,a,e,o);if(w){const[t]=i.entity_id.split(".");k=t,E=i.state,z=_i.includes(t);const a=function(t,e){return"string"==typeof t&&xi.includes(t)?"auto"!==t?t:_i.includes(e)?"toggle":wi.includes(e)?"button":"chip":"row"}(y,t),o=[z&&"toggle-entity",k&&`domain-${Si(k)}`,E&&`state-${Si(E)}`,"row"!==a&&`display-${a}`,z&&ti(Qe({icon:b||i.attributes?.icon,label:s||i.attributes?.friendly_name,entity:i,hass:e}))].filter(Boolean).join(" ");if("row"!==a){C=!0;const r=z||wi.includes(t),c="on"===i.state,l=void 0!==_?bi(_,e):"string"==typeof s?s:i.attributes?.friendly_name||i.entity_id,d=b||i.attributes?.icon||(z?"mdi:toggle-switch":wi.includes(t)?"mdi:gesture-tap-button":void 0);A=B` + >`;if(null==u)return l?.fallback??"N/A";if("object"==typeof u)return JSON.stringify(u);let p=u;if("number"==typeof r)p=Ye(u,{decimals:r,locale:i.locale,fallback:l?.fallback});else if(h){const e=t.entity_id.split(".")[0];p=n?"function"==typeof i.formatEntityAttributeValue?i.formatEntityAttributeValue(t,n):u:"function"==typeof i.formatEntityState?i.formatEntityState(s?{...t,attributes:{...t.attributes,unit_of_measurement:void 0}}:t):a?a(String(u),`component.${e}.state.${t.attributes?.device_class??"_"}.`):u}const m=h&&!n?t.attributes?.unit_of_measurement:"",g=!h||n||"humidity"!==t.attributes?.device_class&&!t.entity_id.includes("humidity")&&"mdi:water-percent"!==e.icon?"":"%",f=s?function(t,e){const i=String(t);return e&&"string"==typeof e&&i.endsWith(e)?i.slice(0,-e.length).trimEnd():i}(p,m):p;return ri(f,s||m||g||!1,String(p))}function Ei({hide:t=!1,hass:e,state:i,details:a,localize:o,openEntityPopover:n}){if(t||void 0===i)return;const{type:r,heading:s,icon:c,unit:l,decimals:d,tooltip:h,entity:u,template:p,attribute:m,variables:g,config:f,separator:v=!0,display:y}=a,b=function({icon:t,state:e,attribute:i,hass:a,config:o,variables:n,localize:r}){return"string"==typeof t&&t.includes("{{")&&"object"==typeof e&&null!==e?gi({template:t,stateObj:e,attribute:i,hass:a,config:o,variables:n,localize:r}).trim():t}({icon:c,state:i,attribute:m,hass:e,config:f,variables:g,localize:o}),_=function({heading:t,state:e,attribute:i,hass:a,config:o,variables:n,localize:r}){if("string"==typeof t&&t.includes("{{")&&"object"==typeof e&&null!==e)return gi({template:t,stateObj:e,attribute:i,hass:a,config:o,variables:n,localize:r}).trim()}({heading:s,state:i,attribute:m,hass:e,config:f,variables:g,localize:o}),w=Ai(i),x=w?i.entity_id:u,$=x&&"function"==typeof n,S=h||(w?i?.attributes?.friendly_name||i?.entity_id:u?e.states?.[u]?.attributes?.friendly_name||u:void 0);let A,k="",E="",z=!1,C=!1;const T=ki(i,a,e,o);if(w){const[t]=i.entity_id.split(".");k=t,E=i.state,z=_e.includes(t);const a=function(t,e){return"string"==typeof t&&$i.includes(t)?"auto"!==t?t:_e.includes(e)?"toggle":we.includes(e)?"button":"chip":"row"}(y,t),o=[z&&"toggle-entity",k&&`domain-${Si(k)}`,E&&`state-${Si(E)}`,"row"!==a&&`display-${a}`,z&&ai(ii({icon:b||i.attributes?.icon,label:s||i.attributes?.friendly_name,entity:i,hass:e}))].filter(Boolean).join(" ");if("row"!==a){C=!0;const r=z||we.includes(t),c="on"===i.state,l=void 0!==_?xi(_,e):"string"==typeof s?s:i.attributes?.friendly_name||i.entity_id,d=b||i.attributes?.icon||(z?"mdi:toggle-switch":we.includes(t)?"mdi:gesture-tap-button":void 0);A=B`
`)}else A=B`
n(x):null} > ${T} -
`;if(C)return A;if(!1===s)return A;const R=s||S,O=["entity-heading",$&&"clickable",z&&"toggle-entity",k&&`domain-${Si(k)}`,E&&`state-${Si(E)}`,z&&ti(Qe({icon:b||i?.attributes?.icon,label:"string"==typeof s?s:i?.attributes?.friendly_name,entity:i,hass:e}))].filter(Boolean).join(" "),N=b?B` + `;if(C)return A;if(!1===s)return A;const R=s||S,O=["entity-heading",$&&"clickable",z&&"toggle-entity",k&&`domain-${Si(k)}`,E&&`state-${Si(E)}`,z&&ai(ii({icon:b||i?.attributes?.icon,label:"string"==typeof s?s:i?.attributes?.friendly_name,entity:i,hass:e}))].filter(Boolean).join(" "),N=b?B` n(x):null} > - `:"string"==typeof _?bi(_,e):` ${s}${!1===v?"":":"} `;return[B`
n(x):null} > ${N} -
`,A]}function zi({_hide:t,entity:e,unit:i,hass:a,entities:o,config:n,localize:r,openEntityPopover:s,adapter:c}){const l=n.current_value_entity,d=l?a.states[l]:e,h=l?d?.state:c.getCurrentValue(e.attributes),u=l?d?.attributes?.unit_of_measurement??i:c.getCurrentValueUnit?.(e.attributes,a.config)??i,p=n?.layout?.entities?.labels??!0,m=!1!==n?.layout?.entities?.separator,g=n?.state_labels?.[e.state]??xe(e,a,r),f=(!0===n?.hide_current_value_when_off||!0===n?.hide?.current_value_when_off||!0===n?.hide?.temperature_when_off)&&e.state===De.OFF,v=[Ei({hide:t.temperature||f||null==h,state:ai(Ke(h,{...n,locale:a.locale}),u),hass:a,openEntityPopover:s,details:{heading:!!p&&(n?.label?.temperature??r("ui.card.climate.currently")),tooltip:d?.attributes?.friendly_name??l,entity:l??n.entity,separator:m}}),Ei({hide:t.state,state:g,hass:a,openEntityPopover:s,details:{heading:!!p&&(n?.label?.state??r("ui.panel.lovelace.editor.card.generic.state")),entity:n.entity,separator:m}}),...(o??[]).map(({name:t,state:i,show:o,display:c,_hide_when_off:l,hide_when_off:d,...h})=>Ei({hide:!1===o||(!0===l||!0===d)&&e.state===De.OFF,state:i,hass:a,localize:r,openEntityPopover:s,details:{...h,heading:p&&t,tooltip:t,config:n,variables:n.variables,separator:m,display:c??n?.layout?.entities?.display}}))||null].filter(t=>null!==t);return function(t,e){const{type:i="table",labels:a=!0,alignment:o}=t?.layout?.entities??{},n=[a?"with-labels":"without-labels","list"===i?"as-list":"as-table","left"===o?"align-left":"",1===e.filter(t=>null!=t).length?"single-row":""];return B`
${e}
`}(n,v)}const Ci=new Set(["heat_cool","fan_only"]);function Ti(t,e,i){if(!e||!i)return{layout:"inline",lines:e?[e]:[]};const a=e.trim();if(!a)return{layout:"inline",lines:[]};if("heat_cool"===t){const t=a.split(/\s*\/\s*/).filter(Boolean);if(2===t.length&&t.every(t=>t.length>0&&t.length<=12))return{layout:"stacked",lines:t}}if("fan_only"===t){const t=a.split(/\s+/).filter(Boolean);if(2===t.length&&t.every(t=>t.length>0&&t.length<=10))return{layout:"stacked",lines:t}}return Ci.has(t)&&a.length>10?{layout:"column",lines:[a]}:{layout:"inline",lines:[a]}}const Ri={"st:fan-speed-4":{path:"M16 15V21H19V23H21V15H19V19H18V15H16Z"},"st:fan-speed-5":{path:"M16 15H21V17H18V18H19C20.11 18 21 18.89 21 20V21C21 22.11 20.11 23 19 23H16V21H19V20H16V15Z"}};function Oi(t){return t?B` `:null}function Ni({state:t,entity:e,hass:i,mode:a,adapter:o,modeOptions:n,localize:r,setMode:s}){const{type:c,hide_when_off:l,mode:d="none",list:h,name:u,heading:p,icons:m}=a;if(0===h.length||l&&t===De.OFF)return null;const g="hvac"===c?null:o.getModePayloadKey(c),f=a.entity?i?.states?.[a.entity]:void 0,v=!be(a.entity?f:e);let y=g?`state_attributes.${o.getLocalizationDomain()}.${g}.`:"";"hvac"===c?y="component.climate.state._.":"vane_horizontal"===c||"vane_vertical"===c?y="":"direction"!==c&&"oscillating"!==c&&"mode"!==c||(y="");const b=(t,a,o)=>{if(!1!==t&&!0===o||!1!==t&&void 0===o&&t!==a)return t;if(f&&"function"==typeof i?.formatEntityState)return i.formatEntityState({...f,state:a});if(("hvac"===c||"state"===c)&&"function"==typeof i?.formatEntityState)return i.formatEntityState({...e,state:a});if(g&&e&&"function"==typeof i?.formatEntityAttributeValue)return i.formatEntityAttributeValue(e,g,a);const n=y?r(a,y):a;return n&&n!==a?n:!1===t?a:t},_=(t,e)=>{for(const e of Array.isArray(t)?t:[t]){const t=r(e);if(t&&t!==e)return t}return e};let w;w="vane_horizontal"===c?"Vane Horizontal":"vane_vertical"===c?"Vane Vertical":"swing_horizontal"===c?_("ui.panel.lovelace.editor.features.types.climate-swing-horizontal-modes.swing_horizontal_modes","Swing Horizontal"):"swing_vertical"===c?"Swing Vertical":"direction"===c?_("ui.card.fan.direction","Direction"):"oscillating"===c?_("ui.card.fan.oscillate","Oscillating"):"mode"===c?_(`ui.card.${o.getLocalizationDomain()}.mode`,"Mode"):"preset"===c?!0===p&&_("fan"===o.getLocalizationDomain()?"ui.card.fan.preset_mode":"ui.card.climate.preset","Preset"):"state"===c?!0===p&&_(`ui.card.${o.getLocalizationDomain()}.state`,"State"):"fan"===c?_("ui.panel.lovelace.editor.features.types.climate-fan-modes.fan_modes","Mode"):"swing"===c?_("ui.panel.lovelace.editor.features.types.climate-swing-modes.swing_modes","Mode"):_(`ui.card.${o.getLocalizationDomain()}.mode`,"hvac"===c?"Operation":"Mode");const x=!1!==u&&(u||w),$="fan"===c||"preset"===c&&"fan"===o.getLocalizationDomain()?_("ui.panel.lovelace.editor.features.types.climate-fan-modes.fan_modes","Fan speed"):"swing"===c?_("ui.panel.lovelace.editor.features.types.climate-swing-modes.swing_modes","Swing mode"):"swing_horizontal"===c?_("ui.panel.lovelace.editor.features.types.climate-swing-horizontal-modes.swing_horizontal_modes","Horizontal swing"):"swing_vertical"===c?_("ui.card.climate.swing_vertical_mode","Vertical swing"):"vane_horizontal"===c?"Horizontal vane":"vane_vertical"===c?"Vertical vane":"string"==typeof w?w:"",S=x||$||c,A=(!0===n?.headings||!0===p)&&!1!==x,k="preset"===c&&"fan"===o.getLocalizationDomain(),E=("hvac"===c||"state"===c||"fan"===c)&&h.length<=4,z="preset"===c&&h.length<=4||["swing","swing_horizontal","swing_vertical","vane_horizontal","vane_vertical"].includes(c),C=h.length>4||"hvac"===c&&h.length>4||"fan"===c&&h.length>4;return B` + `,A]}function zi({_hide:t,entity:e,unit:i,hass:a,entities:o,config:n,localize:r,openEntityPopover:s,adapter:c}){const l=n.current_value_entity,d=l?a.states[l]:e,h=l?d?.state:c.getCurrentValue(e.attributes),u=l?d?.attributes?.unit_of_measurement??i:c.getCurrentValueUnit?.(e.attributes,a.config)??i,p=n?.layout?.entities?.labels??!0,m=!1!==n?.layout?.entities?.separator,g=n?.state_labels?.[e.state]??Ae(e,a,r),f=(!0===n?.hide_current_value_when_off||!0===n?.hide?.current_value_when_off||!0===n?.hide?.temperature_when_off)&&e.state===Be.OFF,v=[Ei({hide:t.temperature||f||null==h,state:ri(Ye(h,{...n,locale:a.locale}),u),hass:a,openEntityPopover:s,details:{heading:!!p&&(n?.label?.temperature??r("ui.card.climate.currently")),tooltip:d?.attributes?.friendly_name??l,entity:l??n.entity,separator:m}}),Ei({hide:t.state,state:g,hass:a,openEntityPopover:s,details:{heading:!!p&&(n?.label?.state??r("ui.panel.lovelace.editor.card.generic.state")),entity:n.entity,separator:m}}),...(o??[]).map(({name:t,state:i,show:o,display:c,_hide_when_off:l,hide_when_off:d,...h})=>Ei({hide:!1===o||(!0===l||!0===d)&&e.state===Be.OFF,state:i,hass:a,localize:r,openEntityPopover:s,details:{...h,heading:p&&t,tooltip:t,config:n,variables:n.variables,separator:m,display:c??n?.layout?.entities?.display}}))||null].filter(t=>null!==t);return function(t,e){const{type:i="table",labels:a=!0,alignment:o}=t?.layout?.entities??{},n=[a?"with-labels":"without-labels","list"===i?"as-list":"as-table","left"===o?"align-left":"",1===e.filter(t=>null!=t).length?"single-row":""];return B`
${e}
`}(n,v)}const Ci=new Set(["heat_cool","fan_only"]);function Ti(t,e,i){if(!e||!i)return{layout:"inline",lines:e?[e]:[]};const a=e.trim();if(!a)return{layout:"inline",lines:[]};if("heat_cool"===t){const t=a.split(/\s*\/\s*/).filter(Boolean);if(2===t.length&&t.every(t=>t.length>0&&t.length<=12))return{layout:"stacked",lines:t}}if("fan_only"===t){const t=a.split(/\s+/).filter(Boolean);if(2===t.length&&t.every(t=>t.length>0&&t.length<=10))return{layout:"stacked",lines:t}}return Ci.has(t)&&a.length>10?{layout:"column",lines:[a]}:{layout:"inline",lines:[a]}}const Ri={"st:fan-speed-4":{path:"M16 15V21H19V23H21V15H19V19H18V15H16Z"},"st:fan-speed-5":{path:"M16 15H21V17H18V18H19C20.11 18 21 18.89 21 20V21C21 22.11 20.11 23 19 23H16V21H19V20H16V15Z"}};function Oi(t){return t?B` `:null}function Ni({state:t,entity:e,hass:i,mode:a,adapter:o,modeOptions:n,localize:r,setMode:s}){const{type:c,hide_when_off:l,mode:d="none",list:h,name:u,heading:p,icons:m}=a;if(0===h.length||l&&t===Be.OFF)return null;const g="hvac"===c?null:o.getModePayloadKey(c),f=a.entity?i?.states?.[a.entity]:void 0,v=!be(a.entity?f:e);let y=g?`state_attributes.${o.getLocalizationDomain()}.${g}.`:"";"hvac"===c?y="component.climate.state._.":"vane_horizontal"===c||"vane_vertical"===c?y="":"direction"!==c&&"oscillating"!==c&&"mode"!==c||(y="");const b=(t,a,o)=>{if(!1!==t&&!0===o||!1!==t&&void 0===o&&t!==a)return t;if(f&&"function"==typeof i?.formatEntityState)return i.formatEntityState({...f,state:a});if(("hvac"===c||"state"===c)&&"function"==typeof i?.formatEntityState)return i.formatEntityState({...e,state:a});if(g&&e&&"function"==typeof i?.formatEntityAttributeValue)return i.formatEntityAttributeValue(e,g,a);const n=y?r(a,y):a;return n&&n!==a?n:!1===t?a:t},_=(t,e)=>{for(const e of Array.isArray(t)?t:[t]){const t=r(e);if(t&&t!==e)return t}return e};let w;w="vane_horizontal"===c?"Vane Horizontal":"vane_vertical"===c?"Vane Vertical":"swing_horizontal"===c?_("ui.panel.lovelace.editor.features.types.climate-swing-horizontal-modes.swing_horizontal_modes","Swing Horizontal"):"swing_vertical"===c?"Swing Vertical":"direction"===c?_("ui.card.fan.direction","Direction"):"oscillating"===c?_("ui.card.fan.oscillate","Oscillating"):"mode"===c?_(`ui.card.${o.getLocalizationDomain()}.mode`,"Mode"):"preset"===c?!0===p&&_("fan"===o.getLocalizationDomain()?"ui.card.fan.preset_mode":"ui.card.climate.preset","Preset"):"state"===c?!0===p&&_(`ui.card.${o.getLocalizationDomain()}.state`,"State"):"fan"===c?_("ui.panel.lovelace.editor.features.types.climate-fan-modes.fan_modes","Mode"):"swing"===c?_("ui.panel.lovelace.editor.features.types.climate-swing-modes.swing_modes","Mode"):_(`ui.card.${o.getLocalizationDomain()}.mode`,"hvac"===c?"Operation":"Mode");const x=!1!==u&&(u||w),$="fan"===c||"preset"===c&&"fan"===o.getLocalizationDomain()?_("ui.panel.lovelace.editor.features.types.climate-fan-modes.fan_modes","Fan speed"):"swing"===c?_("ui.panel.lovelace.editor.features.types.climate-swing-modes.swing_modes","Swing mode"):"swing_horizontal"===c?_("ui.panel.lovelace.editor.features.types.climate-swing-horizontal-modes.swing_horizontal_modes","Horizontal swing"):"swing_vertical"===c?_("ui.card.climate.swing_vertical_mode","Vertical swing"):"vane_horizontal"===c?"Horizontal vane":"vane_vertical"===c?"Vertical vane":"string"==typeof w?w:"",S=x||$||c,A=(!0===n?.headings||!0===p)&&!1!==x,k="preset"===c&&"fan"===o.getLocalizationDomain(),E=("hvac"===c||"state"===c||"fan"===c)&&h.length<=4,z="preset"===c&&h.length<=4||["swing","swing_horizontal","swing_vertical","vane_horizontal","vane_vertical"].includes(c),C=h.length>4||"hvac"===c&&h.length>4||"fan"===c&&h.length>4;return B`
${A?B`
${x}
`:""} - ${h.map(({value:e,icon:i,iconConfigured:a,name:o,nameConfigured:r,hide_when_off:l})=>{if(!0===l&&t===De.OFF)return q;const h=(t=>String(t).replace(/[^a-z0-9_-]/gi,""))(e),u=((t,e,i)=>!1===t||!1===n?.names?null:b(t,e,i))(o,e,r),p=b(o,e,r),g=Ti(String(e),u,E),f="stacked"===g.layout?"label-stacked":"column"===g.layout?"label-column":"",y=u?q:$||q;return B` + ${h.map(({value:e,icon:i,iconConfigured:a,name:o,nameConfigured:r,hide_when_off:l})=>{if(!0===l&&t===Be.OFF)return q;const h=(t=>String(t).replace(/[^a-z0-9_-]/gi,""))(e),u=((t,e,i)=>!1===t||!1===n?.names?null:b(t,e,i))(o,e,r),p=b(o,e,r),g=Ti(String(e),u,E),f="stacked"===g.layout?"label-stacked":"column"===g.layout?"label-column":"",y=u?q:$||q;return B`
`})}
- `}window.customIconsets=window.customIconsets||{},window.customIconsets.st||(window.customIconsets.st=async t=>{const e=Ri[`st:${t}`];return e?{path:`M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13${e.path}`}:{path:""}});const Mi=t=>String(t).replace(/[^a-z0-9_-]/gi,"");function Pi({toggles:t,mainState:e,toggleFooterEntity:i,openEntityPopover:a}){const o=t.filter(t=>!(!0===t.hide_when_off&&e===De.OFF));return o.length?B` + `}window.customIconsets=window.customIconsets||{},window.customIconsets.st||(window.customIconsets.st=async t=>{const e=Ri[`st:${t}`];return e?{path:`M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13${e.path}`}:{path:""}});const Mi=t=>String(t).replace(/[^a-z0-9_-]/gi,"");function Pi({toggles:t,mainState:e,toggleFooterEntity:i,openEntityPopover:a}){const o=t.filter(t=>!(!0===t.hide_when_off&&e===Be.OFF));return o.length?B` - `:q}const ji={target_temp_low:{field:"target_temp_high",caps:"max"},target_temp_high:{field:"target_temp_low",caps:"min"}},Fi=Object.values(yt),Ii="hass:chevron-up",Li="hass:chevron-down",Hi="mdi:plus",Vi="mdi:minus",Di={temperature:!1,state:!1},Ui=[yt.PRESET,yt.FAN,yt.HVAC,yt.SWING,yt.SWING_HORIZONTAL,yt.SWING_VERTICAL,yt.VANE_HORIZONTAL,yt.VANE_VERTICAL,yt.DIRECTION,yt.OSCILLATING,yt.STATE],Wi=["entity","hide_when_off","hide_off_when_off"];function Bi(t,e=1){if(null===t||""===t||"boolean"==typeof t)return e;const i=Number(t);return Number.isInteger(i)&&i>=0&&i<=100?i:e}function Gi(t,e,i){const a=Ki(String(e),i);if(Zi(a))return!1!==a.include;const o=Object.keys(i).some(t=>!t.startsWith("_")&&!Wi.includes(t)),n=t===yt.PRESET;return a??!(n&&o)}function qi(t){return t.toLowerCase().replace(/\s+/g,"_")}function Ki(t,e){const i=qi(t),a=e[t];if(void 0!==a)return a;if(void 0!==e[i])return e[i];const o=Object.entries(e).find(([t])=>!t.startsWith("_")&&!Wi.includes(t)&&qi(t)===i);return o?.[1]}function Zi(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Ji(t,e){const i=Array.isArray(e._order)?e._order.map(String):Object.keys(e).filter(t=>!t.startsWith("_")&&!Wi.includes(t));if(0===i.length)return t;const a=new Map;t.forEach(t=>{a.set(qi(String(t)),t)});const o=new Set,n=[];return i.forEach(t=>{const e=qi(t);a.has(e)&&!o.has(e)&&(n.push(a.get(e)),o.add(e))}),t.forEach(t=>{const e=qi(String(t));o.has(e)||(n.push(t),o.add(e))}),n}function Yi(t,e,i,a={}){let o=e[i.getModeAttribute(t)];return t===yt.STATE?o=["off","on"]:t===yt.DIRECTION&&e.direction?o=["forward","reverse"]:t===yt.OSCILLATING&&"boolean"==typeof e.oscillating&&(o=[!1,!0]),Array.isArray(o)?Ji(o,a).filter(e=>Gi(t,e,a)).map(e=>{const i=String(e),n=Ki(i,a),r=Zi(n)?n:{},{name:s,...c}=r,l=!0===r.hide_when_off||!0===a.hide_off_when_off&&"off"===qi(i),d=!1!==s&&("string"==typeof s?s:Ce(i));return{...c,hide_when_off:l||void 0,icon:r.icon??(t===yt.FAN?qe(i,o):void 0)??ze(i),iconConfigured:void 0!==r.icon,nameConfigured:void 0!==s,value:i,name:d}}):[]}function Xi(t){return"string"==typeof t?.entity_id&&t.entity_id.startsWith("select.")&&Array.isArray(t.attributes?.options)}function Qi(t,e={}){return Ji(t.attributes.options,e).filter(t=>Gi("select",t,e)).map(t=>{const i=String(t),a=Ki(i,e),o=Zi(a)?a:{},{name:n,...r}=o,s=!0===o.hide_when_off||!0===e.hide_off_when_off&&"off"===qi(i),c=!1!==n&&("string"==typeof n?n:Ce(i));return{...r,hide_when_off:s||void 0,icon:o.icon??ze(i),iconConfigured:void 0!==o.icon,nameConfigured:void 0!==n,value:i,name:c}})}function ta(t,e,i,a){return Fi.includes(t)&&(t===yt.STATE?"fan"===e||"humidifier"===e:void 0!==i[a.getModeAttribute(t)])}function ea(t,e,i,a){return t.filter(t=>ta(t,e,i,a)).map(t=>({type:t,hide_when_off:!1,list:Yi(t,i,a)}))}class ia extends lt{constructor(){super(...arguments),this.modes=[],this._hass={},this.entities=[],this.footer=[],this.showEntities=!0,this.name="",this.stepSize=.5,this._values={},this._updatingValues=!1,this._hide=Di,this._updatingValuesTimeout=null,this._holdTimer=null,this._holdFired=!1,this._clickCount=0,this._clickTimer=null,this._setpointUpdateTimer=null,this._pendingSetpointUpdate=null,this._missingEntityTimer=null,this._stepRepeatDelayTimer=null,this._stepRepeatIntervalTimer=null,this._stepRepeatFired=!1,this._setpointDebounce=500,this.localize=(t,e="")=>{const i=`${e}${t}`;return this._hass.localize?.(i)||t},this.toggleEntityChanged=(t,e)=>{if(!this.header||!e)return;if(!be(this._hass?.states?.[e]))return;const i=t.target;this._callAction("homeassistant.turn_"+(i.checked?"on":"off"),{entity_id:e})},this.toggleFooterEntity=(t,e)=>{be(this._hass?.states?.[t])&&(this._callAction("homeassistant.turn_"+(e?"on":"off"),{entity_id:t}),_t(this,"haptic","light"))},this._stopSetpointRepeat=()=>{this._stepRepeatDelayTimer&&(clearTimeout(this._stepRepeatDelayTimer),this._stepRepeatDelayTimer=null),this._stepRepeatIntervalTimer&&(clearInterval(this._stepRepeatIntervalTimer),this._stepRepeatIntervalTimer=null)},this.setMode=(t,e)=>{if(t&&e){const i=kt(this.config.entity),a=this.modes.find(e=>e.type===t);if(a?.entity){const t=this._hass.states?.[a.entity];if(!Xi(t)||["unknown","unavailable"].includes(String(t.state))||!t.attributes.options.includes(e))return;return this._callAction("select.select_option",{entity_id:a.entity,option:e}),void _t(this,"haptic","light")}if(!be(this._hass?.states?.[this.config.entity]))return;if(t===yt.STATE)return this._callAction(`${i.getLocalizationDomain()}.turn_${e}`,{entity_id:this.config.entity}),void _t(this,"haptic","light");const o=i.transformModePayloadValue?.(t,e)??e;this._callAction(`${i.getLocalizationDomain()}.${i.getModeService(t)}`,{entity_id:this.config.entity,[i.getModePayloadKey(t)]:o}),_t(this,"haptic","light")}else _t(this,"haptic","failure")},this.openEntityPopover=(t=null)=>{_t(this,"hass-more-info",{entityId:t||this.config.entity})},this._onActionPointerDown=t=>{0!==t.button&&"mouse"===t.pointerType||(this._holdFired=!1,this._holdTimer&&clearTimeout(this._holdTimer),this._holdTimer=setTimeout(()=>{this._holdFired=!0,this._holdTimer=null,this._dispatchAction("hold")},ia.HOLD_MS))},this._onActionPointerUp=()=>{this._holdTimer&&(clearTimeout(this._holdTimer),this._holdTimer=null)},this._onActionClick=t=>{t.preventDefault(),this._holdFired?this._holdFired=!1:(this._clickCount+=1,1===this._clickCount?(this._clickTimer&&clearTimeout(this._clickTimer),this._clickTimer=setTimeout(()=>{this._clickCount=0,this._clickTimer=null,this._dispatchSetpointTap()},ia.DOUBLE_TAP_MS)):(this._clickTimer&&clearTimeout(this._clickTimer),this._clickTimer=null,this._clickCount=0,this._dispatchAction("double_tap")))},this._onSetpointKeyDown=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this._dispatchSetpointTap())}}static get styles(){return bt}_sendSetpointValues(t){if(!be(this._hass?.states?.[t.entity]))return;const{domain:e,service:i,data:a={}}=t.service;this._callAction(`${e}.${i}`,{entity_id:t.entity,...a,...t.values})}_flushPendingSetpointValues(){this._setpointUpdateTimer&&(clearTimeout(this._setpointUpdateTimer),this._setpointUpdateTimer=null);const t=this._pendingSetpointUpdate;this._pendingSetpointUpdate=null,t&&this._sendSetpointValues(t)}_cancelPendingSetpointValues(){this._setpointUpdateTimer&&(clearTimeout(this._setpointUpdateTimer),this._setpointUpdateTimer=null),this._pendingSetpointUpdate=null}_scheduleSetpointValues(t){const e=this._setpointDebounce,i=function(t){return Object.fromEntries(Object.entries(t).filter(([,t])=>null!=t))}(t);0!==Object.keys(i).length&&(e<=0?this._sendSetpointValues({entity:this.config.entity,service:this.service,values:i}):(this._pendingSetpointUpdate={entity:this.config.entity,service:this.service,values:i},this._setpointUpdateTimer&&clearTimeout(this._setpointUpdateTimer),this._setpointUpdateTimer=setTimeout(()=>{const t=this._pendingSetpointUpdate;this._setpointUpdateTimer=null,this._pendingSetpointUpdate=null,t&&this._sendSetpointValues(t)},e)))}_getSetpointDebounce(t){const e=Number(t?.setpoint_debounce_ms??500);return Number.isFinite(e)&&e>=0?e:500}_callAction(t,e){let i;if("function"==typeof this._hass.performAction)i=this._hass.performAction({action:t,data:e});else if("function"==typeof this._hass.callService){const[a,o]=t.split(".");i=this._hass.callService(a,o,e)}i&&"function"==typeof i.catch&&i.catch(e=>{console.error(`simple-thermostat: ${t} failed`,e)})}static getConfigElement(){return window.document.createElement(`${t}-editor`)}static getStubConfig(t){return{entity:Object.keys(t.states??{}).find(t=>t.startsWith("climate.")||t.startsWith("fan.")||t.startsWith("humidifier."))??""}}setConfig(t){if(!t?.entity||"string"!=typeof t.entity)throw new Error("Simple Thermostat requires an entity");this._flushPendingSetpointValues();const e=this.config?.entity;this._clearMissingEntityTimer(),this.config=xt({decimals:1,...t}),this.config.decimals=Bi(this.config.decimals);const i=this._getSetpointDebounce(this.config);i!==this._setpointDebounce&&(this._setpointDebounce=i),this.entities=[],this.footer=[],this.showEntities=!0,e&&e!==this.config.entity&&this._clearOptimisticSetpointState(),this.toggleAttribute("embedded",!0===this.config.embedded),this._hass?.states?.[this.config.entity]?this.updateFromHass(this._hass):this._hass?.states&&(this.entity=void 0)}_clearMissingEntityTimer(){this._missingEntityTimer&&(clearTimeout(this._missingEntityTimer),this._missingEntityTimer=null)}_scheduleMissingEntity(){this._missingEntityTimer||(this._missingEntityTimer=setTimeout(()=>{this._missingEntityTimer=null,this.entity=void 0},5e3))}set hass(t){if(t?.states&&(this._hass=t),!this.config?.entity)return;if(!t?.states)return;t.states[this.config.entity]?(this._clearMissingEntityTimer(),this.updateFromHass(t)):this._scheduleMissingEntity()}disconnectedCallback(){this._clearOptimisticSetpointState(),this._holdTimer&&(clearTimeout(this._holdTimer),this._holdTimer=null),this._clickTimer&&(clearTimeout(this._clickTimer),this._clickTimer=null),this._clearMissingEntityTimer(),this._stopSetpointRepeat(),this._flushPendingSetpointValues(),super.disconnectedCallback()}connectedCallback(){super.connectedCallback(),this.config?.entity&&this._hass?.states?.[this.config.entity]&&this.updateFromHass(this._hass)}updateFromHass(t){const e=t.states[this.config.entity];this.entity!==e&&(this.entity=e);const i=kt(this.config.entity);this.header=Te(this.config.header,e,t,!1!==this.config.enhanced_visuals),this.service=function(t,e=St){return t||e.getSetpointService()}(this.config?.service??!1,i);const a=e.attributes;let o=function(t,e,i=St,a){return!1===t?{}:t?Object.entries(t).reduce((t,[i,o])=>{if(o?.hide)return t;const n=Array.isArray(o?.hide_when)?o.hide_when:o?.hide_when?[o.hide_when]:[];return a&&n.includes(a)||(t[i]=e?.[i]),t},{}):i.getSetpoints(e)}(this.config?.setpoints??null,a,i,e.state);this._updatingValues&&!function(t,e){const i=Object.keys(t).sort(),a=Object.keys(e).sort();return i.length===a.length&&i.every((t,e)=>t===a[e])}(o,this._values)?(this._cancelPendingSetpointValues(),this._clearOptimisticSetpointState(),this._values=o):this._updatingValues&&function(t,e){const i=Object.keys(t);return i.length===Object.keys(e).length&&!i.some(i=>t?.[i]!==e?.[i])}(o,this._values)?(this._updatingValues=!1,this._updatingValuesTimeout&&(clearTimeout(this._updatingValuesTimeout),this._updatingValuesTimeout=null)):this._updatingValues||(this._values=o);const n=this.config.entity.split(".")[0],r=function(t){return t.some(({type:t})=>t===yt.STATE)?t.map(t=>t.type&&t.type!==yt.STATE?{...t,list:t.list?.filter(({value:t})=>"off"!==t)??[]}:t):t}(function(t,e,i,a,o){if(!1===t.control)return[];if(Array.isArray(t.control))return ea(t.control,e,i,a);if(t.control&&"object"==typeof t.control){const n=t.control,r=Object.entries(t.control).filter(([t])=>!t.startsWith("_")),s=Array.isArray(n._order)?n._order.map(String):void 0,c=(s?[...s.filter(t=>r.some(([e])=>e===t)),...r.map(([t])=>t).filter(t=>!s.includes(t))]:r.map(([t])=>t)).map(t=>[t,n[t]]);if(c.length>0)return c.filter(([,t])=>!1!==t).filter(([t,o])=>!!(!0===o||!1===o?void 0:o.entity)||ta(t,e,i,a)).map(([t,e])=>{const{_name:n,_hide_when_off:r,hide_when_off:s,hide_off_when_off:c,_icons:l,_heading:d,entity:h,...u}=!0===e?{}:e,p=h?o?.states?.[h]:void 0,m=Xi(p),g={...u,...!0===c?{hide_off_when_off:c}:{}};return{type:t,entity:h,hide_when_off:s??r,icons:l,heading:d,name:n,preserve_option_order:Object.keys(u).length>0,list:h?m&&!["unknown","unavailable"].includes(String(p.state))?Qi(p,g):[]:Yi(t,i,a,g)}})}return ea(a.getDefaultControl(),e,i,a)}(this.config,n,a,i,t)),s=(c=this.config.control,Array.isArray(c)||c&&"object"==typeof c&&(Array.isArray(c._order)||Object.keys(c).some(t=>!t.startsWith("_")))?r:function(t,e){if("fan"!==e&&"climate"!==e)return t;const i=t=>{const e=Ui.indexOf(t);return-1===e?Ui.length:e};return[...t].sort((t,e)=>i(t.type)-i(e.type))}(r,n));var c;this.modes=s.map(o=>{const n=o.preserve_option_order?o.list:o.type===yt.HVAC?function(t){const e=Object.values(De),i=[],a=[];return t.forEach(t=>{const o=e.indexOf(t.value);o>=0?i[o]=t:a.push(t)}),[...i.filter(Boolean),...a]}(o.list):o.type===yt.FAN?function(t){const e=[],i=[];return t.forEach(t=>{const a=Ue.indexOf(t.value.toLowerCase());a>=0?e[a]=t:i.push(t)}),[...e.filter(Boolean),...i]}(o.list):o.list,r=o.entity&&t.states?.[o.entity]?t.states[o.entity].state:o.type===yt.HVAC||o.type===yt.STATE?e.state:a[i.getModePayloadKey(o.type)];return{...o,list:n,mode:r}});const{step:l}=i.getRange(a);this.stepSize=Number(this.config.step_size??l??.5),this._hide={...Di,...this.config.hide??{}};const d=this.config.entities??[];!1===d?(this.showEntities=!1,this.entities=[]):d?(this.showEntities=!0,this.entities=d.map(({name:e,entity:i,attribute:a,template:o,unit:n="",decimals:r,...s})=>{let c;const l=[e];return i?(c=t.states[i],l.push(c?.attributes?.friendly_name)):a&&a in(this.entity.attributes??{})&&(c=this.entity,l.push(a)),l.push(i),{...s,name:l.find(t=>!!t),state:c,entity:i,attribute:a,template:o,unit:n,...void 0!==r?{decimals:Bi(r,this.config.decimals??1)}:{}}})):(this.showEntities=!0,this.entities=[]),this.footer=function(t){return Array.isArray(t.footer)?t.footer:[]}(this.config).map(({entity:e,name:i,icon:a,hide_when_off:o})=>{const n=t.states?.[e];return n?{entity:e,name:i,icon:a,hide_when_off:o,state:n}:null}).filter(t=>!!t)}_localizeFirst(t,e){for(const e of t){const t=this._hass.localize?.(e);if(t&&t!==e)return t}return e}_getSetpointLabel(t){return this.config.label?.setpoint??this._hass.localize?.(`ui.card.${kt(this.config.entity).getLocalizationDomain()}.target`)??this._hass.localize?.("ui.card.climate.target_temperature")??this.localize(t,"state_attributes.climate.")}render({_hide:t,_values:e,_updatingValues:i,config:a,entity:o}=this){if(!a)return B``;const n=[];if(this.modes.filter(t=>t.entity&&0===t.list.length).forEach(t=>{n.push(B`=0&&i<=100?i:e}function Gi(t,e,i){const a=Ki(String(e),i);if(Zi(a))return!1!==a.include;const o=Object.keys(i).some(t=>!t.startsWith("_")&&!Wi.includes(t)),n=t===yt.PRESET;return a??!(n&&o)}function qi(t){return t.toLowerCase().replace(/\s+/g,"_")}function Ki(t,e){const i=qi(t),a=e[t];if(void 0!==a)return a;if(void 0!==e[i])return e[i];const o=Object.entries(e).find(([t])=>!t.startsWith("_")&&!Wi.includes(t)&&qi(t)===i);return o?.[1]}function Zi(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Ji(t,e){const i=Array.isArray(e._order)?e._order.map(String):Object.keys(e).filter(t=>!t.startsWith("_")&&!Wi.includes(t));if(0===i.length)return t;const a=new Map;t.forEach(t=>{a.set(qi(String(t)),t)});const o=new Set,n=[];return i.forEach(t=>{const e=qi(t);a.has(e)&&!o.has(e)&&(n.push(a.get(e)),o.add(e))}),t.forEach(t=>{const e=qi(String(t));o.has(e)||(n.push(t),o.add(e))}),n}function Yi(t,e,i,a={}){let o=e[i.getModeAttribute(t)];return t===yt.STATE?o=["off","on"]:t===yt.DIRECTION&&e.direction?o=["forward","reverse"]:t===yt.OSCILLATING&&"boolean"==typeof e.oscillating&&(o=[!1,!0]),Array.isArray(o)?Ji(o,a).filter(e=>Gi(t,e,a)).map(e=>{const i=String(e),n=Ki(i,a),r=Zi(n)?n:{},{name:s,...c}=r,l=!0===r.hide_when_off||!0===a.hide_off_when_off&&"off"===qi(i),d=!1!==s&&("string"==typeof s?s:Oe(i));return{...c,hide_when_off:l||void 0,icon:r.icon??(t===yt.FAN?Je(i,o):void 0)??Re(i),iconConfigured:void 0!==r.icon,nameConfigured:void 0!==s,value:i,name:d}}):[]}function Xi(t){return"string"==typeof t?.entity_id&&t.entity_id.startsWith("select.")&&Array.isArray(t.attributes?.options)}function Qi(t,e={}){return Ji(t.attributes.options,e).filter(t=>Gi("select",t,e)).map(t=>{const i=String(t),a=Ki(i,e),o=Zi(a)?a:{},{name:n,...r}=o,s=!0===o.hide_when_off||!0===e.hide_off_when_off&&"off"===qi(i),c=!1!==n&&("string"==typeof n?n:Oe(i));return{...r,hide_when_off:s||void 0,icon:o.icon??Re(i),iconConfigured:void 0!==o.icon,nameConfigured:void 0!==n,value:i,name:c}})}function ta(t,e,i,a){return Fi.includes(t)&&(t===yt.STATE?"fan"===e||"humidifier"===e:void 0!==i[a.getModeAttribute(t)])}function ea(t,e,i,a){return t.filter(t=>ta(t,e,i,a)).map(t=>({type:t,hide_when_off:!1,list:Yi(t,i,a)}))}class ia extends lt{constructor(){super(...arguments),this.modes=[],this._hass={},this.entities=[],this.footer=[],this.showEntities=!0,this.name="",this.stepSize=.5,this._values={},this._updatingValues=!1,this._hide=Di,this._updatingValuesTimeout=null,this._holdTimer=null,this._holdFired=!1,this._clickCount=0,this._clickTimer=null,this._setpointUpdateTimer=null,this._pendingSetpointUpdate=null,this._missingEntityTimer=null,this._stepRepeatDelayTimer=null,this._stepRepeatIntervalTimer=null,this._stepRepeatFired=!1,this._setpointDebounce=500,this.localize=(t,e="")=>{const i=`${e}${t}`;return this._hass.localize?.(i)||t},this.toggleEntityChanged=(t,e)=>{if(!this.header||!e)return;if(!be(this._hass?.states?.[e]))return;const i=t.target;this._callAction("homeassistant.turn_"+(i.checked?"on":"off"),{entity_id:e})},this.toggleFooterEntity=(t,e)=>{this._hass&&(xe(this._hass,t,e),_t(this,"haptic","light"))},this._stopSetpointRepeat=()=>{this._stepRepeatDelayTimer&&(clearTimeout(this._stepRepeatDelayTimer),this._stepRepeatDelayTimer=null),this._stepRepeatIntervalTimer&&(clearInterval(this._stepRepeatIntervalTimer),this._stepRepeatIntervalTimer=null)},this.setMode=(t,e)=>{if(t&&e){const i=kt(this.config.entity),a=this.modes.find(e=>e.type===t);if(a?.entity){const t=this._hass.states?.[a.entity];if(!Xi(t)||["unknown","unavailable"].includes(String(t.state))||!t.attributes.options.includes(e))return;return this._callAction("select.select_option",{entity_id:a.entity,option:e}),void _t(this,"haptic","light")}if(!be(this._hass?.states?.[this.config.entity]))return;if(t===yt.STATE)return this._callAction(`${i.getLocalizationDomain()}.turn_${e}`,{entity_id:this.config.entity}),void _t(this,"haptic","light");const o=i.transformModePayloadValue?.(t,e)??e;this._callAction(`${i.getLocalizationDomain()}.${i.getModeService(t)}`,{entity_id:this.config.entity,[i.getModePayloadKey(t)]:o}),_t(this,"haptic","light")}else _t(this,"haptic","failure")},this.openEntityPopover=(t=null)=>{_t(this,"hass-more-info",{entityId:t||this.config.entity})},this._onActionPointerDown=t=>{0!==t.button&&"mouse"===t.pointerType||(this._holdFired=!1,this._holdTimer&&clearTimeout(this._holdTimer),this._holdTimer=setTimeout(()=>{this._holdFired=!0,this._holdTimer=null,this._dispatchAction("hold")},ia.HOLD_MS))},this._onActionPointerUp=()=>{this._holdTimer&&(clearTimeout(this._holdTimer),this._holdTimer=null)},this._onActionClick=t=>{t.preventDefault(),this._holdFired?this._holdFired=!1:(this._clickCount+=1,1===this._clickCount?(this._clickTimer&&clearTimeout(this._clickTimer),this._clickTimer=setTimeout(()=>{this._clickCount=0,this._clickTimer=null,this._dispatchSetpointTap()},ia.DOUBLE_TAP_MS)):(this._clickTimer&&clearTimeout(this._clickTimer),this._clickTimer=null,this._clickCount=0,this._dispatchAction("double_tap")))},this._onSetpointKeyDown=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this._dispatchSetpointTap())}}static get styles(){return bt}_sendSetpointValues(t){if(!be(this._hass?.states?.[t.entity]))return;const{domain:e,service:i,data:a={}}=t.service;this._callAction(`${e}.${i}`,{entity_id:t.entity,...a,...t.values})}_flushPendingSetpointValues(){this._setpointUpdateTimer&&(clearTimeout(this._setpointUpdateTimer),this._setpointUpdateTimer=null);const t=this._pendingSetpointUpdate;this._pendingSetpointUpdate=null,t&&this._sendSetpointValues(t)}_cancelPendingSetpointValues(){this._setpointUpdateTimer&&(clearTimeout(this._setpointUpdateTimer),this._setpointUpdateTimer=null),this._pendingSetpointUpdate=null}_scheduleSetpointValues(t){const e=this._setpointDebounce,i=function(t){return Object.fromEntries(Object.entries(t).filter(([,t])=>null!=t))}(t);0!==Object.keys(i).length&&(e<=0?this._sendSetpointValues({entity:this.config.entity,service:this.service,values:i}):(this._pendingSetpointUpdate={entity:this.config.entity,service:this.service,values:i},this._setpointUpdateTimer&&clearTimeout(this._setpointUpdateTimer),this._setpointUpdateTimer=setTimeout(()=>{const t=this._pendingSetpointUpdate;this._setpointUpdateTimer=null,this._pendingSetpointUpdate=null,t&&this._sendSetpointValues(t)},e)))}_getSetpointDebounce(t){const e=Number(t?.setpoint_debounce_ms??500);return Number.isFinite(e)&&e>=0?e:500}_callAction(t,e){let i;if("function"==typeof this._hass.performAction)i=this._hass.performAction({action:t,data:e});else if("function"==typeof this._hass.callService){const[a,o]=t.split(".");i=this._hass.callService(a,o,e)}i&&"function"==typeof i.catch&&i.catch(e=>{console.error(`simple-thermostat: ${t} failed`,e)})}static getConfigElement(){return window.document.createElement(`${t}-editor`)}static getStubConfig(t){return{entity:Object.keys(t.states??{}).find(t=>t.startsWith("climate.")||t.startsWith("fan.")||t.startsWith("humidifier."))??""}}setConfig(t){if(!t?.entity||"string"!=typeof t.entity)throw new Error("Simple Thermostat requires an entity");this._flushPendingSetpointValues();const e=this.config?.entity;this._clearMissingEntityTimer(),this.config=xt({decimals:1,...t}),this.config.decimals=Bi(this.config.decimals);const i=this._getSetpointDebounce(this.config);i!==this._setpointDebounce&&(this._setpointDebounce=i),this.entities=[],this.footer=[],this.showEntities=!0,e&&e!==this.config.entity&&this._clearOptimisticSetpointState(),this.toggleAttribute("embedded",!0===this.config.embedded),this._hass?.states?.[this.config.entity]?this.updateFromHass(this._hass):this._hass?.states&&(this.entity=void 0)}_clearMissingEntityTimer(){this._missingEntityTimer&&(clearTimeout(this._missingEntityTimer),this._missingEntityTimer=null)}_scheduleMissingEntity(){this._missingEntityTimer||(this._missingEntityTimer=setTimeout(()=>{this._missingEntityTimer=null,this.entity=void 0},5e3))}set hass(t){if(t?.states&&(this._hass=t),!this.config?.entity)return;if(!t?.states)return;t.states[this.config.entity]?(this._clearMissingEntityTimer(),this.updateFromHass(t)):this._scheduleMissingEntity()}disconnectedCallback(){this._clearOptimisticSetpointState(),this._holdTimer&&(clearTimeout(this._holdTimer),this._holdTimer=null),this._clickTimer&&(clearTimeout(this._clickTimer),this._clickTimer=null),this._clearMissingEntityTimer(),this._stopSetpointRepeat(),this._flushPendingSetpointValues(),super.disconnectedCallback()}connectedCallback(){super.connectedCallback(),this.config?.entity&&this._hass?.states?.[this.config.entity]&&this.updateFromHass(this._hass)}updateFromHass(t){const e=t.states[this.config.entity];this.entity!==e&&(this.entity=e);const i=kt(this.config.entity);this.header=Ne(this.config.header,e,t,!1!==this.config.enhanced_visuals),this.service=function(t,e=St){return t||e.getSetpointService()}(this.config?.service??!1,i);const a=e.attributes;let o=function(t,e,i=St,a){return!1===t?{}:t?Object.entries(t).reduce((t,[i,o])=>{if(o?.hide)return t;const n=Array.isArray(o?.hide_when)?o.hide_when:o?.hide_when?[o.hide_when]:[];return a&&n.includes(a)||(t[i]=e?.[i]),t},{}):i.getSetpoints(e)}(this.config?.setpoints??null,a,i,e.state);this._updatingValues&&!function(t,e){const i=Object.keys(t).sort(),a=Object.keys(e).sort();return i.length===a.length&&i.every((t,e)=>t===a[e])}(o,this._values)?(this._cancelPendingSetpointValues(),this._clearOptimisticSetpointState(),this._values=o):this._updatingValues&&function(t,e){const i=Object.keys(t);return i.length===Object.keys(e).length&&!i.some(i=>t?.[i]!==e?.[i])}(o,this._values)?(this._updatingValues=!1,this._updatingValuesTimeout&&(clearTimeout(this._updatingValuesTimeout),this._updatingValuesTimeout=null)):this._updatingValues||(this._values=o);const n=this.config.entity.split(".")[0],r=function(t){return t.some(({type:t})=>t===yt.STATE)?t.map(t=>t.type&&t.type!==yt.STATE?{...t,list:t.list?.filter(({value:t})=>"off"!==t)??[]}:t):t}(function(t,e,i,a,o){if(!1===t.control)return[];if(Array.isArray(t.control))return ea(t.control,e,i,a);if(t.control&&"object"==typeof t.control){const n=t.control,r=Object.entries(t.control).filter(([t])=>!t.startsWith("_")),s=Array.isArray(n._order)?n._order.map(String):void 0,c=(s?[...s.filter(t=>r.some(([e])=>e===t)),...r.map(([t])=>t).filter(t=>!s.includes(t))]:r.map(([t])=>t)).map(t=>[t,n[t]]);if(c.length>0)return c.filter(([,t])=>!1!==t).filter(([t,o])=>!!(!0===o||!1===o?void 0:o.entity)||ta(t,e,i,a)).map(([t,e])=>{const{_name:n,_hide_when_off:r,hide_when_off:s,hide_off_when_off:c,_icons:l,_heading:d,entity:h,...u}=!0===e?{}:e,p=h?o?.states?.[h]:void 0,m=Xi(p),g={...u,...!0===c?{hide_off_when_off:c}:{}};return{type:t,entity:h,hide_when_off:s??r,icons:l,heading:d,name:n,preserve_option_order:Object.keys(u).length>0,list:h?m&&!["unknown","unavailable"].includes(String(p.state))?Qi(p,g):[]:Yi(t,i,a,g)}})}return ea(a.getDefaultControl(),e,i,a)}(this.config,n,a,i,t)),s=(c=this.config.control,Array.isArray(c)||c&&"object"==typeof c&&(Array.isArray(c._order)||Object.keys(c).some(t=>!t.startsWith("_")))?r:function(t,e){if("fan"!==e&&"climate"!==e)return t;const i=t=>{const e=Ui.indexOf(t);return-1===e?Ui.length:e};return[...t].sort((t,e)=>i(t.type)-i(e.type))}(r,n));var c;this.modes=s.map(o=>{const n=o.preserve_option_order?o.list:o.type===yt.HVAC?function(t){const e=Object.values(Be),i=[],a=[];return t.forEach(t=>{const o=e.indexOf(t.value);o>=0?i[o]=t:a.push(t)}),[...i.filter(Boolean),...a]}(o.list):o.type===yt.FAN?function(t){const e=[],i=[];return t.forEach(t=>{const a=Ge.indexOf(t.value.toLowerCase());a>=0?e[a]=t:i.push(t)}),[...e.filter(Boolean),...i]}(o.list):o.list,r=o.entity&&t.states?.[o.entity]?t.states[o.entity].state:o.type===yt.HVAC||o.type===yt.STATE?e.state:a[i.getModePayloadKey(o.type)];return{...o,list:n,mode:r}});const{step:l}=i.getRange(a);this.stepSize=Number(this.config.step_size??l??.5),this._hide={...Di,...this.config.hide??{}};const d=this.config.entities??[];!1===d?(this.showEntities=!1,this.entities=[]):d?(this.showEntities=!0,this.entities=d.map(({name:e,entity:i,attribute:a,template:o,unit:n="",decimals:r,...s})=>{let c;const l=[e];return i?(c=t.states[i],l.push(c?.attributes?.friendly_name)):a&&a in(this.entity.attributes??{})&&(c=this.entity,l.push(a)),l.push(i),{...s,name:l.find(t=>!!t),state:c,entity:i,attribute:a,template:o,unit:n,...void 0!==r?{decimals:Bi(r,this.config.decimals??1)}:{}}})):(this.showEntities=!0,this.entities=[]),this.footer=function(t){return Array.isArray(t.footer)?t.footer:[]}(this.config).map(({entity:e,name:i,icon:a,hide_when_off:o})=>{const n=t.states?.[e];return n?{entity:e,name:i,icon:a,hide_when_off:o,state:n}:null}).filter(t=>!!t)}_localizeFirst(t,e){for(const e of t){const t=this._hass.localize?.(e);if(t&&t!==e)return t}return e}_getSetpointLabel(t){return this.config.label?.setpoint??this._hass.localize?.(`ui.card.${kt(this.config.entity).getLocalizationDomain()}.target`)??this._hass.localize?.("ui.card.climate.target_temperature")??this.localize(t,"state_attributes.climate.")}render({_hide:t,_values:e,_updatingValues:i,config:a,entity:o}=this){if(!a)return B``;const n=[];if(this.modes.filter(t=>t.entity&&0===t.list.length).forEach(t=>{n.push(B`Control entity unavailable or without options: ${t.entity}`)}),this.stepSize<1&&0===this.config.decimals&&n.push(B` @@ -3291,7 +3291,7 @@ ha-card.standard-visuals .thermostat-trigger:active { Entity not available: ${a.entity} - `;const r=kt(a.entity),s=we(o),{min:c,max:l}=r.getRange(o.attributes),d=this.getUnit(),h=a.entity.split(".")[0],u=this.areSetpointsHidden()?0:Object.keys(e).length,p=this.config?.layout?.step,m=!p&&this.showEntities&&u>1,g=p??(!1===this.config.enhanced_visuals||m?"column":"row"),f="row"===g,v=["unavailable","unknown"].includes(o.state),y=t=>"string"==typeof t?t.replace(/[^a-z0-9_-]/gi,""):"",b=[!this.header&&"no-header",`domain-${y(h)}`,`state-${y(o.state)}`,!1===this.config.enhanced_visuals&&"standard-visuals",!0===this.config.embedded&&"embedded",y(s),v&&y(o.state)].filter(t=>!!t),_=["body",this.showEntities&&"has-entities",`step-${g}`,`setpoint-count-${u}`].filter(t=>!!t),w=!0===a.embedded,x=function(t,e){if("fan"!==t)return"";const i=Number(e?.percentage);if(Number.isNaN(i))return"";const a=Math.min(Math.max(i,0),100);return`--st-fan-spin-duration: ${Math.max(.9,3.2-a/100*2.1).toFixed(2)}s;`}(h,o.attributes),$=w?function(t){const e=t?.style,i="string"==typeof e?e:e&&"object"==typeof e?Object.entries(e).flatMap(([t,e])=>"string"!=typeof e?[]:"."===t?[e]:"ha-card"===t?[`ha-card { ${e} }`]:[]).join("\n"):"";return i.includes("{{")||i.includes("{%")?"":i}(a.card_mod):"",S=this.showEntities?zi({_hide:t,unit:d,hass:this._hass,entity:this.entity,entities:this.entities,config:this.config,adapter:r,localize:this.localize,openEntityPopover:this.openEntityPopover}):"",A=w?B``:ei({header:this.header,hass:this._hass,toggleEntityChanged:this.toggleEntityChanged,entity:this.entity,openEntityPopover:this.openEntityPopover});return B` + `;const r=kt(a.entity),s=Se(o),{min:c,max:l}=r.getRange(o.attributes),d=this.getUnit(),h=a.entity.split(".")[0],u=this.areSetpointsHidden()?0:Object.keys(e).length,p=this.config?.layout?.step,m=!p&&this.showEntities&&u>1,g=p??(!1===this.config.enhanced_visuals||m?"column":"row"),f="row"===g,v=["unavailable","unknown"].includes(o.state),y=t=>"string"==typeof t?t.replace(/[^a-z0-9_-]/gi,""):"",b=[!this.header&&"no-header",`domain-${y(h)}`,`state-${y(o.state)}`,!1===this.config.enhanced_visuals&&"standard-visuals",!0===this.config.embedded&&"embedded",y(s),v&&y(o.state)].filter(t=>!!t),_=["body",this.showEntities&&"has-entities",`step-${g}`,`setpoint-count-${u}`].filter(t=>!!t),w=!0===a.embedded,x=function(t,e){if("fan"!==t)return"";const i=Number(e?.percentage);if(Number.isNaN(i))return"";const a=Math.min(Math.max(i,0),100);return`--st-fan-spin-duration: ${Math.max(.9,3.2-a/100*2.1).toFixed(2)}s;`}(h,o.attributes),$=w?function(t){const e=t?.style,i="string"==typeof e?e:e&&"object"==typeof e?Object.entries(e).flatMap(([t,e])=>"string"!=typeof e?[]:"."===t?[e]:"ha-card"===t?[`ha-card { ${e} }`]:[]).join("\n"):"";return i.includes("{{")||i.includes("{%")?"":i}(a.card_mod):"",S=this.showEntities?zi({_hide:t,unit:d,hass:this._hass,entity:this.entity,entities:this.entities,config:this.config,adapter:r,localize:this.localize,openEntityPopover:this.openEntityPopover}):"",A=w?B``:oi({header:this.header,hass:this._hass,toggleEntityChanged:this.toggleEntityChanged,entity:this.entity,openEntityPopover:this.openEntityPopover});return B` ${$?B`