From d9af5da123d16ff6a41bb98cdfeb94a1ea975eba Mon Sep 17 00:00:00 2001 From: CCOSTAN Date: Wed, 19 Jun 2024 14:42:25 +0000 Subject: [PATCH] Updated for some Camera fixes. Moving everything over to frigate. #1461 --- config/.HA_VERSION | 2 +- config/group/motion.yaml | 2 +- config/homekit.yaml | 14 +++--- config/packages/foscam.yaml | 43 ------------------ config/templates/speech/briefing.yaml | 4 +- .../www/community/vacuum-card/vacuum-card.js | 2 +- .../community/vacuum-card/vacuum-card.js.gz | Bin 33757 -> 33764 bytes 7 files changed, 14 insertions(+), 53 deletions(-) delete mode 100755 config/packages/foscam.yaml diff --git a/config/.HA_VERSION b/config/.HA_VERSION index 39bb5734..3d90c9a0 100755 --- a/config/.HA_VERSION +++ b/config/.HA_VERSION @@ -1 +1 @@ -2024.5.5 \ No newline at end of file +2024.7.0.dev202406190219 \ No newline at end of file diff --git a/config/group/motion.yaml b/config/group/motion.yaml index 6f165094..8aba98c2 100755 --- a/config/group/motion.yaml +++ b/config/group/motion.yaml @@ -4,6 +4,6 @@ motion: - binary_sensor.office_motion - binary_sensor.entry_alarm_panel - binary_sensor.bedroom_alarm_panel - - binary_sensor.camera1_motion_sensor + - binary_sensor.frontdoorbell_all_occupancy - binary_sensor.camera2_motion_sensor - binary_sensor.camera3_motion_sensor diff --git a/config/homekit.yaml b/config/homekit.yaml index c158dcca..1d3e947b 100755 --- a/config/homekit.yaml +++ b/config/homekit.yaml @@ -20,10 +20,12 @@ filter: - scene - light include_entities: - - camera.carlo_nvr_camera1 - - camera.carlo_nvr_camera2 - - camera.carlo_nvr_camera3 - - camera.front_door + - camera.bedroomgate + - camera.driveway + - camera.filtergate + - camera.frontdoorbell + - camera.poolcam + - camera.birdseye - light.bedroom - light.bedroom_lights - light.den_lights @@ -48,8 +50,8 @@ filter: - climate.spaceship_hvac_climate_system entity_config: - camera.carlo_nvr_camera1: - linked_motion_sensor: binary_sensor.camera1_motion_sensor + camera.frontdoorbell: + linked_motion_sensor: binary_sensor.frontdoorbell_all_occupancy video_codec: copy stream_source: !secret camera1_stream camera.carlo_nvr_camera2: diff --git a/config/packages/foscam.yaml b/config/packages/foscam.yaml deleted file mode 100755 index 152aad5e..00000000 --- a/config/packages/foscam.yaml +++ /dev/null @@ -1,43 +0,0 @@ -#------------------------------------------- -# @CCOSTAN -# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig -# More Info : https://www.vcloudinfo.com/2019/03/using-foscam-cameras-with-home-assistant-and-synology.html -#------------------------------------------- - -binary_sensor: - - platform: rest - name: "CAMERA1 Motion Sensor" - resource: !secret camera1_url - device_class: motion - scan_interval: 5 - value_template: >- - {%- if "2" in value -%} - {{ true }} - {%- else -%} - {{ false }} - {%- endif -%} - - platform: rest - name: "CAMERA2 Motion Sensor" - resource: !secret camera2_url - device_class: motion - scan_interval: 5 - value_template: >- - {%- if "2" in value -%} - {{ true }} - {%- else -%} - {{ false }} - {%- endif -%} - - platform: rest - name: "CAMERA3 Motion Sensor" - resource: !secret camera3_url - device_class: motion - scan_interval: 5 - value_template: >- - {%- if "2" in value -%} - {{ true }} - {%- else -%} - {{ false }} - {%- endif -%} -#------------------------------------------- -# Motion Sensors added to other motion sensors in group yaml -#------------------------------------------- diff --git a/config/templates/speech/briefing.yaml b/config/templates/speech/briefing.yaml index 853f9ec2..0df8c929 100755 --- a/config/templates/speech/briefing.yaml +++ b/config/templates/speech/briefing.yaml @@ -120,7 +120,9 @@ {%- endmacro -%} {%- macro moon() -%} + {% if (now().hour == 17) %} Current Moon phase: {{ states('sensor.moon') }} [Give a fact and mention today's phase] + {% endif %} {%- endmacro -%} {%- macro uv() -%} @@ -173,7 +175,7 @@ {% endmacro %} {%- macro traffic_time() -%} - Current traffic is Spectrum Offices: {{ states.sensor.waze_travel_time.state }} minutes. + Current traffic to Spectrum Offices: {{ states.sensor.waze_travel_time.state }} minutes. {%- endmacro -%} {# a macro that removes all newline characters, empty spaces, and returns formatted text and replaces underscores with spaces #} diff --git a/config/www/community/vacuum-card/vacuum-card.js b/config/www/community/vacuum-card/vacuum-card.js index 332afb90..0ef7fd2f 100755 --- a/config/www/community/vacuum-card/vacuum-card.js +++ b/config/www/community/vacuum-card/vacuum-card.js @@ -1,4 +1,4 @@ function t(t,e,a,o){var i,n=arguments.length,r=n<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,a):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,a,o);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(r=(n<3?i(r):n>3?i(e,a,r):i(e,a))||r);return n>3&&r&&Object.defineProperty(e,a,r),r}const e=window,a=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),i=new WeakMap;class n{constructor(t,e,a){if(this._$cssResult$=!0,a!==o)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(a&&void 0===t){const a=void 0!==e&&1===e.length;a&&(t=i.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),a&&i.set(e,t))}return t}toString(){return this.cssText}}const r=(t,...e)=>{const a=1===t.length?t[0]:e.reduce(((e,a,o)=>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.")})(a)+t[o+1]),t[0]);return new n(a,t,o)},s=a?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const a of t.cssRules)e+=a.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,o))(e)})(t):t;var l;const c=window,u=c.trustedTypes,_=u?u.emptyScript:"",d=c.reactiveElementPolyfillSupport,h={toAttribute(t,e){switch(e){case Boolean:t=t?_:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let a=t;switch(e){case Boolean:a=null!==t;break;case Number:a=null===t?null:Number(t);break;case Object:case Array:try{a=JSON.parse(t)}catch(t){a=null}}return a}},m=(t,e)=>e!==t&&(e==e||t==t),p={attribute:!0,type:String,converter:h,reflect:!1,hasChanged:m};class g 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,a)=>{const o=this._$Ep(a,e);void 0!==o&&(this._$Ev.set(o,a),t.push(o))})),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 a="symbol"==typeof t?Symbol():"__"+t,o=this.getPropertyDescriptor(t,a,e);void 0!==o&&Object.defineProperty(this.prototype,t,o)}}static getPropertyDescriptor(t,e,a){return{get(){return this[e]},set(o){const i=this[t];this[e]=o,this.requestUpdate(t,i,a)},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 a of e)this.createProperty(a,t[a])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const a=new Set(t.flat(1/0).reverse());for(const t of a)e.unshift(s(t))}else void 0!==t&&e.push(s(t));return e}static _$Ep(t,e){const a=e.attribute;return!1===a?void 0:"string"==typeof a?a:"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,a;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(a=t.hostConnected)||void 0===a||a.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 o=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,o)=>{a?t.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):o.forEach((a=>{const o=document.createElement("style"),i=e.litNonce;void 0!==i&&o.setAttribute("nonce",i),o.textContent=a.cssText,t.appendChild(o)}))})(o,this.constructor.elementStyles),o}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,a){this._$AK(t,a)}_$EO(t,e,a=p){var o;const i=this.constructor._$Ep(t,a);if(void 0!==i&&!0===a.reflect){const n=(void 0!==(null===(o=a.converter)||void 0===o?void 0:o.toAttribute)?a.converter:h).toAttribute(e,a.type);this._$El=t,null==n?this.removeAttribute(i):this.setAttribute(i,n),this._$El=null}}_$AK(t,e){var a;const o=this.constructor,i=o._$Ev.get(t);if(void 0!==i&&this._$El!==i){const t=o.getPropertyOptions(i),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(a=t.converter)||void 0===a?void 0:a.fromAttribute)?t.converter:h;this._$El=i,this[i]=n.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,a){let o=!0;void 0!==t&&(((a=a||this.constructor.getPropertyOptions(t)).hasChanged||m)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===a.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,a))):o=!1),!this.isUpdatePending&&o&&(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 a=this._$AL;try{e=this.shouldUpdate(a),e?(this.willUpdate(a),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(a)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(a)}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 v;g.finalized=!0,g.elementProperties=new Map,g.elementStyles=[],g.shadowRootOptions={mode:"open"},null==d||d({ReactiveElement:g}),(null!==(l=c.reactiveElementVersions)&&void 0!==l?l:c.reactiveElementVersions=[]).push("1.6.1");const f=window,b=f.trustedTypes,w=b?b.createPolicy("lit-html",{createHTML:t=>t}):void 0,y="$lit$",k=`lit$${(Math.random()+"").slice(9)}$`,$="?"+k,z=`<${$}>`,A=document,S=()=>A.createComment(""),j=t=>null===t||"object"!=typeof t&&"function"!=typeof t,x=Array.isArray,C="[ \t\n\f\r]",E=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,P=/>/g,M=RegExp(`>|${C}(?:([^\\s"'>=/]+)(${C}*=${C}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,T=/"/g,N=/^(?:script|style|textarea|title)$/i,I=(t=>(e,...a)=>({_$litType$:t,strings:e,values:a}))(1),R=Symbol.for("lit-noChange"),L=Symbol.for("lit-nothing"),U=new WeakMap,H=A.createTreeWalker(A,129,null,!1);function D(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==w?w.createHTML(e):e}const Z=(t,e)=>{const a=t.length-1,o=[];let i,n=2===e?"":"",r=E;for(let e=0;e"===l[0]?(r=null!=i?i:E,c=-1):void 0===l[1]?c=-2:(c=r.lastIndex-l[2].length,s=l[1],r=void 0===l[3]?M:'"'===l[3]?T:V):r===T||r===V?r=M:r===O||r===P?r=E:(r=M,i=void 0);const _=r===M&&t[e+1].startsWith("/>")?" ":"";n+=r===E?a+z:c>=0?(o.push(s),a.slice(0,c)+y+a.slice(c)+k+_):a+k+(-2===c?(o.push(void 0),e):_)}return[D(t,n+(t[a]||"")+(2===e?"":"")),o]};class q{constructor({strings:t,_$litType$:e},a){let o;this.parts=[];let i=0,n=0;const r=t.length-1,s=this.parts,[l,c]=Z(t,e);if(this.el=q.createElement(l,a),H.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=H.nextNode())&&s.length0){o.textContent=b?b.emptyScript:"";for(let a=0;ax(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==L&&j(this._$AH)?this._$AA.nextSibling.data=t:this.$(A.createTextNode(t)),this._$AH=t}g(t){var e;const{values:a,_$litType$:o}=t,i="number"==typeof o?this._$AC(t):(void 0===o.el&&(o.el=q.createElement(D(o.h,o.h[0]),this.options)),o);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===i)this._$AH.v(a);else{const t=new K(i,this),e=t.u(this.options);t.v(a),this.$(e),this._$AH=t}}_$AC(t){let e=U.get(t.strings);return void 0===e&&U.set(t.strings,e=new q(t)),e}T(t){x(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let a,o=0;for(const i of t)o===e.length?e.push(a=new W(this.k(S()),this.k(S()),this,this.options)):a=e[o],a._$AI(i),o++;o2||""!==a[0]||""!==a[1]?(this._$AH=Array(a.length-1).fill(new String),this.strings=a):this._$AH=L}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,a,o){const i=this.strings;let n=!1;if(void 0===i)t=B(this,t,e,0),n=!j(t)||t!==this._$AH&&t!==R,n&&(this._$AH=t);else{const o=t;let r,s;for(t=i[0],r=0;r{var o,i;const n=null!==(o=null==a?void 0:a.renderBefore)&&void 0!==o?o:e;let r=n._$litPart$;if(void 0===r){const t=null!==(i=null==a?void 0:a.renderBefore)&&void 0!==i?i:null;n._$litPart$=r=new W(e.insertBefore(S(),t),t,void 0,null!=a?a:{})}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 R}}ot.finalized=!0,ot._$litElement$=!0,null===(et=globalThis.litElementHydrateSupport)||void 0===et||et.call(globalThis,{LitElement:ot});const it=globalThis.litElementPolyfillSupport;null==it||it({LitElement:ot}),(null!==(at=globalThis.litElementVersions)&&void 0!==at?at:globalThis.litElementVersions=[]).push("3.3.2");const nt=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:a,elements:o}=e;return{kind:a,elements:o,finisher(e){customElements.define(t,e)}}})(t,e),rt=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(a){a.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(a){a.createProperty(e.key,t)}};function st(t){return(e,a)=>void 0!==a?((t,e,a)=>{e.constructor.createProperty(a,t)})(t,e,a):rt(t,e)}function lt(t){return st({...t,state:!0})}var ct,ut,_t;null===(ct=window.HTMLSlotElement)||void 0===ct||ct.prototype.assignedElements,function(t){t.language="language",t.system="system",t.comma_decimal="comma_decimal",t.decimal_comma="decimal_comma",t.space_comma="space_comma",t.none="none"}(ut||(ut={})),function(t){t.language="language",t.system="system",t.am_pm="12",t.twenty_four="24"}(_t||(_t={}));var dt=function(t,e,a,o){o=o||{},a=null==a?{}:a;var i=new Event(e,{bubbles:void 0===o.bubbles||o.bubbles,cancelable:Boolean(o.cancelable),composed:void 0===o.composed||o.composed});return i.detail=a,t.dispatchEvent(i),i};function ht(t,e,a,o){var i,n=arguments.length,r=n<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,a):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,a,o);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(r=(n<3?i(r):n>3?i(e,a,r):i(e,a))||r);return n>3&&r&&Object.defineProperty(e,a,r),r}class mt extends ot{constructor(){super(...arguments),this.template="",this.variables={},this.value=null,this.unsubscribePromise=null}connectedCallback(){super.connectedCallback(),this.hass?this.unsubscribePromise||this.template&&(this.unsubscribePromise=this.hass.connection.subscribeMessage((t=>{this.value=t.result}),{type:"render_template",template:this.template,variables:this.variables})):console.warn("hass object is not provided")}async disconnectedCallback(){if(super.disconnectedCallback(),this.unsubscribePromise)try{const t=await this.unsubscribePromise;return this.unsubscribePromise=null,t()}catch(t){if("not_found"!==t.code)throw t}}render(){var t;return null!==(t=this.value)&&void 0!==t?t:L}}ht([st()],mt.prototype,"hass",void 0),ht([st()],mt.prototype,"template",void 0),ht([st()],mt.prototype,"variables",void 0),ht([st()],mt.prototype,"value",void 0),ht([lt()],mt.prototype,"unsubscribePromise",void 0);var pt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function gt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var vt=Array.isArray,ft="object"==typeof pt&&pt&&pt.Object===Object&&pt,bt="object"==typeof self&&self&&self.Object===Object&&self,wt=ft||bt||Function("return this")(),yt=wt.Symbol,kt=yt,$t=Object.prototype,zt=$t.hasOwnProperty,At=$t.toString,St=kt?kt.toStringTag:void 0;var jt=function(t){var e=zt.call(t,St),a=t[St];try{t[St]=void 0;var o=!0}catch(t){}var i=At.call(t);return o&&(e?t[St]=a:delete t[St]),i},xt=Object.prototype.toString;var Ct=jt,Et=function(t){return xt.call(t)},Ot=yt?yt.toStringTag:void 0;var Pt=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Ot&&Ot in Object(t)?Ct(t):Et(t)};var Mt=Pt,Vt=function(t){return null!=t&&"object"==typeof t};var Tt=function(t){return"symbol"==typeof t||Vt(t)&&"[object Symbol]"==Mt(t)},Nt=vt,It=Tt,Rt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lt=/^\w*$/;var Ut=function(t,e){if(Nt(t))return!1;var a=typeof t;return!("number"!=a&&"symbol"!=a&&"boolean"!=a&&null!=t&&!It(t))||(Lt.test(t)||!Rt.test(t)||null!=e&&t in Object(e))};var Ht=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},Dt=Pt,Zt=Ht;var qt,Bt=function(t){if(!Zt(t))return!1;var e=Dt(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e},Kt=wt["__core-js_shared__"],Wt=(qt=/[^.]+$/.exec(Kt&&Kt.keys&&Kt.keys.IE_PROTO||""))?"Symbol(src)_1."+qt:"";var Ft=function(t){return!!Wt&&Wt in t},Gt=Function.prototype.toString;var Jt=Bt,Yt=Ft,Xt=Ht,Qt=function(t){if(null!=t){try{return Gt.call(t)}catch(t){}try{return t+""}catch(t){}}return""},te=/^\[object .+?Constructor\]$/,ee=Function.prototype,ae=Object.prototype,oe=ee.toString,ie=ae.hasOwnProperty,ne=RegExp("^"+oe.call(ie).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var re=function(t){return!(!Xt(t)||Yt(t))&&(Jt(t)?ne:te).test(Qt(t))},se=function(t,e){return null==t?void 0:t[e]};var le=function(t,e){var a=se(t,e);return re(a)?a:void 0},ce=le(Object,"create"),ue=ce;var _e=function(){this.__data__=ue?ue(null):{},this.size=0};var de=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},he=ce,me=Object.prototype.hasOwnProperty;var pe=function(t){var e=this.__data__;if(he){var a=e[t];return"__lodash_hash_undefined__"===a?void 0:a}return me.call(e,t)?e[t]:void 0},ge=ce,ve=Object.prototype.hasOwnProperty;var fe=ce;var be=_e,we=de,ye=pe,ke=function(t){var e=this.__data__;return ge?void 0!==e[t]:ve.call(e,t)},$e=function(t,e){var a=this.__data__;return this.size+=this.has(t)?0:1,a[t]=fe&&void 0===e?"__lodash_hash_undefined__":e,this};function ze(t){var e=-1,a=null==t?0:t.length;for(this.clear();++e-1},Re=function(t,e){var a=this.__data__,o=Me(a,t);return o<0?(++this.size,a.push([t,e])):a[o][1]=e,this};function Le(t){var e=-1,a=null==t?0:t.length;for(this.clear();++et.startsWith("vacuum")));return{entity:null!=a?a:""}}get entity(){return this.hass.states[this.config.entity]}get map(){return this.hass&&this.config.map?this.hass.states[this.config.map]:null}setConfig(t){this.config=function(t){var e,a,o,i,n,r,s,l,c,u;if(!t)throw new Error(Yn("error.invalid_config"));if(!t.entity)throw new Error(Yn("error.missing_entity"));const _=t.actions;return _&&Array.isArray(_)&&console.warn(Yn("warning.actions_array")),{entity:t.entity,map:null!==(e=t.map)&&void 0!==e?e:"",map_refresh:null!==(a=t.map_refresh)&&void 0!==a?a:5,image:null!==(o=t.image)&&void 0!==o?o:"default",show_name:null===(i=t.show_name)||void 0===i||i,show_status:null===(n=t.show_status)||void 0===n||n,show_toolbar:null===(r=t.show_toolbar)||void 0===r||r,compact_view:null!==(s=t.compact_view)&&void 0!==s&&s,stats:null!==(l=t.stats)&&void 0!==l?l:{},actions:null!==(c=t.actions)&&void 0!==c?c:{},shortcuts:null!==(u=t.shortcuts)&&void 0!==u?u:[]}}(t)}getCardSize(){return this.config.compact_view?3:8}shouldUpdate(t){return function(t,e,a){if(e.has("config")||a)return!0;if(t.config.entity){var o=e.get("hass");return!o||o.states[t.config.entity]!==t.hass.states[t.config.entity]}return!1}(this,t,!1)}updated(t){t.get("hass")&&t.get("hass").states[this.config.entity].state!==this.hass.states[this.config.entity].state&&(this.requestInProgress=!1)}connectedCallback(){super.connectedCallback(),!this.config.compact_view&&this.map&&(this.requestUpdate(),this.thumbUpdater=setInterval((()=>this.requestUpdate()),1e3*this.config.map_refresh))}disconnectedCallback(){super.disconnectedCallback(),this.map&&this.thumbUpdater&&clearInterval(this.thumbUpdater)}handleMore(t=this.entity.entity_id){dt(this,"hass-more-info",{entityId:t},{bubbles:!1,composed:!0})}callService(t){const{service:e,service_data:a}=t,[o,i]=e.split(".");this.hass.callService(o,i,a)}callVacuumService(t,e={request:!0},a={}){this.hass.callService("vacuum",t,Object.assign({entity_id:this.config.entity},a)),e.request&&(this.requestInProgress=!0,this.requestUpdate())}handleSpeed(t){const e=t.target.getAttribute("value");this.callVacuumService("set_fan_speed",{request:!1},{fan_speed:e})}handleVacuumAction(t,e={request:!0}){return()=>{if(!this.config.actions[t])return this.callVacuumService(e.defaultService||t,e);this.callService(this.config.actions[t])}}getAttributes(t){var e;const{status:a,state:o}=t.attributes;return Object.assign(Object.assign({},t.attributes),{status:null!==(e=null!=a?a:o)&&void 0!==e?e:t.state})}renderSource(){const{fan_speed:t,fan_speed_list:e}=this.getAttributes(this.entity);if(!e||!t)return L;const a=e.indexOf(t);return I`
${Yn(`source.${t.toLowerCase()}`)||t}
${e.map(((t,e)=>I`${Yn(`source.${t.toLowerCase()}`)||t}`))}
`}renderBattery(){const{battery_level:t,battery_icon:e}=this.getAttributes(this.entity);return I`
${t}%
`}renderMapOrImage(t){if(this.config.compact_view)return L;if(this.map)return this.map&&this.map.attributes.entity_picture?I``:L;const e="default"===this.config.image?"data:image/svg+xml,%3csvg width='490' height='490' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M490 245c0 135.31-109.69 245-245 245S0 380.31 0 245c0-3.013.0543891-6.013.162239-9H5l5 3v-12l-8.84919-5.899C13.1643 97.0064 117.754 0 245 0c127.089 0 231.578 96.7672 243.804 220.641L480 227v12.5l5-4h4.819c.12 3.152.181 6.319.181 9.5Z' fill='white'/%3e%3cpath d='M411.749 119c-6.307-8.348-13.27-16.258-20.851-23.6492C351.81 57.243 299.364 35.941 244.774 36.0001c-54.59.0591-106.99 21.4746-145.9954 59.667C59.7735 133.86 37.2596 185.797 36.0512 240.374l2.0895.046c.918-41.46 14.2556-81.382 37.8593-114.798V126h116v-2H77.1576c.7253-1.006 1.46-2.006 2.204-3H192v-2H80.8779c5.8988-7.683 12.3626-14.985 19.3631-21.8395 38.615-37.8105 90.491-59.0119 144.535-59.0704 54.044-.0585 105.966 21.0305 144.663 58.7572 7.123 6.9447 13.694 14.3517 19.683 22.1527H299v2h111.638c.744.994 1.479 1.994 2.204 3H299v2h115.266c23.35 33.213 36.583 72.821 37.583 113.972l2.089-.051c-1.066-43.848-15.882-85.962-41.938-120.589V119h-.251Z' fill='%23AAA'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M300 122.5c0 30.1-24.624 54.5-55 54.5s-55-24.4-55-54.5c0-30.0995 24.624-54.5 55-54.5s55 24.4005 55 54.5Zm-4 0c0 27.856-22.799 50.5-51 50.5s-51-22.644-51-50.5S216.799 72 245 72s51 22.644 51 50.5Z' fill='%23666'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M1.12741 221.523C6.9567 160.97 35.1055 104.75 80.0964 63.8045 125.087 22.8589 183.702.115675 244.536.00044016 305.369-.114809 364.07 22.4061 409.216 63.1811c44.985 40.6299 73.305 96.4879 79.5 156.7719l.011.001c-.002.013-.004.025-.007.038.021.202.042.405.062.607l-.279.028c-.145.286-.312.483-.382.565l-.003.005c-.185.218-.402.426-.611.612-.425.377-.994.817-1.651 1.294-1.325.963-3.171 2.194-5.341 3.588-.17.109-.341.219-.515.33v12.215l.249-.174c1.54-1.073 2.823-1.981 3.736-2.644.39-.283.703-.515.936-.693l-.007-.183.254-.01c.048-.038.083-.067.106-.087l.008-.007-.01.01c-.01.009-.033.032-.063.066l-.015.017 4.616-.182c1.298 32.938-4.063 65.799-15.764 96.616-11.7 30.816-29.499 58.955-52.331 82.731-22.832 23.776-50.226 42.7-80.544 55.64-30.317 12.939-62.934 19.627-95.898 19.664-32.963.037-65.594-6.579-95.941-19.45-30.346-12.872-57.783-31.735-80.6677-55.46-22.8846-23.725-40.7463-51.824-52.5157-82.614-11.76935-30.791-17.20429-63.64-15.979377-96.58l3.830807.142V236c.18555 0 .35898.025.50489.057l.56091.021-.00581.158c.13048.053.26118.112.38589.171.35305.167.78483.397 1.26649.667.87404.489 1.99915 1.158 3.2876 1.949v-12.13l-.4815-.302c-2.17716-1.367-4.02092-2.536-5.35246-3.398-.66426-.431-1.21155-.792-1.61262-1.066-.19905-.136-.37589-.261-.51834-.366l-.01222-.009c-.04061-.03-.11781-.087-.20795-.163l-.6875-.066ZM464.644 236.475c3.564-2.147 7.127-4.312 10.356-6.313v12.528c-1.909 1.31-3.945 2.699-5.987 4.086-4.093 2.779-8.206 5.546-11.376 7.648-1.586 1.052-2.93 1.933-3.915 2.566-.474.304-.857.546-1.14.719l-.19-.011-.007.131c-.063.037-.107.062-.135.079-.03.017-.042.025-.042.025l.024-.009c.01-.004.023-.01.039-.016l.095.241c-3.217 52.86-26.453 102.516-64.989 138.858-38.646 36.444-89.759 56.743-142.878 56.743-53.12 0-104.232-20.3-142.878-56.745-38.6453-36.445-61.9029-86.281-65.0136-139.31l-.2108.013c-.0549-.17-.1194-.3-.1616-.378-.0859-.16-.1788-.29-.2489-.38-.1401-.181-.2992-.346-.4386-.482-.2858-.279-.6601-.598-1.0796-.936-.8488-.684-2.029-1.563-3.413-2.556-2.7761-1.991-6.4661-4.507-10.1873-6.974-1.9862-1.317-3.9866-2.622-5.8676-3.83v-12.157c3.2173 2.001 6.7542 4.19 10.2783 6.365 5.686 3.509 11.3427 6.985 15.5776 9.583 2.1175 1.299 3.8798 2.379 5.1126 3.134l1.0774.66c1.0989 51.017 21.909 99.675 58.1301 135.725 36.902 36.729 86.816 57.401 138.881 57.518 52.066.116 102.072-20.331 139.139-56.895 36.507-36.012 57.554-84.787 58.75-135.992.352-.224.817-.513 1.385-.861 1.325-.813 3.172-1.923 5.371-3.238 1.287-.77 2.693-1.609 4.183-2.498l.097-.058c3.574-2.133 7.624-4.55 11.662-6.983ZM6.22995 219.764l.11131.072c1.3071.847 3.13156 2.004 5.30424 3.368 4.343 2.727 10.0507 6.265 15.7336 9.772 5.6819 3.507 11.3354 6.98 15.5686 9.578 2.1165 1.298 3.8778 2.377 5.11 3.132l1.9049 1.166.9921-.007c.3546 51.024 20.8428 99.843 57.0073 135.837 36.165 35.995 85.08 56.253 136.104 56.367 51.025.115 100.03-19.924 136.356-55.756 36.325-35.832 57.032-84.559 57.615-135.58l.585.006-.071-.066c.19-.204.434-.374.522-.435l.012-.008c.144-.101.323-.22.524-.35.406-.262.96-.607 1.631-1.018 1.346-.826 3.21-1.946 5.409-3.261 1.321-.79 2.764-1.651 4.292-2.563 3.571-2.131 7.608-4.54 11.639-6.969 5.757-3.469 11.476-6.963 15.773-9.723 2.152-1.384 3.921-2.565 5.152-3.459.053-.038.104-.076.154-.113l.102-.075c-6.233-58.782-33.937-113.219-77.829-152.8616C361.689 26.858 304.162 4.78749 244.545 4.90042 184.928 5.01336 127.486 27.3017 83.3945 67.4284 39.856 107.052 12.4116 161.271 6.22995 219.764Zm2.09908 22.928c-1.35577-.837-2.51273-1.53-3.38991-2.026-.55505 30.74 4.79901 61.315 15.78648 90.06 11.534 30.175 29.0385 57.712 51.4654 80.963 22.427 23.25 49.315 41.736 79.055 54.35 29.739 12.614 61.718 19.097 94.022 19.061 32.304-.036 64.269-6.591 93.98-19.271 29.711-12.681 56.558-31.226 78.933-54.527 22.375-23.3 39.818-50.876 51.284-81.077 10.871-28.632 16.159-59.064 15.594-89.655-.734.522-1.584 1.119-2.522 1.773-3.095 2.159-7.176 4.958-11.277 7.742-4.101 2.785-8.227 5.56-11.412 7.673-1.284.851-2.419 1.597-3.34 2.194-3.637 53.361-27.268 103.418-66.216 140.147C350.858 437.287 298.702 458 244.498 458c-54.204 0-106.359-20.714-145.7927-57.903-39.1679-36.938-62.8452-87.356-66.2735-141.057-.1301-.112-.2876-.243-.4742-.394-.7611-.613-1.8697-1.441-3.2341-2.419-2.7209-1.952-6.3663-4.439-10.0659-6.891-3.6986-2.452-7.4329-4.857-10.32857-6.644Z' fill='%23666'/%3e%3crect x='233' y='365' width='24' height='53' rx='12' stroke='%23AAA' stroke-width='2'/%3e%3c/svg%3e":this.config.image;return I``}renderStats(t){const e=(this.config.stats[t]||this.config.stats.default||[]).map((({entity_id:t,attribute:e,value_template:a,unit:o,subtitle:i})=>{if(!t&&!e)return L;let n="";if(t&&e)n=Aa(this.hass.states[t].attributes,e);else if(e)n=Aa(this.entity.attributes,e);else{if(!t)return L;n=this.hass.states[t].state}const r=I``;return I`
${r} ${o}
${i}
`}));return e.length?I`
${e}
`:L}renderName(){const{friendly_name:t}=this.getAttributes(this.entity);return this.config.show_name?I`
${t}
`:L}renderStatus(){const{status:t}=this.getAttributes(this.entity),e=Yn(`status.${t.toLowerCase()}`)||t;return this.config.show_status?I`
${e}
`:L}renderToolbar(t){if(!this.config.show_toolbar)return L;switch(t){case"on":case"auto":case"spot":case"edge":case"single_room":case"cleaning":return I`
${Yn("common.pause")}${Yn("common.stop")}${Yn("common.return_to_base")}
`;case"paused":return I`
${Yn("common.continue")}${Yn("common.return_to_base")}
`;case"returning":return I`
${Yn("common.continue")}${Yn("common.pause")}
`;default:{const e=this.config.shortcuts.map((({name:t,service:e,icon:a,service_data:o})=>I``)),a=I``;return I`
${"idle"===t?a:""}
${e}
`}}}renderUnavailable(){return I`
`}render(){return this.entity?I`
${this.renderSource()} ${this.renderBattery()}
${this.renderMapOrImage(this.entity.state)}${this.renderStats(this.entity.state)}
${this.renderToolbar(this.entity.state)}
`:this.renderUnavailable()}};t([st({attribute:!1})],er.prototype,"hass",void 0),t([lt()],er.prototype,"config",void 0),t([lt()],er.prototype,"requestInProgress",void 0),t([lt()],er.prototype,"thumbUpdater",void 0),er=t([nt("vacuum-card")],er),window.customCards=window.customCards||[],window.customCards.push({preview:!0,type:"vacuum-card",name:Yn("common.name"),description:Yn("common.description")});var ar=r`.card-config{flex-direction:column;display:flex;gap:10px}.option{display:flex;align-items:center}.option ha-switch{margin-right:10px}.option ha-select,.option paper-input{width:100%}`;Xn(ar);let or=class extends ot{constructor(){super(...arguments),this.image=void 0,this.compact_view=!1,this.show_name=!0,this.show_status=!0,this.show_toolbar=!0}setConfig(t){this.config=t,this.config.entity||(this.config.entity=this.getEntitiesByType("vacuum")[0]||"",dt(this,"config-changed",{config:this.config}))}getEntitiesByType(t){return this.hass?Object.keys(this.hass.states).filter((e=>e.startsWith(t))):[]}render(){if(!this.hass)return L;const t=this.getEntitiesByType("vacuum"),e=[...this.getEntitiesByType("camera"),...this.getEntitiesByType("image")];return I`
${t.map((t=>I`${t}`))}
${e.map((t=>I`${t}`))}
${Yn("editor.compact_view")}
${Yn("editor.show_name")}
${Yn("editor.show_status")}
${Yn("editor.show_toolbar")}
${Yn("editor.code_only_note")}
`}valueChanged(t){if(!this.config||!this.hass||!t.target)return;const e=t.target;e.configValue&&this.config[e.configValue]!==(null==e?void 0:e.value)&&(e.configValue&&(""===e.value?delete this.config[e.configValue]:this.config=Object.assign(Object.assign({},this.config),{[e.configValue]:void 0!==e.checked?e.checked:e.value})),dt(this,"config-changed",{config:this.config}))}static get styles(){return ar}};t([st({attribute:!1})],or.prototype,"hass",void 0),t([lt()],or.prototype,"config",void 0),t([lt()],or.prototype,"image",void 0),t([lt()],or.prototype,"compact_view",void 0),t([lt()],or.prototype,"show_name",void 0),t([lt()],or.prototype,"show_status",void 0),t([lt()],or.prototype,"show_toolbar",void 0),or=t([nt("vacuum-card-editor")],or);var ir=Object.freeze({__proto__:null,get VacuumCardEditor(){return or}});export{er as VacuumCard}; + );--vc-primary-text-color:var(--primary-text-color);--vc-secondary-text-color:var(--secondary-text-color);--vc-icon-color:var(--secondary-text-color);--vc-toolbar-background:var(--vc-background);--vc-toolbar-text-color:var(--secondary-text-color);--vc-toolbar-icon-color:var(--secondary-text-color);--vc-divider-color:var(--entities-divider-color, var(--divider-color));--vc-spacing:10px;display:flex;flex:1;flex-direction:column}ha-card{flex-direction:column;flex:1;position:relative;overflow:hidden}.preview{background:var(--vc-background);position:relative;text-align:center}.preview.not-available{filter:grayscale(1)}.header{display:flex;justify-content:space-between}.tips{display:flex;gap:var(--vc-spacing);flex-grow:1;flex-wrap:wrap;padding:var(--vc-spacing)}.tips .tip{cursor:pointer}.map{max-width:95%;image-rendering:crisp-edges;cursor:pointer}@keyframes cleaning{0%{transform:rotate(0) translate(0)}5%{transform:rotate(0) translate(0,-10px)}10%{transform:rotate(0) translate(0,5px)}15%{transform:rotate(0) translate(0)}20%{transform:rotate(30deg) translate(0)}25%{transform:rotate(30deg) translate(0,-10px)}30%{transform:rotate(30deg) translate(0,5px)}35%{transform:rotate(30deg) translate(0)}40%{transform:rotate(0) translate(0)}45%{transform:rotate(-30deg) translate(0)}50%{transform:rotate(-30deg) translate(0,-10px)}55%{transform:rotate(-30deg) translate(0,5px)}60%{transform:rotate(-30deg) translate(0)}70%{transform:rotate(0) translate(0)}100%{transform:rotate(0)}}@keyframes returning{0%{transform:rotate(0)}25%{transform:rotate(10deg)}50%{transform:rotate(0)}75%{transform:rotate(-10deg)}100%{transform:rotate(0)}}.vacuum{display:block;max-width:90%;max-height:200px;image-rendering:crisp-edges;margin:var(--vc-spacing) auto;cursor:pointer;filter:brightness(.9)}.vacuum.auto,.vacuum.cleaning,.vacuum.edge,.vacuum.on,.vacuum.single_room,.vacuum.spot{animation:cleaning 5s linear infinite}.vacuum.returning{animation:returning 2s linear infinite}.vacuum.paused{opacity:1}.vacuum.docked{opacity:.5}.fill-gap{flex-grow:1}.more-info ha-icon{display:flex}.status{display:flex;align-items:center;justify-content:center;direction:ltr}.status-text{color:var(--vc-secondary-text-color);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-left:calc(28px + var(--vc-spacing))}.status mwc-circular-progress{--mdc-theme-primary:var(--vc-secondary-text-color)!important;margin-left:var(--vc-spacing)}.vacuum-name{text-align:center;font-weight:700;color:var(--vc-primary-text-color);font-size:16px}.not-available .offline{text-align:center;color:var(--vc-primary-text-color);font-size:16px}.metadata{margin:var(--vc-spacing) auto}.stats{border-top:1px solid var(--vc-divider-color);display:flex;flex-direction:row;justify-content:space-evenly;color:var(--vc-secondary-text-color)}.stats-block{cursor:pointer;padding:var(--vc-spacing) 0;text-align:center;border-right:1px solid var(--vc-divider-color);flex-grow:1}.stats-block:last-of-type{border-right:0}.stats-value{font-size:20px;color:var(--vc-primary-text-color)}ha-icon{color:var(--vc-icon-color)}.toolbar{background:var(--vc-toolbar-background);min-height:30px;display:flex;flex-direction:row;flex-flow:row wrap;flex-wrap:wrap;justify-content:space-evenly;padding:5px;border-top:1px solid var(--vc-divider-color)}.toolbar ha-icon-button{color:var(--vc-toolbar-text-color);flex-direction:column;width:44px;height:44px;--mdc-icon-button-size:44px}.toolbar paper-button{color:var(--vc-toolbar-text-color);display:flex;align-items:center;margin-right:10px;padding:15px 10px;cursor:pointer}.toolbar paper-button ha-icon{margin-right:5px;color:var(--vc-toolbar-icon-color)}.toolbar ha-icon{color:var(--vc-toolbar-icon-color);display:flex}.icon-title{display:inline-block;vertical-align:middle;padding:0 3px}`;Xn(Qn);var tr;!function(t="ha-template"){customElements.get(t)||customElements.define(t,mt)}();console.info("%c VACUUM-CARD %c 2.9.4","color: white; background: blue; font-weight: 700;","color: blue; background: white; font-weight: 700;"),customElements.get("ha-icon-button")||customElements.define("ha-icon-button",class extends(null!==(tr=customElements.get("paper-icon-button"))&&void 0!==tr?tr:HTMLElement){});let er=class extends ot{constructor(){super(...arguments),this.requestInProgress=!1,this.thumbUpdater=null}static get styles(){return Qn}static async getConfigElement(){return await Promise.resolve().then((function(){return ir})),document.createElement("vacuum-card-editor")}static getStubConfig(t,e){const[a]=e.filter((t=>t.startsWith("vacuum")));return{entity:null!=a?a:""}}get entity(){return this.hass.states[this.config.entity]}get map(){return this.hass&&this.config.map?this.hass.states[this.config.map]:null}setConfig(t){this.config=function(t){var e,a,o,i,n,r,s,l,c,u;if(!t)throw new Error(Yn("error.invalid_config"));if(!t.entity)throw new Error(Yn("error.missing_entity"));const _=t.actions;return _&&Array.isArray(_)&&console.warn(Yn("warning.actions_array")),{entity:t.entity,map:null!==(e=t.map)&&void 0!==e?e:"",map_refresh:null!==(a=t.map_refresh)&&void 0!==a?a:5,image:null!==(o=t.image)&&void 0!==o?o:"default",show_name:null===(i=t.show_name)||void 0===i||i,show_status:null===(n=t.show_status)||void 0===n||n,show_toolbar:null===(r=t.show_toolbar)||void 0===r||r,compact_view:null!==(s=t.compact_view)&&void 0!==s&&s,stats:null!==(l=t.stats)&&void 0!==l?l:{},actions:null!==(c=t.actions)&&void 0!==c?c:{},shortcuts:null!==(u=t.shortcuts)&&void 0!==u?u:[]}}(t)}getCardSize(){return this.config.compact_view?3:8}shouldUpdate(t){return function(t,e,a){if(e.has("config")||a)return!0;if(t.config.entity){var o=e.get("hass");return!o||o.states[t.config.entity]!==t.hass.states[t.config.entity]}return!1}(this,t,!1)}updated(t){t.get("hass")&&t.get("hass").states[this.config.entity].state!==this.hass.states[this.config.entity].state&&(this.requestInProgress=!1)}connectedCallback(){super.connectedCallback(),!this.config.compact_view&&this.map&&(this.requestUpdate(),this.thumbUpdater=setInterval((()=>this.requestUpdate()),1e3*this.config.map_refresh))}disconnectedCallback(){super.disconnectedCallback(),this.map&&this.thumbUpdater&&clearInterval(this.thumbUpdater)}handleMore(t=this.entity.entity_id){dt(this,"hass-more-info",{entityId:t},{bubbles:!1,composed:!0})}callService(t){const{service:e,service_data:a,target:o}=t,[i,n]=e.split(".");this.hass.callService(i,n,a,o)}callVacuumService(t,e={request:!0},a={}){this.hass.callService("vacuum",t,Object.assign({entity_id:this.config.entity},a)),e.request&&(this.requestInProgress=!0,this.requestUpdate())}handleSpeed(t){const e=t.target.getAttribute("value");this.callVacuumService("set_fan_speed",{request:!1},{fan_speed:e})}handleVacuumAction(t,e={request:!0}){return()=>{if(!this.config.actions[t])return this.callVacuumService(e.defaultService||t,e);this.callService(this.config.actions[t])}}getAttributes(t){var e;const{status:a,state:o}=t.attributes;return Object.assign(Object.assign({},t.attributes),{status:null!==(e=null!=a?a:o)&&void 0!==e?e:t.state})}renderSource(){const{fan_speed:t,fan_speed_list:e}=this.getAttributes(this.entity);if(!e||!t)return L;const a=e.indexOf(t);return I`
${Yn(`source.${t.toLowerCase()}`)||t}
${e.map(((t,e)=>I`${Yn(`source.${t.toLowerCase()}`)||t}`))}
`}renderBattery(){const{battery_level:t,battery_icon:e}=this.getAttributes(this.entity);return I`
${t}%
`}renderMapOrImage(t){if(this.config.compact_view)return L;if(this.map)return this.map&&this.map.attributes.entity_picture?I``:L;const e="default"===this.config.image?"data:image/svg+xml,%3csvg width='490' height='490' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M490 245c0 135.31-109.69 245-245 245S0 380.31 0 245c0-3.013.0543891-6.013.162239-9H5l5 3v-12l-8.84919-5.899C13.1643 97.0064 117.754 0 245 0c127.089 0 231.578 96.7672 243.804 220.641L480 227v12.5l5-4h4.819c.12 3.152.181 6.319.181 9.5Z' fill='white'/%3e%3cpath d='M411.749 119c-6.307-8.348-13.27-16.258-20.851-23.6492C351.81 57.243 299.364 35.941 244.774 36.0001c-54.59.0591-106.99 21.4746-145.9954 59.667C59.7735 133.86 37.2596 185.797 36.0512 240.374l2.0895.046c.918-41.46 14.2556-81.382 37.8593-114.798V126h116v-2H77.1576c.7253-1.006 1.46-2.006 2.204-3H192v-2H80.8779c5.8988-7.683 12.3626-14.985 19.3631-21.8395 38.615-37.8105 90.491-59.0119 144.535-59.0704 54.044-.0585 105.966 21.0305 144.663 58.7572 7.123 6.9447 13.694 14.3517 19.683 22.1527H299v2h111.638c.744.994 1.479 1.994 2.204 3H299v2h115.266c23.35 33.213 36.583 72.821 37.583 113.972l2.089-.051c-1.066-43.848-15.882-85.962-41.938-120.589V119h-.251Z' fill='%23AAA'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M300 122.5c0 30.1-24.624 54.5-55 54.5s-55-24.4-55-54.5c0-30.0995 24.624-54.5 55-54.5s55 24.4005 55 54.5Zm-4 0c0 27.856-22.799 50.5-51 50.5s-51-22.644-51-50.5S216.799 72 245 72s51 22.644 51 50.5Z' fill='%23666'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M1.12741 221.523C6.9567 160.97 35.1055 104.75 80.0964 63.8045 125.087 22.8589 183.702.115675 244.536.00044016 305.369-.114809 364.07 22.4061 409.216 63.1811c44.985 40.6299 73.305 96.4879 79.5 156.7719l.011.001c-.002.013-.004.025-.007.038.021.202.042.405.062.607l-.279.028c-.145.286-.312.483-.382.565l-.003.005c-.185.218-.402.426-.611.612-.425.377-.994.817-1.651 1.294-1.325.963-3.171 2.194-5.341 3.588-.17.109-.341.219-.515.33v12.215l.249-.174c1.54-1.073 2.823-1.981 3.736-2.644.39-.283.703-.515.936-.693l-.007-.183.254-.01c.048-.038.083-.067.106-.087l.008-.007-.01.01c-.01.009-.033.032-.063.066l-.015.017 4.616-.182c1.298 32.938-4.063 65.799-15.764 96.616-11.7 30.816-29.499 58.955-52.331 82.731-22.832 23.776-50.226 42.7-80.544 55.64-30.317 12.939-62.934 19.627-95.898 19.664-32.963.037-65.594-6.579-95.941-19.45-30.346-12.872-57.783-31.735-80.6677-55.46-22.8846-23.725-40.7463-51.824-52.5157-82.614-11.76935-30.791-17.20429-63.64-15.979377-96.58l3.830807.142V236c.18555 0 .35898.025.50489.057l.56091.021-.00581.158c.13048.053.26118.112.38589.171.35305.167.78483.397 1.26649.667.87404.489 1.99915 1.158 3.2876 1.949v-12.13l-.4815-.302c-2.17716-1.367-4.02092-2.536-5.35246-3.398-.66426-.431-1.21155-.792-1.61262-1.066-.19905-.136-.37589-.261-.51834-.366l-.01222-.009c-.04061-.03-.11781-.087-.20795-.163l-.6875-.066ZM464.644 236.475c3.564-2.147 7.127-4.312 10.356-6.313v12.528c-1.909 1.31-3.945 2.699-5.987 4.086-4.093 2.779-8.206 5.546-11.376 7.648-1.586 1.052-2.93 1.933-3.915 2.566-.474.304-.857.546-1.14.719l-.19-.011-.007.131c-.063.037-.107.062-.135.079-.03.017-.042.025-.042.025l.024-.009c.01-.004.023-.01.039-.016l.095.241c-3.217 52.86-26.453 102.516-64.989 138.858-38.646 36.444-89.759 56.743-142.878 56.743-53.12 0-104.232-20.3-142.878-56.745-38.6453-36.445-61.9029-86.281-65.0136-139.31l-.2108.013c-.0549-.17-.1194-.3-.1616-.378-.0859-.16-.1788-.29-.2489-.38-.1401-.181-.2992-.346-.4386-.482-.2858-.279-.6601-.598-1.0796-.936-.8488-.684-2.029-1.563-3.413-2.556-2.7761-1.991-6.4661-4.507-10.1873-6.974-1.9862-1.317-3.9866-2.622-5.8676-3.83v-12.157c3.2173 2.001 6.7542 4.19 10.2783 6.365 5.686 3.509 11.3427 6.985 15.5776 9.583 2.1175 1.299 3.8798 2.379 5.1126 3.134l1.0774.66c1.0989 51.017 21.909 99.675 58.1301 135.725 36.902 36.729 86.816 57.401 138.881 57.518 52.066.116 102.072-20.331 139.139-56.895 36.507-36.012 57.554-84.787 58.75-135.992.352-.224.817-.513 1.385-.861 1.325-.813 3.172-1.923 5.371-3.238 1.287-.77 2.693-1.609 4.183-2.498l.097-.058c3.574-2.133 7.624-4.55 11.662-6.983ZM6.22995 219.764l.11131.072c1.3071.847 3.13156 2.004 5.30424 3.368 4.343 2.727 10.0507 6.265 15.7336 9.772 5.6819 3.507 11.3354 6.98 15.5686 9.578 2.1165 1.298 3.8778 2.377 5.11 3.132l1.9049 1.166.9921-.007c.3546 51.024 20.8428 99.843 57.0073 135.837 36.165 35.995 85.08 56.253 136.104 56.367 51.025.115 100.03-19.924 136.356-55.756 36.325-35.832 57.032-84.559 57.615-135.58l.585.006-.071-.066c.19-.204.434-.374.522-.435l.012-.008c.144-.101.323-.22.524-.35.406-.262.96-.607 1.631-1.018 1.346-.826 3.21-1.946 5.409-3.261 1.321-.79 2.764-1.651 4.292-2.563 3.571-2.131 7.608-4.54 11.639-6.969 5.757-3.469 11.476-6.963 15.773-9.723 2.152-1.384 3.921-2.565 5.152-3.459.053-.038.104-.076.154-.113l.102-.075c-6.233-58.782-33.937-113.219-77.829-152.8616C361.689 26.858 304.162 4.78749 244.545 4.90042 184.928 5.01336 127.486 27.3017 83.3945 67.4284 39.856 107.052 12.4116 161.271 6.22995 219.764Zm2.09908 22.928c-1.35577-.837-2.51273-1.53-3.38991-2.026-.55505 30.74 4.79901 61.315 15.78648 90.06 11.534 30.175 29.0385 57.712 51.4654 80.963 22.427 23.25 49.315 41.736 79.055 54.35 29.739 12.614 61.718 19.097 94.022 19.061 32.304-.036 64.269-6.591 93.98-19.271 29.711-12.681 56.558-31.226 78.933-54.527 22.375-23.3 39.818-50.876 51.284-81.077 10.871-28.632 16.159-59.064 15.594-89.655-.734.522-1.584 1.119-2.522 1.773-3.095 2.159-7.176 4.958-11.277 7.742-4.101 2.785-8.227 5.56-11.412 7.673-1.284.851-2.419 1.597-3.34 2.194-3.637 53.361-27.268 103.418-66.216 140.147C350.858 437.287 298.702 458 244.498 458c-54.204 0-106.359-20.714-145.7927-57.903-39.1679-36.938-62.8452-87.356-66.2735-141.057-.1301-.112-.2876-.243-.4742-.394-.7611-.613-1.8697-1.441-3.2341-2.419-2.7209-1.952-6.3663-4.439-10.0659-6.891-3.6986-2.452-7.4329-4.857-10.32857-6.644Z' fill='%23666'/%3e%3crect x='233' y='365' width='24' height='53' rx='12' stroke='%23AAA' stroke-width='2'/%3e%3c/svg%3e":this.config.image;return I``}renderStats(t){const e=(this.config.stats[t]||this.config.stats.default||[]).map((({entity_id:t,attribute:e,value_template:a,unit:o,subtitle:i})=>{if(!t&&!e)return L;let n="";if(t&&e)n=Aa(this.hass.states[t].attributes,e);else if(e)n=Aa(this.entity.attributes,e);else{if(!t)return L;n=this.hass.states[t].state}const r=I``;return I`
${r} ${o}
${i}
`}));return e.length?I`
${e}
`:L}renderName(){const{friendly_name:t}=this.getAttributes(this.entity);return this.config.show_name?I`
${t}
`:L}renderStatus(){const{status:t}=this.getAttributes(this.entity),e=Yn(`status.${t.toLowerCase()}`)||t;return this.config.show_status?I`
${e}
`:L}renderToolbar(t){if(!this.config.show_toolbar)return L;switch(t){case"on":case"auto":case"spot":case"edge":case"single_room":case"cleaning":return I`
${Yn("common.pause")}${Yn("common.stop")}${Yn("common.return_to_base")}
`;case"paused":return I`
${Yn("common.continue")}${Yn("common.return_to_base")}
`;case"returning":return I`
${Yn("common.continue")}${Yn("common.pause")}
`;default:{const e=this.config.shortcuts.map((({name:t,service:e,icon:a,service_data:o,target:i})=>I``)),a=I``;return I`
${"idle"===t?a:""}
${e}
`}}}renderUnavailable(){return I`
`}render(){return this.entity?I`
${this.renderSource()} ${this.renderBattery()}
${this.renderMapOrImage(this.entity.state)}${this.renderStats(this.entity.state)}
${this.renderToolbar(this.entity.state)}
`:this.renderUnavailable()}};t([st({attribute:!1})],er.prototype,"hass",void 0),t([lt()],er.prototype,"config",void 0),t([lt()],er.prototype,"requestInProgress",void 0),t([lt()],er.prototype,"thumbUpdater",void 0),er=t([nt("vacuum-card")],er),window.customCards=window.customCards||[],window.customCards.push({preview:!0,type:"vacuum-card",name:Yn("common.name"),description:Yn("common.description")});var ar=r`.card-config{flex-direction:column;display:flex;gap:10px}.option{display:flex;align-items:center}.option ha-switch{margin-right:10px}.option ha-select,.option paper-input{width:100%}`;Xn(ar);let or=class extends ot{constructor(){super(...arguments),this.image=void 0,this.compact_view=!1,this.show_name=!0,this.show_status=!0,this.show_toolbar=!0}setConfig(t){this.config=t,this.config.entity||(this.config.entity=this.getEntitiesByType("vacuum")[0]||"",dt(this,"config-changed",{config:this.config}))}getEntitiesByType(t){return this.hass?Object.keys(this.hass.states).filter((e=>e.startsWith(t))):[]}render(){if(!this.hass)return L;const t=this.getEntitiesByType("vacuum"),e=[...this.getEntitiesByType("camera"),...this.getEntitiesByType("image")];return I`
${t.map((t=>I`${t}`))}
${e.map((t=>I`${t}`))}
${Yn("editor.compact_view")}
${Yn("editor.show_name")}
${Yn("editor.show_status")}
${Yn("editor.show_toolbar")}
${Yn("editor.code_only_note")}
`}valueChanged(t){if(!this.config||!this.hass||!t.target)return;const e=t.target;e.configValue&&this.config[e.configValue]!==(null==e?void 0:e.value)&&(e.configValue&&(""===e.value?delete this.config[e.configValue]:this.config=Object.assign(Object.assign({},this.config),{[e.configValue]:void 0!==e.checked?e.checked:e.value})),dt(this,"config-changed",{config:this.config}))}static get styles(){return ar}};t([st({attribute:!1})],or.prototype,"hass",void 0),t([lt()],or.prototype,"config",void 0),t([lt()],or.prototype,"image",void 0),t([lt()],or.prototype,"compact_view",void 0),t([lt()],or.prototype,"show_name",void 0),t([lt()],or.prototype,"show_status",void 0),t([lt()],or.prototype,"show_toolbar",void 0),or=t([nt("vacuum-card-editor")],or);var ir=Object.freeze({__proto__:null,get VacuumCardEditor(){return or}});export{er as VacuumCard}; diff --git a/config/www/community/vacuum-card/vacuum-card.js.gz b/config/www/community/vacuum-card/vacuum-card.js.gz index bad1f7bcecbf57b8c12dd1f3661edcab0d2da2a1..4d69fec641c643c404309f7502d8bb1178553e8f 100755 GIT binary patch delta 5550 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 w1_fG>{2^hM70Ae*}P24qve7)9#} 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 P|JnZmt{@Ybt%(5uKwww!