From f982e559982f735bcbf9a4f3c81e4fdbb7679c57 Mon Sep 17 00:00:00 2001 From: ccostan Date: Sun, 15 Jan 2023 14:38:05 -0500 Subject: [PATCH] Updatess including closing #1259 --- README.md | 4 +- _Navigation_NOTICE_.md | 1 - config/.HA_VERSION | 2 +- config/README.md | 2 +- config/configuration.yaml | 2 +- .../lovelace-auto-entities/auto-entities.js | 40 +++++++++--------- .../auto-entities.js.gz | Bin 13125 -> 13704 bytes .../lovelace-auto-entities/rollup.config.js | 2 +- .../rollup.config.js.gz | Bin 327 -> 323 bytes 9 files changed, 25 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 7ec7f573..b0c95093 100755 --- a/README.md +++ b/README.md @@ -959,9 +959,7 @@ Feel free to join the conversations there. [![Screenshot of Alarm Clock View](https://i.imgur.com/mLMrky1.jpg)](https://www.vcloudinfo.com/2017/11/building-worlds-greatest-smart-alarm.html) [![Screenshot of Alarm View](https://i.imgur.com/zmb3Rtn.png)](https://www.vcloudinfo.com/2017/07/visualizing-smart-home-using-home.html) -**All files are now being edited with [Atom](https://atom.io/).** - -**All of my configuration files are tested against the most stable version of home-assistant using [Travis](https://travis-ci.org/CCOSTAN/Home-AssistantConfig).** +**All files are now being edited with [VSCode](https://code.visualstudio.com/).** **Still have questions on my Config?**
**Message me on twitter :** [![Follow CCostan](https://img.shields.io/twitter/follow/CCostan)](https://www.twitter.com/ccostan) or [![Follow Bear Stone Home](https://img.shields.io/twitter/follow/BearStoneHA)](https://www.twitter.com/BearStoneHA) diff --git a/_Navigation_NOTICE_.md b/_Navigation_NOTICE_.md index d3b72695..18c30d0a 100755 --- a/_Navigation_NOTICE_.md +++ b/_Navigation_NOTICE_.md @@ -6,7 +6,6 @@

Be sure to :star: my configuration repo so you can keep up to date on any daily progress!

-

diff --git a/config/.HA_VERSION b/config/.HA_VERSION index 2446c62f..9abfbdf8 100755 --- a/config/.HA_VERSION +++ b/config/.HA_VERSION @@ -1 +1 @@ -2022.12.7 \ No newline at end of file +2023.1.2 \ No newline at end of file diff --git a/config/README.md b/config/README.md index 7d1e4675..d372e9a5 100755 --- a/config/README.md +++ b/config/README.md @@ -18,7 +18,7 @@

-This is the main directory of the Repo. You will find more helpful ReadMe files in the directoies as you browse them. Not all but each day I add more. I use a configuration type called split configuration. So my main configuration.yaml file is broken out into many different files located in the directories. Be sure to visit the package directory where practically self contained YAML files exist that you can easily drop into your configurations to be up and running fast with various automations and components. You can also subscribe via RSS to every commit I make in this repo by clicking the Feed icon on the bottom of this page.

+This is the main directory of the Repo. You will find more helpful ReadMe files in the directories as you browse them. Not all but each day I add more. I use a configuration type called split configuration. So my main configuration.yaml file is broken out into many different files located in the directories. Be sure to visit the package directory where practically self contained YAML files exist that you can easily drop into your configurations to be up and running fast with various automations and components. You can also subscribe via RSS to every commit I make in this repo by clicking the Feed icon on the bottom of this page.

diff --git a/config/configuration.yaml b/config/configuration.yaml index 4bd9a57c..22bb27f1 100755 --- a/config/configuration.yaml +++ b/config/configuration.yaml @@ -144,7 +144,7 @@ logger: !include logger.yaml recorder: !include recorder.yaml mqtt: - client_id: home-assistant-Carlo +# client_id: home-assistant-Carlo # zwave: # usb_path: /dev/ttyACM0 diff --git a/config/www/community/lovelace-auto-entities/auto-entities.js b/config/www/community/lovelace-auto-entities/auto-entities.js index de928a5d..75507c9a 100644 --- a/config/www/community/lovelace-auto-entities/auto-entities.js +++ b/config/www/community/lovelace-auto-entities/auto-entities.js @@ -1,4 +1,4 @@ -function t(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(o<3?s(r):o>3?s(e,i,r):s(e,i))||r);return o>3&&r&&Object.defineProperty(e,i,r),r}const e=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),n=new Map;class s{constructor(t,e){if(this._$cssResult$=!0,e!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){let t=n.get(this.cssText);return e&&void 0===t&&(n.set(this.cssText,t=new CSSStyleSheet),t.replaceSync(this.cssText)),t}toString(){return this.cssText}}const o=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,i,n)=>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[n+1]),t[0]);return new s(n,i)},r=e?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+"",i))(e)})(t):t;var a;const l=window.trustedTypes,c=l?l.emptyScript:"",d=window.reactiveElementPolyfillSupport,h={toAttribute(t,e){switch(e){case Boolean:t=t?c: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}},u=(t,e)=>e!==t&&(e==e||t==t),v={attribute:!0,type:String,converter:h,reflect:!1,hasChanged:u};class g extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var e;null!==(e=this.l)&&void 0!==e||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const n=this._$Eh(i,e);void 0!==n&&(this._$Eu.set(n,i),t.push(n))})),t}static createProperty(t,e=v){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const s=this[t];this[e]=n,this.requestUpdate(t,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||v}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}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(r(t))}else void 0!==t&&e.push(r(t));return e}static _$Eh(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$Eg)&&void 0!==e?e:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$Eg)||void 0===e||e.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Et.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const i=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,i)=>{e?t.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):i.forEach((e=>{const i=document.createElement("style"),n=window.litNonce;void 0!==n&&i.setAttribute("nonce",n),i.textContent=e.cssText,t.appendChild(i)}))})(i,this.constructor.elementStyles),i}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ES(t,e,i=v){var n,s;const o=this.constructor._$Eh(t,i);if(void 0!==o&&!0===i.reflect){const r=(null!==(s=null===(n=i.converter)||void 0===n?void 0:n.toAttribute)&&void 0!==s?s:h.toAttribute)(e,i.type);this._$Ei=t,null==r?this.removeAttribute(o):this.setAttribute(o,r),this._$Ei=null}}_$AK(t,e){var i,n,s;const o=this.constructor,r=o._$Eu.get(t);if(void 0!==r&&this._$Ei!==r){const t=o.getPropertyOptions(r),a=t.converter,l=null!==(s=null!==(n=null===(i=a)||void 0===i?void 0:i.fromAttribute)&&void 0!==n?n:"function"==typeof a?a:null)&&void 0!==s?s:h.fromAttribute;this._$Ei=r,this[r]=l(e,t.type),this._$Ei=null}}requestUpdate(t,e,i){let n=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||u)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$Ei!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):n=!1),!this.isUpdatePending&&n&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,e)=>this[e]=t)),this._$Et=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$Eg)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$ES(e,this[e],t))),this._$EC=void 0),this._$EU()}updated(t){}firstUpdated(t){}}var p;g.finalized=!0,g.elementProperties=new Map,g.elementStyles=[],g.shadowRootOptions={mode:"open"},null==d||d({ReactiveElement:g}),(null!==(a=globalThis.reactiveElementVersions)&&void 0!==a?a:globalThis.reactiveElementVersions=[]).push("1.3.0");const f=globalThis.trustedTypes,_=f?f.createPolicy("lit-html",{createHTML:t=>t}):void 0,m=`lit$${(Math.random()+"").slice(9)}$`,y="?"+m,b=`<${y}>`,$=document,w=(t="")=>$.createComment(t),E=t=>null===t||"object"!=typeof t&&"function"!=typeof t,A=Array.isArray,C=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,S=/-->/g,O=/>/g,j=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,T=/'/g,x=/"/g,k=/^(?:script|style|textarea|title)$/i,U=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),P=Symbol.for("lit-noChange"),M=Symbol.for("lit-nothing"),N=new WeakMap,D=$.createTreeWalker($,129,null,!1),I=(t,e)=>{const i=t.length-1,n=[];let s,o=2===e?"":"",r=C;for(let e=0;e"===l[0]?(r=null!=s?s:C,c=-1):void 0===l[1]?c=-2:(c=r.lastIndex-l[2].length,a=l[1],r=void 0===l[3]?j:'"'===l[3]?x:T):r===x||r===T?r=j:r===S||r===O?r=C:(r=j,s=void 0);const h=r===j&&t[e+1].startsWith("/>")?" ":"";o+=r===C?i+b:c>=0?(n.push(a),i.slice(0,c)+"$lit$"+i.slice(c)+m+h):i+m+(-2===c?(n.push(void 0),e):h)}const a=o+(t[i]||"")+(2===e?"":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==_?_.createHTML(a):a,n]};class R{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let s=0,o=0;const r=t.length-1,a=this.parts,[l,c]=I(t,e);if(this.el=R.createElement(l,i),D.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=D.nextNode())&&a.length0){n.textContent=f?f.emptyScript:"";for(let i=0;i{var e;return A(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(t)?this.S(t):this.$(t)}A(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==M&&E(this._$AH)?this._$AA.nextSibling.data=t:this.k($.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:n}=t,s="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=R.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===s)this._$AH.m(i);else{const t=new F(s,this),e=t.p(this.options);t.m(i),this.k(e),this._$AH=t}}_$AC(t){let e=N.get(t.strings);return void 0===e&&N.set(t.strings,e=new R(t)),e}S(t){A(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,n=0;for(const s of t)n===e.length?e.push(i=new L(this.A(w()),this.A(w()),this,this.options)):i=e[n],i._$AI(s),n++;n2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=M}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const s=this.strings;let o=!1;if(void 0===s)t=H(this,t,e,0),o=!E(t)||t!==this._$AH&&t!==P,o&&(this._$AH=t);else{const n=t;let r,a;for(t=s[0],r=0;r{var n,s;const o=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:e;let r=o._$litPart$;if(void 0===r){const t=null!==(s=null==i?void 0:i.renderBefore)&&void 0!==s?s:null;o._$litPart$=r=new L(e.insertBefore(w(),t),t,void 0,null!=i?i:{})}return r._$AI(t),r})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return P}}Y.finalized=!0,Y._$litElement$=!0,null===(K=globalThis.litElementHydrateSupport)||void 0===K||K.call(globalThis,{LitElement:Y});const Q=globalThis.litElementPolyfillSupport;null==Q||Q({LitElement:Y}),(null!==(Z=globalThis.litElementVersions)&&void 0!==Z?Z:globalThis.litElementVersions=[]).push("3.2.0");const X=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function tt(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):X(t,e)}function et(t){return tt({...t,state:!0})}var it;function nt(){return document.querySelector("hc-main")?document.querySelector("hc-main").hass:document.querySelector("home-assistant")?document.querySelector("home-assistant").hass:void 0}null===(it=window.HTMLSlotElement)||void 0===it||it.prototype.assignedElements;const st="lovelace-player-device-id";function ot(){if(!localStorage[st]){const t=()=>Math.floor(1e5*(1+Math.random())).toString(16).substring(1);window.fully&&"function"==typeof fully.getDeviceId?localStorage[st]=fully.getDeviceId():localStorage[st]=`${t()}${t()}-${t()}${t()}`}return localStorage[st]}let rt=ot();const at=new URLSearchParams(window.location.search);var lt;function ct(t){return!!String(t).includes("{%")||(!!String(t).includes("{{")||void 0)}at.get("deviceID")&&null!==(lt=at.get("deviceID"))&&("clear"===lt?localStorage.removeItem(st):localStorage[st]=lt,rt=ot()),window.cardMod_template_cache=window.cardMod_template_cache||{};const dt=window.cardMod_template_cache;async function ht(t,e,i){const n=nt().connection,s=JSON.stringify([e,i]);let o=dt[s];o?(o.callbacks.has(t)||ut(t),t(o.value),o.callbacks.add(t)):(ut(t),t(""),i=Object.assign({user:nt().user.name,browser:rt,hash:location.hash.substr(1)||""},i),dt[s]=o={template:e,variables:i,value:"",callbacks:new Set([t]),unsubscribe:n.subscribeMessage((t=>function(t,e){const i=dt[t];i&&(i.value=e.result,i.callbacks.forEach((t=>t(e.result))))}(s,t)),{type:"render_template",template:e,variables:i})})}async function ut(t){let e;for(const[i,n]of Object.entries(dt))if(n.callbacks.has(t)){n.callbacks.delete(t),0==n.callbacks.size&&(e=n.unsubscribe,delete dt[i]);break}e&&await(await e)()}var vt;function gt(t,e){if("string"==typeof t&&t.startsWith("$$")&&(t=t.substring(2),e=JSON.stringify(e)),"string"==typeof e&&"string"==typeof t&&(t.startsWith("/")&&t.endsWith("/")||-1!==t.indexOf("*"))){return t.startsWith("/")||(t=`/^${t=t.replace(/\./g,".").replace(/\*/g,".*")}$/`),new RegExp(t.slice(1,-1)).test(e)}if("string"==typeof t){if(t.startsWith("<="))return parseFloat(e)<=parseFloat(t.substring(2));if(t.startsWith(">="))return parseFloat(e)>=parseFloat(t.substring(2));if(t.startsWith("<"))return parseFloat(e)"))return parseFloat(e)>parseFloat(t.substring(1));if(t.startsWith("!"))return parseFloat(e)!=parseFloat(t.substring(1));if(t.startsWith("="))return parseFloat(e)==parseFloat(t.substring(1))}return t===e}window.autoEntities_cache=null!==(vt=window.autoEntities_cache)&&void 0!==vt?vt:{};const pt=window.autoEntities_cache;async function ft(t){var e;return pt.areas=null!==(e=pt.areas)&&void 0!==e?e:await t.callWS({type:"config/area_registry/list"}),pt.areas}async function _t(t){var e;return pt.devices=null!==(e=pt.devices)&&void 0!==e?e:await t.callWS({type:"config/device_registry/list"}),pt.devices}async function mt(t){var e;return pt.entities=null!==(e=pt.entities)&&void 0!==e?e:await t.callWS({type:"config/entity_registry/list"}),pt.entities}const yt={options:async()=>!0,sort:async()=>!0,domain:async(t,e,i)=>gt(e,i.entity_id.split(".")[0]),entity_id:async(t,e,i)=>gt(e,i.entity_id),state:async(t,e,i)=>gt(e,i.state),name:async(t,e,i)=>{var n;return gt(e,null===(n=i.attributes)||void 0===n?void 0:n.friendly_name)},group:async(t,e,i)=>{var n,s,o;return null===(o=null===(s=null===(n=t.states[e])||void 0===n?void 0:n.attributes)||void 0===s?void 0:s.entity_id)||void 0===o?void 0:o.includes(i.entity_id)},attributes:async(t,e,i)=>{for(const[t,n]of Object.entries(e)){let e=t.split(" ")[0],s=i.attributes;for(const t of e.split(":"))s=s?s[t]:void 0;if(void 0===s||!gt(n,s))return!1}return!0},not:async(t,e,i)=>!await bt(t,e,i.entity_id),or:async(t,e,i)=>{for(const n of e)if(await bt(t,n,i.entity_id))return!0;return!1},device:async(t,e,i)=>{const n=(await mt(t)).find((t=>t.entity_id===i.entity_id));if(!n)return!1;const s=(await _t(t)).find((t=>t.id===n.device_id));return!!s&&(gt(e,s.name_by_user)||gt(e,s.name))},device_manufacturer:async(t,e,i)=>{const n=(await mt(t)).find((t=>t.entity_id===i.entity_id));if(!n)return!1;const s=(await _t(t)).find((t=>t.id===n.device_id));return!!s&>(e,s.manufacturer)},device_model:async(t,e,i)=>{const n=(await mt(t)).find((t=>t.entity_id===i.entity_id));if(!n)return!1;const s=(await _t(t)).find((t=>t.id===n.device_id));return!!s&>(e,s.model)},area:async(t,e,i)=>{const n=(await mt(t)).find((t=>t.entity_id===i.entity_id));if(!n)return!1;let s=(await ft(t)).find((t=>t.area_id===n.area_id));if(s)return gt(e,s.name)||gt(e,s.area_id);const o=(await _t(t)).find((t=>t.id===n.device_id));return!!o&&(s=(await ft(t)).find((t=>t.area_id===o.area_id)),!!s&&(gt(e,s.name)||gt(e,s.area_id)))},entity_category:async(t,e,i)=>{const n=(await mt(t)).find((t=>t.entity_id===i.entity_id));return!!n&>(e,n.entity_category)},last_changed:async(t,e,i)=>gt(e,((new Date).getTime()-new Date(i.last_changed).getTime())/6e4),last_updated:async(t,e,i)=>gt(e,((new Date).getTime()-new Date(i.last_updated).getTime())/6e4),last_triggered:async(t,e,i)=>{if(null==i.attributes.last_triggered)return!1;return gt(e,((new Date).getTime()-new Date(i.attributes.last_triggered).getTime())/6e4)},integration:async(t,e,i)=>{const n=(await mt(t)).find((t=>t.entity_id===i.entity_id));return!!n&>(e,n.platform)}};async function bt(t,e,i){var n;if(!t.states[i])return!1;for(let[s,o]of Object.entries(e))if(s=s.trim().split(" ")[0].trim(),!await(null===(n=yt[s])||void 0===n?void 0:n.call(yt,t,o,t.states[i])))return!1;return!0}function $t(t,e,i){var n,s,o,r;const[a,l]=i.reverse?[-1,1]:[1,-1];return i.ignore_case&&(t=null!==(s=null===(n=null==t?void 0:t.toLowerCase)||void 0===n?void 0:n.call(t))&&void 0!==s?s:t,e=null!==(r=null===(o=null==e?void 0:e.toLowerCase)||void 0===o?void 0:o.call(e))&&void 0!==r?r:e),i.numeric&&(isNaN(parseFloat(t))&&isNaN(parseFloat(e))||(t=isNaN(parseFloat(t))?void 0:parseFloat(t),e=isNaN(parseFloat(e))?void 0:parseFloat(e))),void 0===t&&void 0===e?0:void 0===t?a:void 0===e?l:i.numeric?t===e?0:(i.reverse?-1:1)*(t0,domain:(t,e,i)=>{var n,s;return $t(null===(n=null==t?void 0:t.entity_id)||void 0===n?void 0:n.split(".")[0],null===(s=null==e?void 0:e.entity_id)||void 0===s?void 0:s.split(".")[0],i)},entity_id:(t,e,i)=>$t(null==t?void 0:t.entity_id,null==e?void 0:e.entity_id,i),friendly_name:(t,e,i)=>{var n,s,o,r;return $t((null===(n=null==t?void 0:t.attributes)||void 0===n?void 0:n.friendly_name)||(null===(s=null==t?void 0:t.entity_id)||void 0===s?void 0:s.split(".")[1]),(null===(o=null==e?void 0:e.attributes)||void 0===o?void 0:o.friendly_name)||(null===(r=null==e?void 0:e.entity_id)||void 0===r?void 0:r.split(".")[1]),i)},name:(t,e,i)=>{var n,s,o,r;return $t((null===(n=null==t?void 0:t.attributes)||void 0===n?void 0:n.friendly_name)||(null===(s=null==t?void 0:t.entity_id)||void 0===s?void 0:s.split(".")[1]),(null===(o=null==e?void 0:e.attributes)||void 0===o?void 0:o.friendly_name)||(null===(r=null==e?void 0:e.entity_id)||void 0===r?void 0:r.split(".")[1]),i)},state:(t,e,i)=>$t(null==t?void 0:t.state,null==e?void 0:e.state,i),attribute:(t,e,i)=>{var n;const[s,o]=(null==i?void 0:i.reverse)?[-1,1]:[1,-1];let r=null==t?void 0:t.attributes,a=null==e?void 0:e.attributes;for(const t of null===(n=null==i?void 0:i.attribute)||void 0===n?void 0:n.split(":")){if(void 0===r&&void 0===a)return 0;if(void 0===r)return s;if(void 0===a)return o;[r,a]=[r[t],a[t]]}return $t(r,a,i)},last_changed:(t,e,i)=>{const[n,s]=(null==i?void 0:i.reverse)?[-1,1]:[1,-1];return null==(null==t?void 0:t.last_changed)&&null==(null==e?void 0:e.last_changed)?0:null==(null==t?void 0:t.last_changed)?n:null==(null==e?void 0:e.last_changed)?s:(i.numeric=!0,$t(new Date(null==t?void 0:t.last_changed).getTime(),new Date(null==e?void 0:e.last_changed).getTime(),i))},last_updated:(t,e,i)=>{const[n,s]=(null==i?void 0:i.reverse)?[-1,1]:[1,-1];return null==(null==t?void 0:t.last_updated)&&null==(null==e?void 0:e.last_updated)?0:null==(null==t?void 0:t.last_updated)?n:null==(null==e?void 0:e.last_updated)?s:(i.numeric=!0,$t(new Date(null==t?void 0:t.last_updated).getTime(),new Date(null==e?void 0:e.last_updated).getTime(),i))},last_triggered:(t,e,i)=>{var n,s,o,r,a,l;const[c,d]=(null==i?void 0:i.reverse)?[-1,1]:[1,-1];return null==(null===(n=null==t?void 0:t.attributes)||void 0===n?void 0:n.last_triggered)&&null==(null===(s=null==e?void 0:e.attributes)||void 0===s?void 0:s.last_triggered)?0:null==(null===(o=null==t?void 0:t.attributes)||void 0===o?void 0:o.last_triggered)?c:null==(null===(r=null==e?void 0:e.attributes)||void 0===r?void 0:r.last_triggered)?d:(i.numeric=!0,$t(new Date(null===(a=null==t?void 0:t.attributes)||void 0===a?void 0:a.last_triggered).getTime(),new Date(null===(l=null==e?void 0:e.attributes)||void 0===l?void 0:l.last_triggered).getTime(),i))}};function Et(t,e){return function(i,n){var s,o;return null!==(o=null===(s=wt[e.method])||void 0===s?void 0:s.call(wt,t.states[i.entity],t.states[n.entity],e))&&void 0!==o?o:0}}var At="1.11.0";const Ct=(t,e)=>{if(t===e)return!0;if(typeof t!=typeof e)return!1;if(!(t instanceof Object&&e instanceof Object))return!1;for(const i in t)if(t.hasOwnProperty(i)){if(!e.hasOwnProperty(i))return!1;if(t[i]!==e[i]){if("object"!=typeof t[i])return!1;if(!Ct(t[i],e[i]))return!1}}for(const i in e)if(e.hasOwnProperty(i)&&!t.hasOwnProperty(i))return!1;return!0},St=["none","domain","entity_id","state","name","group","area","device","device_manufacturer","device_model","attributes","last_changed","last_updated","last_triggered","entity_category","integration"],Ot={type:"select",options:[["domain","Entity Domain"],["entity_id","Entity ID"],["state","Entity State"],["name","Friendly Name"],["group","Member of Group"],["area","In area"],["device","Device"],["device_manufacturer","Device Manufacturer"],["device_model","Device Model"],["attributes","Attribute"],["last_changed","Last Change"],["last_updated","Last Update"],["last_triggered","Last Trigger"],["entity_category","Entity Category"],["integration","Governing integration"]]},jt=([t,e],i)=>{var n;return St.includes(t)?{type:"grid",name:"",schema:[Object.assign(Object.assign({},Ot),{name:`key_${i}`,label:"Property"}),{name:`value_${i}`,selector:null!==(n={attributes:{object:{}}}[t])&&void 0!==n?n:{text:{}},label:"Value"}]}:{type:"Constant",name:"Some filters are not shown",value:"Please switch to the CODE EDITOR to access all options."}},Tt=[{name:"options",selector:{object:{}}}],xt=[{name:"data",selector:{object:{}}}],kt=[{name:"method",label:"Sort method",type:"select",options:[["domain","Entity Domain"],["entity_id","Entity ID"],["friendly_name","Friendly Name"],["state","Entity State"],["last_changed","Last Change"],["last_updated","Last Update"],["last_triggered","Last Trigger"]]},{type:"constant",name:"Sorting options:",value:""},{type:"grid",name:"",schema:[{name:"reverse",type:"boolean",label:"Reverse"},{name:"ignore_case",type:"boolean",label:"Ignore case"},{name:"numeric",type:"boolean",label:"Numeric sort"}]}],Ut=[{type:"grid",name:"",schema:[{name:"show_empty",type:"boolean",label:"Show if empty"},{name:"card_param",type:"string",label:"Parameter to populate"}]}];class Pt extends Y{constructor(){super(...arguments),this._selectedTab=0,this._cardGUIMode=!0,this._cardGUIModeAvailable=!0}setConfig(t){this._config=t}connectedCallback(){super.connectedCallback(),(async()=>{var t,e;if(customElements.get("ha-form"))return;const i=await(null===(e=(t=window).loadCardHelpers)||void 0===e?void 0:e.call(t));if(!i)return;const n=await i.createCardElement({type:"entity"});n&&await n.getConfigElement()})()}_handleSwitchTab(t){this._selectedTab=parseInt(t.detail.index,10)}_addFilterGroup(){var t;if(!this._config)return;const e=[...null===(t=this._config.filter)||void 0===t?void 0:t.include];e.push({});const i=Object.assign(Object.assign({},this._config.filter),{include:e});this._config=Object.assign(Object.assign({},this._config),{filter:i}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_deleteFilterGroup(t){var e;if(!this._config)return;const i=[...null===(e=this._config.filter)||void 0===e?void 0:e.include];i.splice(t,1);const n=Object.assign(Object.assign({},this._config.filter),{include:i});this._config=Object.assign(Object.assign({},this._config),{filter:n}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_moveFilterGroup(t,e){var i;if(!this._config)return;const n=[...null===(i=this._config.filter)||void 0===i?void 0:i.include];[n[t],n[t+e]]=[n[t+e],n[t]];const s=Object.assign(Object.assign({},this._config.filter),{include:n});this._config=Object.assign(Object.assign({},this._config),{filter:s}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_addSpecialEntry(){var t;if(!this._config)return;const e=[...null===(t=this._config.filter)||void 0===t?void 0:t.include];e.push({type:""});const i=Object.assign(Object.assign({},this._config.filter),{include:e});this._config=Object.assign(Object.assign({},this._config),{filter:i}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}async _changeSpecialEntry(t,e){var i,n,s,o;if(!this._config)return;const r=null!==(n=Object.assign({},null===(i=e.detail.value)||void 0===i?void 0:i.data))&&void 0!==n?n:{type:""};r.type=null!==(s=r.type)&&void 0!==s?s:"";const a=[...null===(o=this._config.filter)||void 0===o?void 0:o.include];a[t]=r;const l=Object.assign(Object.assign({},this._config.filter),{include:a});this._config=Object.assign(Object.assign({},this._config),{filter:l}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}async _changeGroupOptions(t,e){var i;if(!this._config)return;const n=e.detail.value,s=[...null===(i=this._config.filter)||void 0===i?void 0:i.include];s[t]=Object.assign({},n);const o=Object.assign(Object.assign({},this._config.filter),{include:s});this._config=Object.assign(Object.assign({},this._config),{filter:o}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_changeFilter(t,e){var i;if(!this._config)return;const n=((t,e)=>{var i;const n={};for(let s=0;s<=t.filter.include.length+1;s++)void 0!==e[`key_${s}`]&&(n[e[`key_${s}`]]=null!==(i=e[`value_${s}`])&&void 0!==i?i:"");return void 0!==e.key_new&&(n[e.key_new]=""),n})(this._config,e.detail.value),s=[...null===(i=this._config.filter)||void 0===i?void 0:i.include];s[t]=Object.assign(Object.assign({},n),{options:s[t].options}),this._config.filter=Object.assign(Object.assign({},this._config.filter),{include:s}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_changeSortOptions(t){if(!this._config)return;const e=t.detail.value;this._config=Object.assign(Object.assign({},this._config),{sort:e}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_changeCardOptions(t){if(!this._config)return;const e=t.detail.value;this._config=Object.assign(Object.assign({},this._config),e),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_showEmptyToggle(){if(!this._config)return;const t=!1===this._config.show_empty;this._config=Object.assign(Object.assign({},this._config),{show_empty:t}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_changeCardParam(t){if(!this._config)return;const e=""===t.target.value||"entities"===t.target.value?void 0:t.target.value;this._config=Object.assign(Object.assign({},this._config),{card_param:e}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_getCardConfig(){const t=Object.assign({},this._config.card);return t[this._config.card_param||"entities"]=[],t}_handleCardConfigChanged(t){if(t.stopPropagation(),!this._config)return;const e=Object.assign({},t.detail.config);delete e[this._config.card_param||"entities"],this._config=Object.assign(Object.assign({},this._config),{card:e}),this._cardGUIModeAvailable=t.detail.guiModeAvailable,this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_deleteCard(t){this._config&&(this._config=Object.assign({},this._config),delete this._config.card,this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}})))}_toggleCardMode(t){var e;null===(e=this._cardEditorEl)||void 0===e||e.toggleMode()}_cardGUIModeChanged(t){t.stopPropagation(),this._cardGUIMode=t.detail.guiMode,this._cardGUIModeAvailable=t.detail.guiModeAvailable}render(){return this.hass&&this._config?U` +function t(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(o<3?s(r):o>3?s(e,i,r):s(e,i))||r);return o>3&&r&&Object.defineProperty(e,i,r),r}const e=window,i=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,n=Symbol(),s=new WeakMap;let o=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(i&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=s.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&s.set(e,t))}return t}toString(){return this.cssText}};const r=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,n)=>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[n+1]),t[0]);return new o(i,t,n)},a=i?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new o("string"==typeof t?t:t+"",void 0,n))(e)})(t):t;var l;const d=window,c=d.trustedTypes,h=c?c.emptyScript:"",u=d.reactiveElementPolyfillSupport,v={toAttribute(t,e){switch(e){case Boolean:t=t?h: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}},f=(t,e)=>e!==t&&(e==e||t==t),p={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:f};let g=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const n=this._$Ep(i,e);void 0!==n&&(this._$Ev.set(n,i),t.push(n))})),t}static createProperty(t,e=p){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const s=this[t];this[e]=n,this.requestUpdate(t,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||p}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}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(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const n=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,n)=>{i?t.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((i=>{const n=document.createElement("style"),s=e.litNonce;void 0!==s&&n.setAttribute("nonce",s),n.textContent=i.cssText,t.appendChild(n)}))})(n,this.constructor.elementStyles),n}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=p){var n;const s=this.constructor._$Ep(t,i);if(void 0!==s&&!0===i.reflect){const o=(void 0!==(null===(n=i.converter)||void 0===n?void 0:n.toAttribute)?i.converter:v).toAttribute(e,i.type);this._$El=t,null==o?this.removeAttribute(s):this.setAttribute(s,o),this._$El=null}}_$AK(t,e){var i;const n=this.constructor,s=n._$Ev.get(t);if(void 0!==s&&this._$El!==s){const t=n.getPropertyOptions(s),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:v;this._$El=s,this[s]=o.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let n=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||f)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};var _;g.finalized=!0,g.elementProperties=new Map,g.elementStyles=[],g.shadowRootOptions={mode:"open"},null==u||u({ReactiveElement:g}),(null!==(l=d.reactiveElementVersions)&&void 0!==l?l:d.reactiveElementVersions=[]).push("1.5.0");const m=window,y=m.trustedTypes,b=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,$=`lit$${(Math.random()+"").slice(9)}$`,w="?"+$,E=`<${w}>`,A=document,C=(t="")=>A.createComment(t),S=t=>null===t||"object"!=typeof t&&"function"!=typeof t,O=Array.isArray,j=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,k=/-->/g,x=/>/g,T=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),U=/'/g,P=/"/g,M=/^(?:script|style|textarea|title)$/i,N=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),I=Symbol.for("lit-noChange"),R=Symbol.for("lit-nothing"),H=new WeakMap,D=A.createTreeWalker(A,129,null,!1),F=(t,e)=>{const i=t.length-1,n=[];let s,o=2===e?"":"",r=j;for(let e=0;e"===l[0]?(r=null!=s?s:j,d=-1):void 0===l[1]?d=-2:(d=r.lastIndex-l[2].length,a=l[1],r=void 0===l[3]?T:'"'===l[3]?P:U):r===P||r===U?r=T:r===k||r===x?r=j:(r=T,s=void 0);const h=r===T&&t[e+1].startsWith("/>")?" ":"";o+=r===j?i+E:d>=0?(n.push(a),i.slice(0,d)+"$lit$"+i.slice(d)+$+h):i+$+(-2===d?(n.push(void 0),e):h)}const a=o+(t[i]||"")+(2===e?"":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==b?b.createHTML(a):a,n]};class L{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let s=0,o=0;const r=t.length-1,a=this.parts,[l,d]=F(t,e);if(this.el=L.createElement(l,i),D.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=D.nextNode())&&a.length0){n.textContent=y?y.emptyScript:"";for(let i=0;iO(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.k(t):this.g(t)}O(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}g(t){this._$AH!==R&&S(this._$AH)?this._$AA.nextSibling.data=t:this.T(A.createTextNode(t)),this._$AH=t}$(t){var e;const{values:i,_$litType$:n}=t,s="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=L.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===s)this._$AH.p(i);else{const t=new W(s,this),e=t.v(this.options);t.p(i),this.T(e),this._$AH=t}}_$AC(t){let e=H.get(t.strings);return void 0===e&&H.set(t.strings,e=new L(t)),e}k(t){O(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,n=0;for(const s of t)n===e.length?e.push(i=new z(this.O(C()),this.O(C()),this,this.options)):i=e[n],i._$AI(s),n++;n2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=R}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const s=this.strings;let o=!1;if(void 0===s)t=G(this,t,e,0),o=!S(t)||t!==this._$AH&&t!==I,o&&(this._$AH=t);else{const n=t;let r,a;for(t=s[0],r=0;r{var n,s;const o=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:e;let r=o._$litPart$;if(void 0===r){const t=null!==(s=null==i?void 0:i.renderBefore)&&void 0!==s?s:null;o._$litPart$=r=new z(e.insertBefore(C(),t),t,void 0,null!=i?i:{})}return r._$AI(t),r})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return I}}tt.finalized=!0,tt._$litElement$=!0,null===(Q=globalThis.litElementHydrateSupport)||void 0===Q||Q.call(globalThis,{LitElement:tt});const et=globalThis.litElementPolyfillSupport;null==et||et({LitElement:tt}),(null!==(X=globalThis.litElementVersions)&&void 0!==X?X:globalThis.litElementVersions=[]).push("3.2.2");const it=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function nt(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):it(t,e)}function st(t){return nt({...t,state:!0})}var ot;function rt(){return document.querySelector("hc-main")?document.querySelector("hc-main").hass:document.querySelector("home-assistant")?document.querySelector("home-assistant").hass:void 0}null===(ot=window.HTMLSlotElement)||void 0===ot||ot.prototype.assignedElements;const at="lovelace-player-device-id";function lt(){if(!localStorage[at]){const t=()=>Math.floor(1e5*(1+Math.random())).toString(16).substring(1);window.fully&&"function"==typeof fully.getDeviceId?localStorage[at]=fully.getDeviceId():localStorage[at]=`${t()}${t()}-${t()}${t()}`}return localStorage[at]}let dt=lt();const ct=new URLSearchParams(window.location.search);var ht;function ut(t){return!!String(t).includes("{%")||(!!String(t).includes("{{")||void 0)}ct.get("deviceID")&&null!==(ht=ct.get("deviceID"))&&("clear"===ht?localStorage.removeItem(at):localStorage[at]=ht,dt=lt()),window.cardMod_template_cache=window.cardMod_template_cache||{};const vt=window.cardMod_template_cache;async function ft(t,e,i){const n=rt().connection,s=JSON.stringify([e,i]);let o=vt[s];o?(o.callbacks.has(t)||pt(t),t(o.value),o.callbacks.add(t)):(pt(t),t(""),i=Object.assign({user:rt().user.name,browser:dt,hash:location.hash.substr(1)||""},i),vt[s]=o={template:e,variables:i,value:"",callbacks:new Set([t]),unsubscribe:n.subscribeMessage((t=>function(t,e){const i=vt[t];i&&(i.value=e.result,i.callbacks.forEach((t=>t(e.result))))}(s,t)),{type:"render_template",template:e,variables:i})})}async function pt(t){let e;for(const[i,n]of Object.entries(vt))if(n.callbacks.has(t)){n.callbacks.delete(t),0==n.callbacks.size&&(e=n.unsubscribe,delete vt[i]);break}e&&await(await e)()}var gt;const _t=(t,e)=>{if(t===e)return!0;if(typeof t!=typeof e)return!1;if(!(t instanceof Object&&e instanceof Object))return!1;for(const i in t)if(t.hasOwnProperty(i)){if(!e.hasOwnProperty(i))return!1;if(t[i]!==e[i]){if("object"!=typeof t[i])return!1;if(!_t(t[i],e[i]))return!1}}for(const i in e)if(e.hasOwnProperty(i)&&!t.hasOwnProperty(i))return!1;return!0};window.autoEntities_cache=null!==(gt=window.autoEntities_cache)&&void 0!==gt?gt:{};const mt=window.autoEntities_cache;async function yt(t){var e;return mt.areas=null!==(e=mt.areas)&&void 0!==e?e:await t.callWS({type:"config/area_registry/list"}),mt.areas}function bt(){return mt.areas}async function $t(t){var e;return mt.devices=null!==(e=mt.devices)&&void 0!==e?e:await t.callWS({type:"config/device_registry/list"}),mt.devices}function wt(){return mt.devices}async function Et(t){var e;return mt.entities=null!==(e=mt.entities)&&void 0!==e?e:await t.callWS({type:"config/entity_registry/list"}),mt.entities}function At(){return mt.entities}const Ct=/([mhd])\s+ago\s*$/i,St="m ago";function Ot(t,e){if("string"==typeof t&&t.startsWith("$$")&&(t=t.substring(2),e=JSON.stringify(e)),"string"==typeof e&&"string"==typeof t&&(t.startsWith("/")&&t.endsWith("/")||-1!==t.indexOf("*"))){return t.startsWith("/")||(t=`/^${t=t.replace(/\./g,".").replace(/\*/g,".*")}$/`),new RegExp(t.slice(1,-1)).test(e)}if("string"==typeof t){const i=Ct.exec(t);if(i){t=t.replace(i[0],"");e=((new Date).getTime()-new Date(e).getTime())/6e4;const n=i[1];"h"===n?e/=60:"d"===n&&(e=e/60/24)}}if("string"==typeof t){if(t.startsWith("<="))return parseFloat(e)<=parseFloat(t.substring(2));if(t.startsWith(">="))return parseFloat(e)>=parseFloat(t.substring(2));if(t.startsWith("<"))return parseFloat(e)"))return parseFloat(e)>parseFloat(t.substring(1));if(t.startsWith("!"))return parseFloat(e)!=parseFloat(t.substring(1));if(t.startsWith("="))return parseFloat(e)==parseFloat(t.substring(1))}return t===e}const jt={options:async()=>!0,sort:async()=>!0,domain:async(t,e,i)=>Ot(e,i.entity_id.split(".")[0]),entity_id:async(t,e,i)=>Ot(e,i.entity_id),state:async(t,e,i)=>Ot(e,i.state),name:async(t,e,i)=>{var n;return Ot(e,null===(n=i.attributes)||void 0===n?void 0:n.friendly_name)},group:async(t,e,i)=>{var n,s,o;return null===(o=null===(s=null===(n=t.states[e])||void 0===n?void 0:n.attributes)||void 0===s?void 0:s.entity_id)||void 0===o?void 0:o.includes(i.entity_id)},attributes:async(t,e,i)=>{for(const[t,n]of Object.entries(e)){let e=t.split(" ")[0],s=i.attributes;for(const t of e.split(":"))s=s?s[t]:void 0;if(void 0===s||!Ot(n,s))return!1}return!0},not:async(t,e,i)=>!await kt(t,e,i.entity_id),and:async(t,e,i)=>{for(const n of e)if(!await kt(t,n,i.entity_id))return!1;return!0},or:async(t,e,i)=>{for(const n of e)if(await kt(t,n,i.entity_id))return!0;return!1},device:async(t,e,i)=>{const n=(await Et(t)).find((t=>t.entity_id===i.entity_id));if(!n)return!1;const s=(await $t(t)).find((t=>t.id===n.device_id));return!!s&&(Ot(e,s.name_by_user)||Ot(e,s.name))},device_manufacturer:async(t,e,i)=>{const n=(await Et(t)).find((t=>t.entity_id===i.entity_id));if(!n)return!1;const s=(await $t(t)).find((t=>t.id===n.device_id));return!!s&&Ot(e,s.manufacturer)},device_model:async(t,e,i)=>{const n=(await Et(t)).find((t=>t.entity_id===i.entity_id));if(!n)return!1;const s=(await $t(t)).find((t=>t.id===n.device_id));return!!s&&Ot(e,s.model)},area:async(t,e,i)=>{const n=(await Et(t)).find((t=>t.entity_id===i.entity_id));if(!n)return!1;let s=(await yt(t)).find((t=>t.area_id===n.area_id));if(s)return Ot(e,s.name)||Ot(e,s.area_id);const o=(await $t(t)).find((t=>t.id===n.device_id));return!!o&&(s=(await yt(t)).find((t=>t.area_id===o.area_id)),!!s&&(Ot(e,s.name)||Ot(e,s.area_id)))},entity_category:async(t,e,i)=>{const n=(await Et(t)).find((t=>t.entity_id===i.entity_id));return!!n&&Ot(e,n.entity_category)},last_changed:async(t,e,i)=>(Ct.test(e)||(e+=St),Ot(e,i.last_changed)),last_updated:async(t,e,i)=>(Ct.test(e)||(e+=St),Ot(e,i.last_updated)),last_triggered:async(t,e,i)=>null!=i.attributes.last_triggered&&(Ct.test(e)||(e+=St),Ot(e,i.attributes.last_triggered)),integration:async(t,e,i)=>{const n=(await Et(t)).find((t=>t.entity_id===i.entity_id));return!!n&&Ot(e,n.platform)},hidden_by:async(t,e,i)=>{const n=(await Et(t)).find((t=>t.entity_id===i.entity_id));return!!n&&Ot(e,n.hidden_by)}};async function kt(t,e,i){var n;if(!t.states[i])return!1;for(let[s,o]of Object.entries(e))if(s=s.trim().split(" ")[0].trim(),!await(null===(n=jt[s])||void 0===n?void 0:n.call(jt,t,o,t.states[i])))return!1;return!0}function xt(t,e,i){var n,s,o,r;const[a,l]=i.reverse?[-1,1]:[1,-1];return i.ignore_case&&(t=null!==(s=null===(n=null==t?void 0:t.toLowerCase)||void 0===n?void 0:n.call(t))&&void 0!==s?s:t,e=null!==(r=null===(o=null==e?void 0:e.toLowerCase)||void 0===o?void 0:o.call(e))&&void 0!==r?r:e),i.numeric&&(isNaN(parseFloat(t))&&isNaN(parseFloat(e))||(t=isNaN(parseFloat(t))?void 0:parseFloat(t),e=isNaN(parseFloat(e))?void 0:parseFloat(e))),void 0===t&&void 0===e?0:void 0===t?a:void 0===e?l:i.numeric?t===e?0:(i.reverse?-1:1)*(t0,domain:(t,e,i)=>{var n,s;return xt(null===(n=null==t?void 0:t.entity_id)||void 0===n?void 0:n.split(".")[0],null===(s=null==e?void 0:e.entity_id)||void 0===s?void 0:s.split(".")[0],i)},entity_id:(t,e,i)=>xt(null==t?void 0:t.entity_id,null==e?void 0:e.entity_id,i),friendly_name:(t,e,i)=>{var n,s,o,r;return xt((null===(n=null==t?void 0:t.attributes)||void 0===n?void 0:n.friendly_name)||(null===(s=null==t?void 0:t.entity_id)||void 0===s?void 0:s.split(".")[1]),(null===(o=null==e?void 0:e.attributes)||void 0===o?void 0:o.friendly_name)||(null===(r=null==e?void 0:e.entity_id)||void 0===r?void 0:r.split(".")[1]),i)},name:(t,e,i)=>{var n,s,o,r;return xt((null===(n=null==t?void 0:t.attributes)||void 0===n?void 0:n.friendly_name)||(null===(s=null==t?void 0:t.entity_id)||void 0===s?void 0:s.split(".")[1]),(null===(o=null==e?void 0:e.attributes)||void 0===o?void 0:o.friendly_name)||(null===(r=null==e?void 0:e.entity_id)||void 0===r?void 0:r.split(".")[1]),i)},device:(t,e,i)=>{var n,s;const o=At().find((e=>e.entity_id===t.entity_id)),r=At().find((t=>t.entity_id===e.entity_id));if(!o||!r)return 0;const a=wt().find((t=>t.id===o.device_id)),l=wt().find((t=>t.id===r.device_id));return a&&l?xt(null!==(n=a.name_by_user)&&void 0!==n?n:a.name,null!==(s=l.name_by_user)&&void 0!==s?s:l.name,i):0},area:(t,e,i)=>{const n=At().find((e=>e.entity_id===t.entity_id)),s=At().find((t=>t.entity_id===e.entity_id));if(!n||!s)return 0;const o=wt().find((t=>t.id===n.device_id)),r=wt().find((t=>t.id===s.device_id));if(!o||!r)return 0;const a=bt().find((t=>t.area_id===o.area_id)),l=bt().find((t=>t.area_id===r.area_id));return a&&l?xt(a.name,l.name,i):0},state:(t,e,i)=>xt(null==t?void 0:t.state,null==e?void 0:e.state,i),attribute:(t,e,i)=>{var n;const[s,o]=(null==i?void 0:i.reverse)?[-1,1]:[1,-1];let r=null==t?void 0:t.attributes,a=null==e?void 0:e.attributes;for(const t of null===(n=null==i?void 0:i.attribute)||void 0===n?void 0:n.split(":")){if(void 0===r&&void 0===a)return 0;if(void 0===r)return s;if(void 0===a)return o;[r,a]=[r[t],a[t]]}return xt(r,a,i)},last_changed:(t,e,i)=>{const[n,s]=(null==i?void 0:i.reverse)?[-1,1]:[1,-1];return null==(null==t?void 0:t.last_changed)&&null==(null==e?void 0:e.last_changed)?0:null==(null==t?void 0:t.last_changed)?n:null==(null==e?void 0:e.last_changed)?s:(i.numeric=!0,xt(new Date(null==t?void 0:t.last_changed).getTime(),new Date(null==e?void 0:e.last_changed).getTime(),i))},last_updated:(t,e,i)=>{const[n,s]=(null==i?void 0:i.reverse)?[-1,1]:[1,-1];return null==(null==t?void 0:t.last_updated)&&null==(null==e?void 0:e.last_updated)?0:null==(null==t?void 0:t.last_updated)?n:null==(null==e?void 0:e.last_updated)?s:(i.numeric=!0,xt(new Date(null==t?void 0:t.last_updated).getTime(),new Date(null==e?void 0:e.last_updated).getTime(),i))},last_triggered:(t,e,i)=>{var n,s,o,r,a,l;const[d,c]=(null==i?void 0:i.reverse)?[-1,1]:[1,-1];return null==(null===(n=null==t?void 0:t.attributes)||void 0===n?void 0:n.last_triggered)&&null==(null===(s=null==e?void 0:e.attributes)||void 0===s?void 0:s.last_triggered)?0:null==(null===(o=null==t?void 0:t.attributes)||void 0===o?void 0:o.last_triggered)?d:null==(null===(r=null==e?void 0:e.attributes)||void 0===r?void 0:r.last_triggered)?c:(i.numeric=!0,xt(new Date(null===(a=null==t?void 0:t.attributes)||void 0===a?void 0:a.last_triggered).getTime(),new Date(null===(l=null==e?void 0:e.attributes)||void 0===l?void 0:l.last_triggered).getTime(),i))}};function Ut(t,e){return function(i,n){var s,o;return null!==(o=null===(s=Tt[e.method])||void 0===s?void 0:s.call(Tt,t.states[i.entity],t.states[n.entity],e))&&void 0!==o?o:0}}var Pt="1.12.1";const Mt=["none","domain","entity_id","state","name","group","area","device","device_manufacturer","device_model","attributes","last_changed","last_updated","last_triggered","entity_category","integration","hidden_by"],Nt={type:"select",options:[["domain","Entity Domain"],["entity_id","Entity ID"],["state","Entity State"],["name","Friendly Name"],["group","Member of Group"],["area","In area"],["device","Device"],["device_manufacturer","Device Manufacturer"],["device_model","Device Model"],["attributes","Attribute"],["last_changed","Last Change"],["last_updated","Last Update"],["last_triggered","Last Trigger"],["entity_category","Entity Category"],["integration","Governing integration"],["hidden_by","Hidden by"]]},It=([t,e],i)=>{var n;return Mt.includes(t)?{type:"grid",name:"",schema:[Object.assign(Object.assign({},Nt),{name:`key_${i}`,label:"Property"}),{name:`value_${i}`,selector:null!==(n={attributes:{object:{}}}[t])&&void 0!==n?n:{text:{}},label:"Value"}]}:{type:"Constant",name:"Some filters are not shown",value:"Please switch to the CODE EDITOR to access all options."}},Rt=[{name:"options",selector:{object:{}}}],Ht=[{name:"data",selector:{object:{}}}],Dt=[{name:"method",label:"Sort method",type:"select",options:[["domain","Entity Domain"],["entity_id","Entity ID"],["friendly_name","Friendly Name"],["state","Entity State"],["last_changed","Last Change"],["last_updated","Last Update"],["last_triggered","Last Trigger"]]},{type:"constant",name:"Sorting options:",value:""},{type:"grid",name:"",schema:[{name:"reverse",type:"boolean",label:"Reverse"},{name:"ignore_case",type:"boolean",label:"Ignore case"},{name:"numeric",type:"boolean",label:"Numeric sort"},{name:"ip",type:"boolean",label:"IP address short"}]}],Ft=[{type:"grid",name:"",schema:[{name:"show_empty",type:"boolean",label:"Show if empty"},{name:"card_param",type:"string",label:"Parameter to populate"}]}];class Lt extends tt{constructor(){super(...arguments),this._selectedTab=0,this._cardGUIMode=!0,this._cardGUIModeAvailable=!0}setConfig(t){this._config=t}connectedCallback(){super.connectedCallback(),(async()=>{var t,e;if(customElements.get("ha-form"))return;const i=await(null===(e=(t=window).loadCardHelpers)||void 0===e?void 0:e.call(t));if(!i)return;const n=await i.createCardElement({type:"entity"});n&&await n.getConfigElement()})()}_handleSwitchTab(t){this._selectedTab=parseInt(t.detail.index,10)}_addFilterGroup(){var t;if(!this._config)return;const e=[...null===(t=this._config.filter)||void 0===t?void 0:t.include];e.push({});const i=Object.assign(Object.assign({},this._config.filter),{include:e});this._config=Object.assign(Object.assign({},this._config),{filter:i}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_deleteFilterGroup(t){var e;if(!this._config)return;const i=[...null===(e=this._config.filter)||void 0===e?void 0:e.include];i.splice(t,1);const n=Object.assign(Object.assign({},this._config.filter),{include:i});this._config=Object.assign(Object.assign({},this._config),{filter:n}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_moveFilterGroup(t,e){var i;if(!this._config)return;const n=[...null===(i=this._config.filter)||void 0===i?void 0:i.include];[n[t],n[t+e]]=[n[t+e],n[t]];const s=Object.assign(Object.assign({},this._config.filter),{include:n});this._config=Object.assign(Object.assign({},this._config),{filter:s}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_addSpecialEntry(){var t;if(!this._config)return;const e=[...null===(t=this._config.filter)||void 0===t?void 0:t.include];e.push({type:""});const i=Object.assign(Object.assign({},this._config.filter),{include:e});this._config=Object.assign(Object.assign({},this._config),{filter:i}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}async _changeSpecialEntry(t,e){var i,n,s,o;if(!this._config)return;const r=null!==(n=Object.assign({},null===(i=e.detail.value)||void 0===i?void 0:i.data))&&void 0!==n?n:{type:""};r.type=null!==(s=r.type)&&void 0!==s?s:"";const a=[...null===(o=this._config.filter)||void 0===o?void 0:o.include];a[t]=r;const l=Object.assign(Object.assign({},this._config.filter),{include:a});this._config=Object.assign(Object.assign({},this._config),{filter:l}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}async _changeGroupOptions(t,e){var i;if(!this._config)return;const n=e.detail.value,s=[...null===(i=this._config.filter)||void 0===i?void 0:i.include];s[t]=Object.assign({},n);const o=Object.assign(Object.assign({},this._config.filter),{include:s});this._config=Object.assign(Object.assign({},this._config),{filter:o}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_changeFilter(t,e){var i;if(!this._config)return;const n=((t,e)=>{var i;const n={};for(let s=0;s<=t.filter.include.length+1;s++)void 0!==e[`key_${s}`]&&(n[e[`key_${s}`]]=null!==(i=e[`value_${s}`])&&void 0!==i?i:"");return void 0!==e.key_new&&(n[e.key_new]=""),n})(this._config,e.detail.value),s=[...null===(i=this._config.filter)||void 0===i?void 0:i.include];s[t]=Object.assign(Object.assign({},n),{options:s[t].options}),this._config.filter=Object.assign(Object.assign({},this._config.filter),{include:s}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_changeSortOptions(t){if(!this._config)return;const e=t.detail.value;this._config=Object.assign(Object.assign({},this._config),{sort:e}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_changeCardOptions(t){if(!this._config)return;const e=t.detail.value;this._config=Object.assign(Object.assign({},this._config),e),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_showEmptyToggle(){if(!this._config)return;const t=!1===this._config.show_empty;this._config=Object.assign(Object.assign({},this._config),{show_empty:t}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_changeCardParam(t){if(!this._config)return;const e=""===t.target.value||"entities"===t.target.value?void 0:t.target.value;this._config=Object.assign(Object.assign({},this._config),{card_param:e}),this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_getCardConfig(){const t=Object.assign({},this._config.card);return t[this._config.card_param||"entities"]=[],t}_handleCardConfigChanged(t){if(t.stopPropagation(),!this._config)return;const e=Object.assign({},t.detail.config);delete e[this._config.card_param||"entities"],this._config=Object.assign(Object.assign({},this._config),{card:e}),this._cardGUIModeAvailable=t.detail.guiModeAvailable,this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}}))}_deleteCard(t){this._config&&(this._config=Object.assign({},this._config),delete this._config.card,this.dispatchEvent(new CustomEvent("config-changed",{detail:{config:this._config}})))}_toggleCardMode(t){var e;null===(e=this._cardEditorEl)||void 0===e||e.toggleMode()}_cardGUIModeChanged(t){t.stopPropagation(),this._cardGUIMode=t.detail.guiMode,this._cardGUIModeAvailable=t.detail.guiModeAvailable}render(){return this.hass&&this._config?N`
- `:U``}_renderHelp(){return U` + `:N``}_renderHelp(){return N`
- `}_renderFilterEditor(){var t;return(null===(t=this._config.filter)||void 0===t?void 0:t.template)||this._config.entities?U` + `}_renderFilterEditor(){var t;return(null===(t=this._config.filter)||void 0===t?void 0:t.template)||this._config.entities?N`

Your filter method is not handled by the GUI editor.

Please switch to the CODE EDITOR to access all options.

- `:U` - ${this._config.filter.include.map(((t,e)=>U` + `:N` + ${this._config.filter.include.map(((t,e)=>N`
- ${void 0===t.type?U` + ${void 0===t.type?N` {const e=Object.assign({},t);return delete e.options,[...Object.entries(e).map(jt),Object.assign(Object.assign({},Ot),{name:"key_new",label:"Select property"})]})(t)} + .schema=${(t=>{const e=Object.assign({},t);return delete e.options,[...Object.entries(e).map(It),Object.assign(Object.assign({},Nt),{name:"key_new",label:"Select property"})]})(t)} .data=${(t=>{const e=Object.assign({},t);return delete e.options,Object.assign({},...Object.entries(e).map((([t,e],i)=>({[`key_${i}`]:t,[`value_${i}`]:e}))))})(t)} .computeLabel=${t=>{var e;return null!==(e=t.label)&&void 0!==e?e:t.name}} @value-changed=${t=>this._changeFilter(e,t)} @@ -71,14 +71,14 @@ function t(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPro

Options:

this._changeGroupOptions(e,t)} > - `:U` + `:N` this._changeSpecialEntry(e,t)} > @@ -91,26 +91,26 @@ function t(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPro Add non-filter entry - `}_renderSortEditor(){var t;const e=null!==(t=this._config.sort)&&void 0!==t?t:{method:"none"};return U` + `}_renderSortEditor(){var t;const e=null!==(t=this._config.sort)&&void 0!==t?t:{method:"none"};return N`
{var e;return null!==(e=t.label)&&void 0!==e?e:t.name}} @value-changed=${this._changeSortOptions} >
- `}_renderCardEditor(){var t;const e=Object.assign({},this._config);return e.show_empty=null===(t=e.show_empty)||void 0===t||t,U` + `}_renderCardEditor(){var t;const e=Object.assign({},this._config);return e.show_empty=null===(t=e.show_empty)||void 0===t||t,N`
{var e;return null!==(e=t.label)&&void 0!==e?e:t.name}} .data=${e} @value-changed=${this._changeCardOptions} > - ${this._config.card?U` + ${this._config.card?N`
- `:U` + `:N` `}
- `}static get styles(){return[o` + `}static get styles(){return[r` mwc-tab-bar { border-bottom: 1px solid var(--divider-color); } @@ -169,4 +169,4 @@ function t(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPro a { color: var(--primary-color); } - `]}}t([et()],Pt.prototype,"_config",void 0),t([tt()],Pt.prototype,"lovelace",void 0),t([tt()],Pt.prototype,"hass",void 0),t([et()],Pt.prototype,"_selectedTab",void 0),t([et()],Pt.prototype,"_cardGUIMode",void 0),t([et()],Pt.prototype,"_cardGUIModeAvailable",void 0),t([function(t,e){return(({finisher:t,descriptor:e})=>(i,n)=>{var s;if(void 0===n){const n=null!==(s=i.originalKey)&&void 0!==s?s:i.key,o=null!=e?{kind:"method",placement:"prototype",key:n,descriptor:e(i.key)}:{...i,key:n};return null!=t&&(o.finisher=function(e){t(e,n)}),o}{const s=i.constructor;void 0!==e&&Object.defineProperty(i,n,e(n)),null==t||t(s,n)}})({descriptor:i=>{const n={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof i?Symbol():"__"+i;n.get=function(){var i,n;return void 0===this[e]&&(this[e]=null!==(n=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==n?n:null),this[e]}}return n}})}("hui-card-element-editor")],Pt.prototype,"_cardEditorEl",void 0),customElements.define("auto-entities-editor",Pt),window.customCards=window.customCards||[],window.customCards.push({type:"auto-entities",name:"Auto Entities",preview:!1,description:"Entity Filter on Steroids. Auto Entities allows you to fill other cards with entities automatically, based on a number of attributes."}),window.queueMicrotask=window.queueMicrotask||(t=>window.setTimeout(t,1));class Mt extends Y{constructor(){super(...arguments),this._updateCooldown={timer:void 0,rerun:!1},this._renderer=t=>{this._template="string"==typeof t?t.split(/[\s,]+/):t}}static getConfigElement(){return document.createElement("auto-entities-editor")}static getStubConfig(){return{card:{type:"entities"},filter:{include:[],exclude:[]}}}setConfig(t){var e,i;if(!t)throw new Error("No configuration.");if(!(null===(e=t.card)||void 0===e?void 0:e.type))throw new Error("No card type specified.");if(!t.filter&&!t.entities)throw new Error("No filters specified.");t=JSON.parse(JSON.stringify(t)),this._config=t,(null===(i=this._config.filter)||void 0===i?void 0:i.template)&&ct(this._config.filter.template)&&ht(this._renderer,this._config.filter.template,{config:t}),this._cardBuilt=new Promise((t=>this._cardBuiltResolve=t)),queueMicrotask((()=>this.update_all()))}connectedCallback(){var t,e;super.connectedCallback(),(null===(e=null===(t=this._config)||void 0===t?void 0:t.filter)||void 0===e?void 0:e.template)&&ct(this._config.filter.template)&&ht(this._renderer,this._config.filter.template,{config:this._config})}disconnectedCallback(){super.disconnectedCallback(),ut(this._renderer)}async update_all(){if(this.card&&(this.card.hass=this.hass),this._updateCooldown.timer)return void(this._updateCooldown.rerun=!0);this._updateCooldown.rerun=!1,this._updateCooldown.timer=window.setTimeout((()=>{this._updateCooldown.timer=void 0,this._updateCooldown.rerun&&this.update_all()}),500);const t=await this.update_entities();this.update_card(t)}async update_card(t){var e,i,n,s,o,r,a,l,c,d,h,u;if(this._entities&&Ct(t,this._entities)&&Ct(this._cardConfig,this._config.card))return;const v=(null===(e=this._cardConfig)||void 0===e?void 0:e.type)!==this._config.card.type;this._entities=t,this._cardConfig=JSON.parse(JSON.stringify(this._config.card));const g=Object.assign({[this._config.card_param||"entities"]:t},this._config.card);if(!this.card||v){const t=await window.loadCardHelpers();console.oldError=console.oldError||[];const e=console.error;console.oldError.push(e),console.error=(...t)=>{var i,n,s,o,r,a;3===t.length&&t[2].message&&((null===(n=(i=t[2].message).startsWith)||void 0===n?void 0:n.call(i,"Entities"))||(null===(o=(s=t[2].message).startsWith)||void 0===o?void 0:o.call(s,"Either entities"))||(null===(a=(r=t[2].message).endsWith)||void 0===a?void 0:a.call(r,"entity")))||e(...t)};try{if(this.card=await t.createCardElement(g),"hui-error-card"===this.card.localName){const t=this.card;await customElements.whenDefined("hui-error-card");let e=10;for(;!t._config&&e;)await new Promise((t=>window.setTimeout(t,100))),e--;if((null===(s=null===(n=null===(i=t._config)||void 0===i?void 0:i.error)||void 0===n?void 0:n.startsWith)||void 0===s?void 0:s.call(n,"Entities"))||(null===(a=null===(r=null===(o=t._config)||void 0===o?void 0:o.error)||void 0===r?void 0:r.startsWith)||void 0===a?void 0:a.call(r,"Either entities"))||(null===(d=null===(c=null===(l=t._config)||void 0===l?void 0:l.error)||void 0===c?void 0:c.endsWith)||void 0===d?void 0:d.call(c,"entity")))return this.card=void 0,this._entities=void 0,this._cardConfig=void 0,void(null===(h=this._cardBuiltResolve)||void 0===h||h.call(this))}}finally{console.error=console.oldError.pop()}}else this.card.setConfig(g);null===(u=this._cardBuiltResolve)||void 0===u||u.call(this),this.card.hass=this.hass;const p=0===t.length&&!1===this._config.show_empty;this.style.display=p?"none":null,this.style.margin=p?"0":null,this.card.requestUpdate&&(await this.updateComplete,this.card.requestUpdate())}async update_entities(){var t,e,i,n,s,o;const r=t=>t?"string"==typeof t?{entity:t.trim()}:t:null;let a=[...(null===(e=null===(t=this._config)||void 0===t?void 0:t.entities)||void 0===e?void 0:e.map(r))||[]];if(!this.hass)return a;if(this._template&&(a=a.concat(this._template.map(r))),a=a.filter(Boolean),null===(i=this._config.filter)||void 0===i?void 0:i.include){const t=Object.keys(this.hass.states).map(r);for(const e of this._config.filter.include){if(e.type){a.push(e);continue}let i=[];for(const n of t)await bt(this.hass,e,n.entity)&&i.push(JSON.parse(JSON.stringify(Object.assign(Object.assign({},n),e.options)).replace(/this.entity_id/g,n.entity)));if(e.sort&&(i=i.sort(Et(this.hass,e.sort)),e.sort.count)){const t=null!==(n=e.sort.first)&&void 0!==n?n:0;i=i.slice(t,t+e.sort.count)}a=a.concat(i)}}if(null===(s=this._config.filter)||void 0===s?void 0:s.exclude)for(const t of this._config.filter.exclude){const e=[];for(const i of a)void 0!==i.entity&&await bt(this.hass,t,i.entity)||e.push(i);a=e}if(this._config.sort&&(a=a.sort(Et(this.hass,this._config.sort)),this._config.sort.count)){const t=null!==(o=this._config.sort.first)&&void 0!==o?o:0;a=a.slice(t,t+this._config.sort.count)}if(this._config.unique){let t=[];for(const e of a)"entity"===this._config.unique&&e.entity&&t.some((t=>t.entity===e.entity))||t.some((t=>Ct(t,e)))||t.push(e);a=t}return a}async updated(t){(t.has("_template")||t.has("hass")&&this.hass)&&queueMicrotask((()=>this.update_all()))}createRenderRoot(){return this}render(){return U`${this.card}`}async getCardSize(){var t,e;let i=0;return await this._cardBuilt,this.card&&this.card.getCardSize&&(i=await this.card.getCardSize()),1===i&&(null===(t=this._entities)||void 0===t?void 0:t.length)&&(i=this._entities.length),0===i&&(null===(e=this._config.filter)||void 0===e?void 0:e.include)&&(i=Object.keys(this._config.filter.include).length),i||5}}t([tt()],Mt.prototype,"_config",void 0),t([tt()],Mt.prototype,"hass",void 0),t([tt()],Mt.prototype,"card",void 0),t([tt()],Mt.prototype,"_template",void 0),customElements.get("auto-entities")||(customElements.define("auto-entities",Mt),console.groupCollapsed(`%cAUTO-ENTITIES ${At} IS INSTALLED`,"color: green; font-weight: bold"),console.log("Readme:","https://github.com/thomasloven/lovelace-auto-entities"),console.groupEnd()); + `]}}t([st()],Lt.prototype,"_config",void 0),t([nt()],Lt.prototype,"lovelace",void 0),t([nt()],Lt.prototype,"hass",void 0),t([st()],Lt.prototype,"_selectedTab",void 0),t([st()],Lt.prototype,"_cardGUIMode",void 0),t([st()],Lt.prototype,"_cardGUIModeAvailable",void 0),t([function(t,e){return(({finisher:t,descriptor:e})=>(i,n)=>{var s;if(void 0===n){const n=null!==(s=i.originalKey)&&void 0!==s?s:i.key,o=null!=e?{kind:"method",placement:"prototype",key:n,descriptor:e(i.key)}:{...i,key:n};return null!=t&&(o.finisher=function(e){t(e,n)}),o}{const s=i.constructor;void 0!==e&&Object.defineProperty(i,n,e(n)),null==t||t(s,n)}})({descriptor:i=>{const n={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof i?Symbol():"__"+i;n.get=function(){var i,n;return void 0===this[e]&&(this[e]=null!==(n=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==n?n:null),this[e]}}return n}})}("hui-card-element-editor")],Lt.prototype,"_cardEditorEl",void 0),customElements.define("auto-entities-editor",Lt),window.customCards=window.customCards||[],window.customCards.push({type:"auto-entities",name:"Auto Entities",preview:!1,description:"Entity Filter on Steroids. Auto Entities allows you to fill other cards with entities automatically, based on a number of attributes."}),window.queueMicrotask=window.queueMicrotask||(t=>window.setTimeout(t,1));const Gt=["section","divider"];class Wt extends tt{constructor(){super(...arguments),this.empty=!1,this._updateCooldown={timer:void 0,rerun:!1},this._renderer=t=>{this._template="string"==typeof t?t.split(/[\s,]+/):t}}static getConfigElement(){return document.createElement("auto-entities-editor")}static getStubConfig(){return{card:{type:"entities"},filter:{include:[],exclude:[]}}}setConfig(t){var e,i;if(!t)throw new Error("No configuration.");if(!(null===(e=t.card)||void 0===e?void 0:e.type))throw new Error("No card type specified.");if(!t.filter&&!t.entities)throw new Error("No filters specified.");t=JSON.parse(JSON.stringify(t)),this._config=t,(null===(i=this._config.filter)||void 0===i?void 0:i.template)&&ut(this._config.filter.template)&&ft(this._renderer,this._config.filter.template,{config:t}),this._cardBuilt=new Promise((t=>this._cardBuiltResolve=t)),queueMicrotask((()=>this.build_else())),queueMicrotask((()=>this.update_all()))}connectedCallback(){var t,e;super.connectedCallback(),(null===(e=null===(t=this._config)||void 0===t?void 0:t.filter)||void 0===e?void 0:e.template)&&ut(this._config.filter.template)&&ft(this._renderer,this._config.filter.template,{config:this._config})}disconnectedCallback(){super.disconnectedCallback(),pt(this._renderer)}async update_all(){if(this.card&&(this.card.hass=this.hass),this.else&&(this.else.hass=this.hass),this._updateCooldown.timer)return void(this._updateCooldown.rerun=!0);this._updateCooldown.rerun=!1,this._updateCooldown.timer=window.setTimeout((()=>{this._updateCooldown.timer=void 0,this._updateCooldown.rerun&&this.update_all()}),500);const t=await this.update_entities();this.update_card(t)}async build_else(){if(void 0===this._config.else)return;const t=await window.loadCardHelpers();this.else=await t.createCardElement(this._config.else),this.else.hass=this.hass}async update_card(t){var e,i,n,s,o,r,a,l,d,c,h,u;if(this._entities&&_t(t,this._entities)&&_t(this._cardConfig,this._config.card))return;const v=(null===(e=this._cardConfig)||void 0===e?void 0:e.type)!==this._config.card.type;this._entities=t,this._cardConfig=JSON.parse(JSON.stringify(this._config.card));const f=Object.assign({[this._config.card_param||"entities"]:t},this._config.card);if(!this.card||v){const t=await window.loadCardHelpers();console.oldError=console.oldError||[];const e=console.error;console.oldError.push(e),console.error=(...t)=>{var i,n,s,o,r,a;3===t.length&&t[2].message&&((null===(n=(i=t[2].message).startsWith)||void 0===n?void 0:n.call(i,"Entities"))||(null===(o=(s=t[2].message).startsWith)||void 0===o?void 0:o.call(s,"Either entities"))||(null===(a=(r=t[2].message).endsWith)||void 0===a?void 0:a.call(r,"entity")))||e(...t)};try{if(this.card=await t.createCardElement(f),"hui-error-card"===this.card.localName){const t=this.card;await customElements.whenDefined("hui-error-card");let e=10;for(;!t._config&&e;)await new Promise((t=>window.setTimeout(t,100))),e--;if((null===(s=null===(n=null===(i=t._config)||void 0===i?void 0:i.error)||void 0===n?void 0:n.startsWith)||void 0===s?void 0:s.call(n,"Entities"))||(null===(a=null===(r=null===(o=t._config)||void 0===o?void 0:o.error)||void 0===r?void 0:r.startsWith)||void 0===a?void 0:a.call(r,"Either entities"))||(null===(c=null===(d=null===(l=t._config)||void 0===l?void 0:l.error)||void 0===d?void 0:d.endsWith)||void 0===c?void 0:c.call(d,"entity")))return this.card=void 0,this._entities=void 0,this._cardConfig=void 0,void(null===(h=this._cardBuiltResolve)||void 0===h||h.call(this))}}finally{console.error=console.oldError.pop()}}else this.card.setConfig(f);null===(u=this._cardBuiltResolve)||void 0===u||u.call(this),this.card.hass=this.hass,this.empty=0===t.length||t.every((t=>Gt.includes(t.type)));const p=this.empty&&!1===this._config.show_empty&&void 0===this._config.else;this.style.display=p?"none":null,this.style.margin=p?"0":null,this.card.requestUpdate&&(await this.updateComplete,this.card.requestUpdate())}async update_entities(){var t,e,i,n,s,o,r,a;const l=t=>t?"string"==typeof t?{entity:t.trim()}:t:null;let d=[...(null===(e=null===(t=this._config)||void 0===t?void 0:t.entities)||void 0===e?void 0:e.map(l))||[]];if(!this.hass)return d;if(this._template&&(d=d.concat(this._template.map(l))),d=d.filter(Boolean),null===(i=this._config.filter)||void 0===i?void 0:i.include){const t=Object.keys(this.hass.states).map(l);for(const e of this._config.filter.include){if(e.type){d.push(e);continue}let i=[];for(const n of t)await kt(this.hass,e,n.entity)&&i.push(JSON.parse(JSON.stringify(Object.assign(Object.assign({},n),e.options)).replace(/this.entity_id/g,n.entity)));if(e.sort&&(await Et(this.hass),await $t(this.hass),await yt(this.hass),i=i.sort(Ut(this.hass,e.sort)),null!==(n=e.sort.count)&&void 0!==n?n:e.sort.first)){const t=null!==(s=e.sort.first)&&void 0!==s?s:0;i=i.slice(t,t+(null!==(o=e.sort.count)&&void 0!==o?o:1/0))}d=d.concat(i)}}if(null===(r=this._config.filter)||void 0===r?void 0:r.exclude)for(const t of this._config.filter.exclude){const e=[];for(const i of d)void 0!==i.entity&&await kt(this.hass,t,i.entity)||e.push(i);d=e}if(this._config.sort&&(d=d.sort(Ut(this.hass,this._config.sort)),this._config.sort.count)){const t=null!==(a=this._config.sort.first)&&void 0!==a?a:0;d=d.slice(t,t+this._config.sort.count)}if(this._config.unique){let t=[];for(const e of d)"entity"===this._config.unique&&e.entity&&t.some((t=>t.entity===e.entity))||t.some((t=>_t(t,e)))||t.push(e);d=t}return d}async updated(t){(t.has("_template")||t.has("hass")&&this.hass)&&queueMicrotask((()=>this.update_all()))}createRenderRoot(){return this}render(){return N`${this.empty&&(!1===this._config.show_empty||this._config.else)?this.else:this.card}`}async getCardSize(){var t,e;let i=0;return await this._cardBuilt,this.card&&this.card.getCardSize&&(i=await this.card.getCardSize()),1===i&&(null===(t=this._entities)||void 0===t?void 0:t.length)&&(i=this._entities.length),0===i&&(null===(e=this._config.filter)||void 0===e?void 0:e.include)&&(i=Object.keys(this._config.filter.include).length),i||5}}t([nt()],Wt.prototype,"_config",void 0),t([nt()],Wt.prototype,"hass",void 0),t([nt()],Wt.prototype,"card",void 0),t([nt()],Wt.prototype,"else",void 0),t([nt()],Wt.prototype,"_template",void 0),t([st()],Wt.prototype,"empty",void 0),customElements.get("auto-entities")||(customElements.define("auto-entities",Wt),console.groupCollapsed(`%cAUTO-ENTITIES ${Pt} IS INSTALLED`,"color: green; font-weight: bold"),console.log("Readme:","https://github.com/thomasloven/lovelace-auto-entities"),console.groupEnd()); diff --git a/config/www/community/lovelace-auto-entities/auto-entities.js.gz b/config/www/community/lovelace-auto-entities/auto-entities.js.gz index 1ec4deb9b6342e0a42a4b246d4925d7f4e7603ab..96111ffae4b4e8285fa2dabfcbab009f7c72897f 100644 GIT binary patch literal 13704 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

a%h22~!LO*N>KW|Rd1?ulf{ZRDW)*laDyKz{C~ zoXxAqnE)ZN(#)PEZIIjJ45bU`Vcq?jC=k#cx_y99Jo?Sx`BEm z8E-=EDW{guy#;YeT7`OhHJs}A7d9BqM-|or)~aP+;3^%t-b&rk4R*P4O*q)(V7TLX zL#g!GN5^yHGF=@Nmxjj8;_cwLly3W0j|{M(yuDnVBQb6)*Mkz5n&%c+9<}4w5#HLJ ziUPH*kKt{mMW}`q>tW-|pLp4hU;9B(>$i(i^Ct0u`Tn0&Wv2|sQ`z~oA5O1<$qiid37>Vsphc z)k85_#oeU!dNl4SX~hHE+fnlL4Q-2^=)^_Iu2XgsZ5`+}f)`b(!%@OhfICg6@E1l@ zg^tw%?pqW$m2+DxaWezoRd5Opi$<7K!0-8$-i0InJVyZzwQd9FBB|IE8&4eZ2q7Mz zH15{IgLiU_FojF@BAo!blj?okn@X1%9m=dq9E>jTO6LHto)rgvUVO@dA93jG7=$6Z z(c=||hD&*IQBbmSnMZiFqPYtSTmx-AY3;~utGIjN@KD`Cxi|Wy3dTEoKKhm#EvIz~ zrt^kC>+$Jcs`8EYPWkdehv10DL_CRk8V4x@UtXX9Q61O^1jjz8pLK1YVp430f}MPR zRe~ji;Tb1oi7ySjEF8@{=n`^Q92YWQhZM0s{mhDDrTd#z)`?T0Kj|`MQ`NYN52drw z`fl02M%1ZFs|hYH!=}?jUh7`$=D|&Ma4YaWC5lsTXg+#`H}v=H9~mXCR0&05!Ce&s z9rR*F3VpYPV)T>%h@*L0iJRG5`EMBLtJnC-svp>E%=7g2j#w3Ec=`){?;D?-3D_ME z+!zGVzahL~C-}~TK>re~nxRA+-`u(LwVh?VXBEh9VwQr{uoO;?ilxHe!kE*hTtBZ0 ziBu6DVH?&bq zt#tJamQ0?A*fbl(GEuRwz__g?m;}?{Dp(HG1n7nzJ;KWx0z1(csd^m=*4PuwXa^Qv z$6jBg*>Q*V+stsQwcSi4fjI*kF8xw>)9hV*tqZOMv=g}ZpfE>ZK7H|=IwTf9VUSHU zsF+Uus)=>}RKA5$WGnK$3RU^2H z`?V(%rmOY(%6iwVrU&w}+m+3Hx;&~_fXu7$>EZ_Huu;8dzK&F0J^+s8dc8E@2sUXG z>IsZ^-(q_AAI%`AY$$z%@nR^pNXfzui~_=Khxz+vCP7j%P&q3uuGYXOmfI2@Z*|3; zj7@bsza`}xjX-InO4RFvpr`{6d(5+yARUZ7r0b3Ah>NErk)?=3nxCq|YR#cv%3}yj ziOXj+9ybD$R6R+=Nu!!5^^{(uPEgaHB)pZUTEthV6RFpF--(+x{NOXrpmol2yl1zS zr@@t1f%&q3H2KCeMB>$6bve!6tm#wSkHILO0Iz6{Q~K$hSTKrk17H4td0giB zpj7+qQ#`Cn1?W}SwmWNoK&{Ig5crPOSZ&Zp3YT;I;q&6tPW1 diff --git a/config/www/community/lovelace-auto-entities/rollup.config.js b/config/www/community/lovelace-auto-entities/rollup.config.js index 47d270d4..b067baed 100644 --- a/config/www/community/lovelace-auto-entities/rollup.config.js +++ b/config/www/community/lovelace-auto-entities/rollup.config.js @@ -1,7 +1,7 @@ import nodeResolve from "@rollup/plugin-node-resolve"; import json from "@rollup/plugin-json"; import typescript from "rollup-plugin-typescript2"; -import { terser } from "rollup-plugin-terser"; +import terser from "@rollup/plugin-terser"; import babel from "@rollup/plugin-babel"; const dev = process.env.ROLLUP_WATCH; diff --git a/config/www/community/lovelace-auto-entities/rollup.config.js.gz b/config/www/community/lovelace-auto-entities/rollup.config.js.gz index 6472b26bf163e6a7e88d769de5794e03ed9bbe6a..6c1e261f09104dcbf917ca5b53f3be3fc3d8d1b8 100644 GIT binary patch delta 277 zcmV+w0qXw80>c6bABzYGLv6TYkq9FMfsP4*kuMp4Gh`9w-uF(=PeK{84m35mMJ9Pf zXe}woA1z7g&B93kBXkjg!X_eLWg^)QO!_t-m63D52D!GvxPeY^F~FnzaOFYEXm4*% z+Q{y!J<8i?F9kBINwb3nkFW+~sYd1!^|9Q(ZZ;opyU(Zh=a+!tso&UOTY2f=oB;@J zyjwzi&bD5tO6byYJ`Z#9t`{N$&LcL8ZVI-v)K@#8(ep>gUMtlczXWNc7~di b3fV)Vwvvp{4W{pT)~&KXM`xz^ECK)k^#p=y delta 282 zcmV+#0p=UfABzYGZ1J#Skq9FMhK>n^kuMp4J7f{&-uF(=PeK{84m7p6MJ9Pf z=qxG7A1q1fO=YD27P^Q)VH1(BGm&fuCVicc%EY-JgWOnQ+(;+57~x62n>=T5Xc;Z^ z*FA$c;rn`z@_Lp*3S`!hW(O@E;U0{o2ANCL$8!6!*}T8*J|5qmo&$!bVPlJ3?PUm( z0SIk>yjwxewy9Jtbm=%>hBV-cff( zIWYg;VSbxzvB}H#RMcfM{M$TT4}hme`Zi{Wi*|}yFOjRoVvNv_uAA7wY&JGLKmTPr gLqkf1>>*KCOUBTCGJP$xex3aS{l6XuF9HAo03fY_1poj5