diff --git a/README.md b/README.md index 1365b9a..8ad2711 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,8 @@ Note: those options should be improved with official release | disable_off | boolean | **optional** | turn off the off button | | disable_buttons | boolean | **optional** | turn off the plus/minus buttons | | disable_security_warning | boolean | **optional** | turn off the security warning (when a temperature sensor is out) | +| disable_power_infos | boolean | **optional** | turn off the power informations | +| disable_auto_fan_infos | boolean | **optional** | turn off the auto-fan informations | | name | string/boolean | **optional** | override the default entity name | | set_current_as_main | boolean | **optional** | Exchange target temperature and room temperature | @@ -94,9 +96,34 @@ disable_off: false disable_security_warning: false set_current_as_main: true disable_buttons: false +disable_power_infos: false +disable_auto_fan_infos: false name: Chambre ``` +# Actions +Some actions are available directly on the card. + +__Note:__ all actions done on the card and resetted if the VTherm integration restarts. If you want persistant change, you must edit the configuration of the VTherm itself on the Versatile Thermostat integration. + +## Change the preset temperature +Preset temperature cann be changed directly from the card with the following actions: +1. select the preset, you want to change, +2. select the temperature you want to set with the selector or the +/- buttons, +3. double click on the preset you want to change. When this action occurs, the preset rapidly change to the previous value and then to the new value to indicate that it is stored. + +You can do this operations for all displayed presets but not on the `Activity` preset because this preset uses the temperature values of the others preset. See documentation of [versatile_thermostat README](https://github.com/jmcollin78/versatile_thermostat/blob/main/README.md#configure-the-activity-mode-or-motion-detection). + +Of course you should have displayed the presets to be able to do so. + +## Disable the auto-fan mode +For `over_climate` you have the possibility to configure the `auto-fan` mode feature. See [versatile_thermostat README](https://github.com/jmcollin78/versatile_thermostat/blob/main/README.md#auto-fan-mode). + +If the `auto-fan` mode is configured, you can toggle between the configured `auto_fan_mode` configured for the VTherm and the None mode (which disable the auto-fan mode). + +To toggle the auto-fan mode you must: +1. click on the `Auto-fan` icon at the left of the Thermostat. + ## Help wanted! It would be awsome if you help me to translate this card to other languages. diff --git a/dist/versatile-thermostat-ui-card.js b/dist/versatile-thermostat-ui-card.js index acc740c..0ddb374 100644 --- a/dist/versatile-thermostat-ui-card.js +++ b/dist/versatile-thermostat-ui-card.js @@ -57,7 +57,7 @@ const ct=t=>(e,i)=>{void 0!==i?i.addInitializer((()=>{customElements.define(t,e) * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */const gt=(t=>(...e)=>({_$litDirective$:t,values:e}))(class extends ft{constructor(t){if(super(t),t.type!==vt||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){if(void 0===this.it){this.it=new Set,void 0!==t.strings&&(this.st=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!this.st?.has(t)&&this.it.add(t);return this.render(e)}const i=t.element.classList;for(const t of this.it)t in e||(i.remove(t),this.it.delete(t));for(const t in e){const n=!!e[t];n===this.it.has(t)||this.st?.has(t)||(n?(i.add(t),this.it.add(t)):(i.remove(t),this.it.delete(t)))}return Z}});var yt="M6.59,0.66C8.93,-1.15 11.47,1.06 12.04,4.5C12.47,4.5 12.89,4.62 13.27,4.84C13.79,4.24 14.25,3.42 14.07,2.5C13.65,0.35 16.06,-1.39 18.35,1.58C20.16,3.92 17.95,6.46 14.5,7.03C14.5,7.46 14.39,7.89 14.16,8.27C14.76,8.78 15.58,9.24 16.5,9.06C18.63,8.64 20.38,11.04 17.41,13.34C15.07,15.15 12.53,12.94 11.96,9.5C11.53,9.5 11.11,9.37 10.74,9.15C10.22,9.75 9.75,10.58 9.93,11.5C10.35,13.64 7.94,15.39 5.65,12.42C3.83,10.07 6.05,7.53 9.5,6.97C9.5,6.54 9.63,6.12 9.85,5.74C9.25,5.23 8.43,4.76 7.5,4.94C5.37,5.36 3.62,2.96 6.59,0.66M5,16H7A2,2 0 0,1 9,18V24H7V22H5V24H3V18A2,2 0 0,1 5,16M5,18V20H7V18H5M12.93,16H15L12.07,24H10L12.93,16M18,16H21V18H18V22H21V24H18A2,2 0 0,1 16,22V18A2,2 0 0,1 18,16Z",bt="M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z",wt="M5,2V13H8V22L15,10H11L15,2M17,15H19V17H17V15M17,7H19V13H17V7Z",$t="M12,3L2,12H5V20H19V12H22L12,3M12,8.75A2.25,2.25 0 0,1 14.25,11A2.25,2.25 0 0,1 12,13.25A2.25,2.25 0 0,1 9.75,11A2.25,2.25 0 0,1 12,8.75M12,15C13.5,15 16.5,15.75 16.5,17.25V18H7.5V17.25C7.5,15.75 10.5,15 12,15Z",xt="M12 2C7.04 2 3 6.04 3 11C3 14.91 5.5 18.24 9 19.47V22H11V19.94C11.33 20 11.66 20 12 20S12.67 20 13 19.94V22H15V19.47C18.5 18.23 21 14.9 21 11C21 6.04 16.96 2 12 2M14.25 14L11.25 17L9.75 15.5L11 14.25L9.75 13L12.75 10L14.25 11.5L13 12.75L14.25 14M16 9H8V7H16V9Z",Ct="M10,0.2C9,0.2 8.2,1 8.2,2C8.2,3 9,3.8 10,3.8C11,3.8 11.8,3 11.8,2C11.8,1 11,0.2 10,0.2M15.67,1A7.33,7.33 0 0,0 23,8.33V7A6,6 0 0,1 17,1H15.67M18.33,1C18.33,3.58 20.42,5.67 23,5.67V4.33C21.16,4.33 19.67,2.84 19.67,1H18.33M21,1A2,2 0 0,0 23,3V1H21M7.92,4.03C7.75,4.03 7.58,4.06 7.42,4.11L2,5.8V11H3.8V7.33L5.91,6.67L2,22H3.8L6.67,13.89L9,17V22H10.8V15.59L8.31,11.05L9.04,8.18L10.12,10H15V8.2H11.38L9.38,4.87C9.08,4.37 8.54,4.03 7.92,4.03Z",At="M17 13V7H19V13H17M17 17V15H19V17H17M13 13V5C13 3.3 11.7 2 10 2S7 3.3 7 5V13C4.8 14.7 4.3 17.8 6 20S10.8 22.7 13 21 15.7 16.2 14 14C13.7 13.6 13.4 13.3 13 13M10 4C10.6 4 11 4.4 11 5V8H9V5C9 4.4 9.4 4 10 4Z",kt="M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z",Lt="M21 20V2H3V20H1V23H23V20M19 4V11H17V4M5 4H7V11H5M5 20V13H7V20M9 20V4H15V20M17 20V13H19V20Z",Vt="M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8M7 9H15V11H7V9M7 12H15V14H7V12M7 15H15V16.5L14.8 17H7V15M13.7 20H7V18H14.5L13.7 20M16 8H6V20H4V8H2V4H20V8H18V12H16.6L16.1 13.3L16 13.7V8Z";var Et={version:"version",current:"current"},St={card:{climate:{disable_window:"Disable window",disable_overpowering:"Disable overpowering",disable_heat:"Disable heat",disable_cool:"Disable cool",disable_heat_cool:"Disable heat/cool",disable_auto:"Disable auto",disable_fan_only:"Disable fan only",disable_dry:"Disable dry",disable_off:"Disable off",disable_menu:"Disable menu",set_current_as_main:"Exchange target temperature and room temperature",disable_security_warning:"Disable battery warning",disable_buttons:"Disable plus/minus buttons",disable_power_infos:"Disable power infos",disable_auto_fan_infos:"Disable auto-fan infos",disable_name:"Disable name"}}},Mt={window_open:"Window open",night_mode:"Night mode",eco:"Eco",overpowering:"Overpowering",none:"Manual",comfort:"Comfort",boost:"Boost",frost:"Frost",power:"Overpowering",activity:"Activity",auto_regulation_light:"Light",auto_regulation_medium:"Medium",auto_regulation_strong:"Strong",auto_regulation_slow:"Slow",auto_regulation_expert:"Expert",auto_fan_mode:"Auto-fan",auto_fan_none:"None",auto_fan_low:"Low",auto_fan_medium:"Medium",auto_fan_high:"High",auto_fan_boost:"Boost",fan_low:"Low",fan_low_mid:"Low-medium",fan_mid:"Medium",fan_mid_high:"Medium-high",fan_high:"High",fan_mute:"Mute",fan_turbo:"Turbo",fan_none:"None",change_message:"Double click to change preset"},Tt={common:Et,editor:St,extra_states:Mt},Ht=Object.freeze({__proto__:null,common:Et,default:Tt,editor:St,extra_states:Mt}),Dt={version:"Version",current:"Aktuell"},Ot={card:{climate:{disable_window:"Fenster-offen-Anzeige deaktivieren",disable_overpowering:"Sommer-Anzeige deaktivieren",disable_heat:"Heiz-Anzeige deaktivieren",disable_cool:"Kühl-Anzeige deaktivieren",disable_heat_cool:"Heiz-/Kühl-Anzeige deaktivieren",disable_auto:"Auto-Anzeige deaktivieren",disable_fan_only:"Nur-Lüften-Anzeige deaktivieren",disable_dry:"Trocknen-Anzeige deaktivieren",disable_off:"Aus-Anzeige deaktivieren",disable_menu:"Menü deaktivieren",disable_security_warning:"Batterie-Warnung deaktivieren",disable_buttons:"Plus/Minus Buttons deaktivieren",eco_temperature:"Eco Temperatur",set_current_as_main:"Zieltemperatur mit aktueller Temperatur tauschen"}}},Pt={window_open:"Fenster offen",night_mode:"Nachtmodus",eco:"Eco",overpowering:"Sommer"},zt={common:Dt,editor:Ot,extra_states:Pt},Nt=Object.freeze({__proto__:null,common:Dt,default:zt,editor:Ot,extra_states:Pt}),jt={version:"version",current:"Actuelle"},It={card:{climate:{disable_window:"Désactiver fenêtre status",disable_overpowering:"Désactiver sur-puissance status",disable_heat:"Désactiver mode chauffe",disable_cool:"Désactiver mode clim",disable_heat_cool:"Désactiver mode chauffe/clim",disable_auto:"Désactiver mode auto",disable_fan_only:"Désactiver mode ventilation",disable_dry:"Désactiver mode déshumidification",disable_off:"Désactiver arret",set_current_as_main:"Echanger temperature cible avec temperature locale",disable_security_warning:"Désactiver sécurité messages",disable_buttons:"Désactiver les boutons +/-",disable_power_infos:"Désactiver les infos de puissance",disable_auto_fan_infos:"Désactiver les infos auto-ventilation",disable_name:"Désactiver le nom"}}},Rt={window_open:"Fenêtre ouverte",eco:"Eco",overpowering:"Sur-puissance",none:"Manuel",comfort:"Confort",boost:"Boost",frost:"Hors-gel",power:"Délestage",activity:"Activité",auto_regulation_light:"Légère",auto_regulation_medium:"Moyenne",auto_regulation_strong:"Forte",auto_regulation_slow:"Lente",auto_regulation_expert:"Expert",auto_fan_mode:"Auto-fan",auto_fan_none:"Aucun",auto_fan_low:"Bas",auto_fan_medium:"Moyen",auto_fan_high:"Haut",auto_fan_turbo:"Turbo",fan_low:"Bas",fan_low_mid:"Bas-moyen",fan_mid:"Moyen",fan_mid_high:"Moyen-haut",fan_high:"Haut",fan_mute:"Silence",fan_turbo:"Turbo",fan_none:"Aucun",change_message:"Double clic pour changer le preset"},Ft={common:jt,editor:It,extra_states:Rt},Ut=Object.freeze({__proto__:null,common:jt,default:Ft,editor:It,extra_states:Rt}),Bt={version:"версия",current:"текущий"},Zt={window_open:"Окно открыто",night_mode:"Ночной режим",eco:"Эко",overpowering:"Лето"},Wt={common:Bt,extra_states:Zt},qt=Object.freeze({__proto__:null,common:Bt,default:Wt,extra_states:Zt}),Yt={version:"wersja",current:"aktualna"},Xt={window_open:"otwarte okno",night_mode:"tryb nocny",eco:"tryb ekonomiczny",overpowering:"lato"},Kt={common:Yt,extra_states:Xt},Jt=Object.freeze({__proto__:null,common:Yt,default:Kt,extra_states:Xt}),Gt={version:"verzia",current:"aktuálny"},Qt={card:{climate:{disable_window:"Zakázať okno",disable_overpowering:"Zakázať leto",disable_heat:"Zakázať kúrenie",disable_cool:"Zakázať chladenie",disable_heat_cool:"Zakázať kúrenie/chladenie",disable_auto:"Zakázat automatic",disable_fan_only:"Zakázať režim ventilátora",disable_dry:"Zakázať sušenie",disable_off:"Vypnúť",disable_menu:"Zakázať menu",disable_security_warning:"Zakázať upozornenie na batériu",disable_buttons:"Zakázať plus/mínus tlačidlá",eco_temperature:"Eco teplota",set_current_as_main:"Vymeňte cieľ za miesta s aktuálnou teplotou"}}},te={window_open:"Okno otvorené",night_mode:"Nočný mód",eco:"Eco",overpowering:"Leto"},ee={common:Gt,editor:Qt,extra_states:te},ie={version:"Verzió",current:"Aktuális"},ne={card:{climate:{disable_window:"Ablak kikapcsolás",disable_overpowering:"Nyár kikapcsolás",disable_heat:"Fűtés kikacsolás",disable_cool:"Hűtés kikapcsolás",disable_heat_cool:"Fűtés/Hűtés kikapcsolás",disable_auto:"Auto kikapcsolás",disable_fan_only:"Csak ventillátor kikapcsolás",disable_dry:"Szárítás kikapcsolás",disable_off:"Kikapcsolás inaktiválás",eco_temperature:"Eco hőmérséklet",set_current_as_main:"Aktuális hőmérséklet használata"}}},oe={window_open:"Ablak nyitva",night_mode:"Éjszakai mód",eco:"Eco",overpowering:"Nyár"},se={common:ie,editor:ne,extra_states:oe},re={version:"version",current:"nuværende"},ae={window_open:"Vindue åben",night_mode:"Nattilstand",eco:"Eco",overpowering:"Overpowering"},le={common:re,extra_states:ae},ce={version:"version",current:"Actual"},he={window_open:"Ventana abierta",night_mode:"Modo noche",eco:"Eco",overpowering:"Verano"},ue={common:ce,extra_states:he},de={version:"versiyon",current:"şimdiki"},pe={window_open:"Pencere açık",night_mode:"Gece modu",eco:"Eco",overpowering:"Yaz"},me={common:de,extra_states:pe},_e={version:"versione",current:"Corrente"},ve={card:{climate:{disable_window:"Disabilita indicatore Finestra",disable_overpowering:"Disabilita indicatore Estate",disable_heat:"Disabilita tasto heat",disable_cool:"Disabilita tasto cool",disable_heat_cool:"Disabilita tasto heat/cool",disable_auto:"Disabilita tasto auto",disable_fan_only:"Disabilita tasto fan only",disable_dry:"Disabilita tasto dry",disable_off:"Disabililita tasto off",eco_temperature:"Temperatura target",set_current_as_main:"Imposta la temperatura attuale come target"}}},fe={window_open:"Finestra aperta",night_mode:"Modalità notturna",eco:"Eco",overpowering:"Estate"},ge={common:_e,editor:ve,extra_states:fe},ye={version:"versão",current:"actual"},be={card:{climate:{disable_window:"Desactivar Janela",disable_overpowering:"Desactivar Verão",disable_heat:"Desactivar Aquecimento",disable_cool:"Desactivar Arrefecimento",disable_heat_cool:"Desactivar Aquecimento/Arrefecimento",disable_auto:"Desactivar Auto",disable_fan_only:"Desactivar Ventilação",disable_dry:"Desactivar Secagem",disable_off:"Desactivar Off",eco_temperature:"Modo Eco",set_current_as_main:"Mudar para a temperatura local actual"}}},we={window_open:"Janela Aberta",night_mode:"Modo Noturno",eco:"Eco",overpowering:"Verão"},$e={common:ye,editor:be,extra_states:we},xe={version:"版本",current:"当前"},Ce={window_open:"窗户打开",night_mode:"夜间模式",eco:"节能",overpowering:"夏季"},Ae={common:xe,extra_states:Ce},ke={version:"версія",current:"поточний"},Le={window_open:"Вікно відчинено",night_mode:"Нічний режим",eco:"Економія",overpowering:"Літо"},Ve={common:ke,extra_states:Le},Ee={version:"έκδοση",current:"τρέχουσα"},Se={window_open:"Παράθυρο ανοικτό",night_mode:"Λειτουργία νυκτός",eco:"Εξοικονόμηση",overpowering:"Καλοκαίρι"},Me={common:Ee,extra_states:Se},Te={version:"versie",current:"huidig"},He={window_open:"Raam open",night_mode:"Nacht modus",eco:"Eco",overpowering:"Zomer"},De={common:Te,extra_states:He},Oe={version:"versjon",current:"nåværende"},Pe={window_open:"Vindu åpent",night_mode:"Nattmodus",eco:"Eco",overpowering:"Sommer"},ze={common:Oe,extra_states:Pe},Ne={version:"verze",current:"aktuální"},je={card:{climate:{disable_window:"Zakázat okno",disable_overpowering:"Zakázat léto",disable_heat:"Zakázat topení",disable_cool:"Zakázat chlazení",disable_heat_cool:"Zakázat topení/chlazení",disable_auto:"Zakázať automatic",disable_fan_only:"Zakázat pouze ventilátor",disable_dry:"Zakázat sušení",disable_off:"Zakázat vypnuto",disable_menu:"Zakázat menu",disable_security_warning:"Zakázat upozornění baterie",disable_buttons:"Zakázat tlačítka plus/minus",eco_temperature:"Eco teplota",set_current_as_main:"Prohodit místa cílovoé a aktáalní teploty"}}},Ie={window_open:"okno otevřeno",night_mode:"Noční režim",eco:"Eco",overpowering:"Léto"},Re={common:Ne,editor:je,extra_states:Ie},Fe={version:"različica",current:"trenutno"},Ue={window_open:"Okno odprto",night_mode:"Nočni način",eco:"Eko",overpowering:"Poletje"},Be={common:Fe,extra_states:Ue},Ze={version:"version",current:"Nuvarande"},We={window_open:"Fönster öppet",night_mode:"Nattläge",eco:"Eco",overpowering:"Sommar"},qe={common:Ze,extra_states:We},Ye={version:"версия",currrent:"текущий"},Xe={window_open:"Отворен прозорец",night_mode:"Нощен режим",eco:"Екологичен режим",overpowering:"Лято"},Ke={common:Ye,extra_states:Xe},Je={version:"version",current:"Nykyinen"},Ge={window_open:"Ikkuna auki",night_mode:"Yötila",eco:"Eco",overpowering:"Kesä"},Qe={common:Je,extra_states:Ge},ti={version:"versiune",current:"curent"},ei={window_open:"Fereastră deschisă",night_mode:"Mod noapte",eco:"Eco",overpowering:"Vară"},ii={common:ti,extra_states:ei},ni={version:"versió",current:"Actual"},oi={window_open:"Finestra oberta",night_mode:"Mode nocturn",eco:"Eco",overpowering:"Estiu"},si={common:ni,extra_states:oi};const ri={en:Ht,de:Nt,fr:Ut,ru:qt,sk:Object.freeze({__proto__:null,common:Gt,default:ee,editor:Qt,extra_states:te}),hu:Object.freeze({__proto__:null,common:ie,default:se,editor:ne,extra_states:oe}),pl:Jt,da:Object.freeze({__proto__:null,common:re,default:le,extra_states:ae}),es:Object.freeze({__proto__:null,common:ce,default:ue,extra_states:he}),tr:Object.freeze({__proto__:null,common:de,default:me,extra_states:pe}),it:Object.freeze({__proto__:null,common:_e,default:ge,editor:ve,extra_states:fe}),pt:Object.freeze({__proto__:null,common:ye,default:$e,editor:be,extra_states:we}),cn:Object.freeze({__proto__:null,common:xe,default:Ae,extra_states:Ce}),uk:Object.freeze({__proto__:null,common:ke,default:Ve,extra_states:Le}),el:Object.freeze({__proto__:null,common:Ee,default:Me,extra_states:Se}),nl:Object.freeze({__proto__:null,common:Te,default:De,extra_states:He}),no:Object.freeze({__proto__:null,common:Oe,default:ze,extra_states:Pe}),cs:Object.freeze({__proto__:null,common:Ne,default:Re,editor:je,extra_states:Ie}),sl:Object.freeze({__proto__:null,common:Fe,default:Be,extra_states:Ue}),sv:Object.freeze({__proto__:null,common:Ze,default:qe,extra_states:We}),bg:Object.freeze({__proto__:null,common:Ye,default:Ke,extra_states:Xe}),fi:Object.freeze({__proto__:null,common:Je,default:Qe,extra_states:Ge}),ro:Object.freeze({__proto__:null,common:ti,default:ii,extra_states:ei}),ca:Object.freeze({__proto__:null,common:ni,default:si,extra_states:oi})},ai="en";function li({hass:t,string:e,search:i="",replace:n=""}){var o;const s=null!==(o=null==t?void 0:t.locale.language)&&void 0!==o?o:ai;let r;try{r=e.split(".").reduce(((t,e)=>t[e]),ri[s])}catch(t){r=e.split(".").reduce(((t,e)=>t[e]),ri.en)}return void 0===r&&(r=e.split(".").reduce(((t,e)=>t[e]),ri.en)),""!==i&&""!==n&&(r=r.replace(i,n)),r}function ci(t,e){try{return t.split(".").reduce(((t,e)=>t[e]),ri[e])}catch(t){return}}var hi,ui,di=Number.isNaN||function(t){return"number"==typeof t&&t!=t};function pi(t,e){if(t.length!==e.length)return!1;for(var i=0;inew Intl.DateTimeFormat(t.language,{weekday:"long",month:"long",day:"numeric"}))),mi((t=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric"}))),mi((t=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"numeric",day:"numeric"}))),mi((t=>new Intl.DateTimeFormat(t.language,{day:"numeric",month:"short"}))),mi((t=>new Intl.DateTimeFormat(t.language,{month:"long",year:"numeric"}))),mi((t=>new Intl.DateTimeFormat(t.language,{month:"long"}))),mi((t=>new Intl.DateTimeFormat(t.language,{year:"numeric"}))),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"}(hi||(hi={})),function(t){t.language="language",t.system="system",t.am_pm="12",t.twenty_four="24"}(ui||(ui={}));const _i=mi((t=>{if(t.time_format===ui.language||t.time_format===ui.system){const e=t.time_format===ui.language?t.language:void 0,i=(new Date).toLocaleString(e);return i.includes("AM")||i.includes("PM")}return t.time_format===ui.am_pm}));mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"long",day:"numeric",hour:_i(t)?"numeric":"2-digit",minute:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"long",day:"numeric",hour:_i(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{hour:"numeric",minute:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{hour:_i(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{weekday:"long",hour:_i(t)?"numeric":"2-digit",minute:"2-digit",hour12:_i(t)})));const vi=(t,e,i,n)=>{n=n||{},i=null==i?{}:i;const o=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return o.detail=i,t.dispatchEvent(o),o},fi=(t,e,i)=>Math.min(Math.max(t,e),i),gi=(t,e,i)=>{const n=e?(t=>{switch(t.number_format){case hi.comma_decimal:return["en-US","en"];case hi.decimal_comma:return["de","es","it"];case hi.space_comma:return["fr","sv","cs"];case hi.system:return;default:return t.language}})(e):void 0;if(Number.isNaN=Number.isNaN||function t(e){return"number"==typeof e&&t(e)},(null==e?void 0:e.number_format)!==hi.none&&!Number.isNaN(Number(t))&&Intl)try{return new Intl.NumberFormat(n,yi(t,i)).format(Number(t))}catch(e){return console.error(e),new Intl.NumberFormat(void 0,yi(t,i)).format(Number(t))}return"string"==typeof t?t:`${((t,e=2)=>Math.round(t*10**e)/10**e)(t,null==i?void 0:i.maximumFractionDigits).toString()}${"currency"===(null==i?void 0:i.style)?` ${i.currency}`:""}`},yi=(t,e)=>{const i=Object.assign({maximumFractionDigits:2},e);if("string"!=typeof t)return i;if(!e||!e.minimumFractionDigits&&!e.maximumFractionDigits){const e=t.indexOf(".")>-1?t.split(".")[1].length:0;i.minimumFractionDigits=e,i.maximumFractionDigits=e}return i};class bi extends TypeError{constructor(t,e){let i;const{message:n,explanation:o,...s}=t,{path:r}=t,a=0===r.length?n:`At path: ${r.join(".")} -- ${n}`;super(o??a),null!=o&&(this.cause=a),Object.assign(this,s),this.name=this.constructor.name,this.failures=()=>i??(i=[t,...e()])}}function wi(t){return"object"==typeof t&&null!=t}function $i(t){return"symbol"==typeof t?t.toString():"string"==typeof t?JSON.stringify(t):`${t}`}function xi(t,e,i,n){if(!0===t)return;!1===t?t={}:"string"==typeof t&&(t={message:t});const{path:o,branch:s}=e,{type:r}=i,{refinement:a,message:l=`Expected a value of type \`${r}\`${a?` with refinement \`${a}\``:""}, but received: \`${$i(n)}\``}=t;return{value:n,type:r,refinement:a,key:o[o.length-1],path:o,branch:s,...t,message:l}}function*Ci(t,e,i,n){(function(t){return wi(t)&&"function"==typeof t[Symbol.iterator]})(t)||(t=[t]);for(const o of t){const t=xi(o,e,i,n);t&&(yield t)}}function*Ai(t,e,i={}){const{path:n=[],branch:o=[t],coerce:s=!1,mask:r=!1}=i,a={path:n,branch:o};if(s&&(t=e.coercer(t,a),r&&"type"!==e.type&&wi(e.schema)&&wi(t)&&!Array.isArray(t)))for(const i in t)void 0===e.schema[i]&&delete t[i];let l="valid";for(const n of e.validator(t,a))n.explanation=i.message,l="not_valid",yield[n,void 0];for(let[c,h,u]of e.entries(t,a)){const e=Ai(h,u,{path:void 0===c?n:[...n,c],branch:void 0===c?o:[...o,h],coerce:s,mask:r,message:i.message});for(const i of e)i[0]?(l=null!=i[0].refinement?"not_refined":"not_valid",yield[i[0],void 0]):s&&(h=i[1],void 0===c?t=h:t instanceof Map?t.set(c,h):t instanceof Set?t.add(h):wi(t)&&(void 0!==h||c in t)&&(t[c]=h))}if("not_valid"!==l)for(const n of e.refiner(t,a))n.explanation=i.message,l="not_refined",yield[n,void 0];"valid"===l&&(yield[void 0,t])}class ki{constructor(t){const{type:e,schema:i,validator:n,refiner:o,coercer:s=(t=>t),entries:r=function*(){}}=t;this.type=e,this.schema=i,this.entries=r,this.coercer=s,this.validator=n?(t,e)=>Ci(n(t,e),e,this,t):()=>[],this.refiner=o?(t,e)=>Ci(o(t,e),e,this,t):()=>[]}assert(t,e){return Li(t,this,e)}create(t,e){return function(t,e,i){const n=Vi(t,e,{coerce:!0,message:i});if(n[0])throw n[0];return n[1]}(t,this,e)}is(t){return function(t,e){const i=Vi(t,e);return!i[0]}(t,this)}mask(t,e){return function(t,e,i){const n=Vi(t,e,{coerce:!0,mask:!0,message:i});if(n[0])throw n[0];return n[1]}(t,this,e)}validate(t,e={}){return Vi(t,this,e)}}function Li(t,e,i){const n=Vi(t,e,{message:i});if(n[0])throw n[0]}function Vi(t,e,i={}){const n=Ai(t,e,i),o=function(t){const{done:e,value:i}=t.next();return e?void 0:i}(n);if(o[0]){const t=new bi(o[0],(function*(){for(const t of n)t[0]&&(yield t[0])}));return[t,void 0]}return[void 0,o[1]]}function Ei(t,e){return new ki({type:t,schema:null,validator:e})}function Si(t){return new ki({type:"array",schema:t,*entries(e){if(t&&Array.isArray(e))for(const[i,n]of e.entries())yield[i,n,t]},coercer:t=>Array.isArray(t)?t.slice():t,validator:t=>Array.isArray(t)||`Expected an array value, but received: ${$i(t)}`})}function Mi(){return Ei("boolean",(t=>"boolean"==typeof t))}function Ti(t){const e=$i(t),i=typeof t;return new ki({type:"literal",schema:"string"===i||"number"===i||"boolean"===i?t:null,validator:i=>i===t||`Expected the literal \`${e}\`, but received: ${$i(i)}`})}function Hi(){return Ei("number",(t=>"number"==typeof t&&!isNaN(t)||`Expected a number, but received: ${$i(t)}`))}function Di(t){const e=t?Object.keys(t):[],i=Ei("never",(()=>!1));return new ki({type:"object",schema:t||null,*entries(n){if(t&&wi(n)){const o=new Set(Object.keys(n));for(const i of e)o.delete(i),yield[i,n[i],t[i]];for(const t of o)yield[t,n[t],i]}},validator:t=>wi(t)||`Expected an object, but received: ${$i(t)}`,coercer:t=>wi(t)?{...t}:t})}function Oi(t){return new ki({...t,validator:(e,i)=>void 0===e||t.validator(e,i),refiner:(e,i)=>void 0===e||t.refiner(e,i)})}function Pi(){return Ei("string",(t=>"string"==typeof t||`Expected a string, but received: ${$i(t)}`))}function zi(t){const e=Object.keys(t);return new ki({type:"type",schema:t,*entries(i){if(wi(i))for(const n of e)yield[n,i[n],t[n]]},validator:t=>wi(t)||`Expected an object, but received: ${$i(t)}`,coercer:t=>wi(t)?{...t}:t})}function Ni(t){const e=t.map((t=>t.type)).join(" | ");return new ki({type:"union",schema:null,coercer(e){for(const i of t){const[t,n]=i.validate(e,{coerce:!0});if(!t)return n}return e},validator(i,n){const o=[];for(const e of t){const[...t]=Ai(i,e,n),[s]=t;if(!s[0])return[];for(const[e]of t)e&&o.push(e)}return[`Expected the value to satisfy a union of \`${e}\`, but received: ${$i(i)}`,...o]}})}const ji=Di({user:Pi()}),Ii=Ni([Mi(),Di({text:Oi(Pi()),excemptions:Oi(Si(ji))})]),Ri=Di({action:Ti("url"),url_path:Pi(),confirmation:Oi(Ii)}),Fi=Di({action:Ti("call-service"),service:Pi(),service_data:Oi(Di()),data:Oi(Di()),target:Oi(Di({entity_id:Oi(Ni([Pi(),Si(Pi())])),device_id:Oi(Ni([Pi(),Si(Pi())])),area_id:Oi(Ni([Pi(),Si(Pi())]))})),confirmation:Oi(Ii)}),Ui=Di({action:Ti("navigate"),navigation_path:Pi(),confirmation:Oi(Ii)}),Bi=zi({action:Ti("fire-dom-event")}),Zi=Di({action:function(t){const e={},i=t.map((t=>$i(t))).join();for(const i of t)e[i]=i;return new ki({type:"enums",schema:e,validator:e=>t.includes(e)||`Expected one of \`${i}\`, but received: ${$i(e)}`})}(["none","toggle","more-info","call-service","url","navigate"]),confirmation:Oi(Ii)});var Wi;Wi=t=>{if(t&&"object"==typeof t&&"action"in t)switch(t.action){case"call-service":return Fi;case"fire-dom-event":return Bi;case"navigate":return Ui;case"url":return Ri}return Zi},new ki({type:"dynamic",schema:null,*entries(t,e){const i=Wi(t,e);yield*i.entries(t,e)},validator:(t,e)=>Wi(t,e).validator(t,e),coercer:(t,e)=>Wi(t,e).coercer(t,e),refiner:(t,e)=>Wi(t,e).refiner(t,e)}),r` + */const gt=(t=>(...e)=>({_$litDirective$:t,values:e}))(class extends ft{constructor(t){if(super(t),t.type!==vt||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){if(void 0===this.it){this.it=new Set,void 0!==t.strings&&(this.st=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!this.st?.has(t)&&this.it.add(t);return this.render(e)}const i=t.element.classList;for(const t of this.it)t in e||(i.remove(t),this.it.delete(t));for(const t in e){const n=!!e[t];n===this.it.has(t)||this.st?.has(t)||(n?(i.add(t),this.it.add(t)):(i.remove(t),this.it.delete(t)))}return Z}});var yt="M6.59,0.66C8.93,-1.15 11.47,1.06 12.04,4.5C12.47,4.5 12.89,4.62 13.27,4.84C13.79,4.24 14.25,3.42 14.07,2.5C13.65,0.35 16.06,-1.39 18.35,1.58C20.16,3.92 17.95,6.46 14.5,7.03C14.5,7.46 14.39,7.89 14.16,8.27C14.76,8.78 15.58,9.24 16.5,9.06C18.63,8.64 20.38,11.04 17.41,13.34C15.07,15.15 12.53,12.94 11.96,9.5C11.53,9.5 11.11,9.37 10.74,9.15C10.22,9.75 9.75,10.58 9.93,11.5C10.35,13.64 7.94,15.39 5.65,12.42C3.83,10.07 6.05,7.53 9.5,6.97C9.5,6.54 9.63,6.12 9.85,5.74C9.25,5.23 8.43,4.76 7.5,4.94C5.37,5.36 3.62,2.96 6.59,0.66M5,16H7A2,2 0 0,1 9,18V24H7V22H5V24H3V18A2,2 0 0,1 5,16M5,18V20H7V18H5M12.93,16H15L12.07,24H10L12.93,16M18,16H21V18H18V22H21V24H18A2,2 0 0,1 16,22V18A2,2 0 0,1 18,16Z",bt="M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z",wt="M5,2V13H8V22L15,10H11L15,2M17,15H19V17H17V15M17,7H19V13H17V7Z",$t="M12,3L2,12H5V20H19V12H22L12,3M12,8.75A2.25,2.25 0 0,1 14.25,11A2.25,2.25 0 0,1 12,13.25A2.25,2.25 0 0,1 9.75,11A2.25,2.25 0 0,1 12,8.75M12,15C13.5,15 16.5,15.75 16.5,17.25V18H7.5V17.25C7.5,15.75 10.5,15 12,15Z",xt="M12 2C7.04 2 3 6.04 3 11C3 14.91 5.5 18.24 9 19.47V22H11V19.94C11.33 20 11.66 20 12 20S12.67 20 13 19.94V22H15V19.47C18.5 18.23 21 14.9 21 11C21 6.04 16.96 2 12 2M14.25 14L11.25 17L9.75 15.5L11 14.25L9.75 13L12.75 10L14.25 11.5L13 12.75L14.25 14M16 9H8V7H16V9Z",Ct="M10,0.2C9,0.2 8.2,1 8.2,2C8.2,3 9,3.8 10,3.8C11,3.8 11.8,3 11.8,2C11.8,1 11,0.2 10,0.2M15.67,1A7.33,7.33 0 0,0 23,8.33V7A6,6 0 0,1 17,1H15.67M18.33,1C18.33,3.58 20.42,5.67 23,5.67V4.33C21.16,4.33 19.67,2.84 19.67,1H18.33M21,1A2,2 0 0,0 23,3V1H21M7.92,4.03C7.75,4.03 7.58,4.06 7.42,4.11L2,5.8V11H3.8V7.33L5.91,6.67L2,22H3.8L6.67,13.89L9,17V22H10.8V15.59L8.31,11.05L9.04,8.18L10.12,10H15V8.2H11.38L9.38,4.87C9.08,4.37 8.54,4.03 7.92,4.03Z",At="M17 13V7H19V13H17M17 17V15H19V17H17M13 13V5C13 3.3 11.7 2 10 2S7 3.3 7 5V13C4.8 14.7 4.3 17.8 6 20S10.8 22.7 13 21 15.7 16.2 14 14C13.7 13.6 13.4 13.3 13 13M10 4C10.6 4 11 4.4 11 5V8H9V5C9 4.4 9.4 4 10 4Z",kt="M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z",Lt="M21 20V2H3V20H1V23H23V20M19 4V11H17V4M5 4H7V11H5M5 20V13H7V20M9 20V4H15V20M17 20V13H19V20Z",Vt="M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8M7 9H15V11H7V9M7 12H15V14H7V12M7 15H15V16.5L14.8 17H7V15M13.7 20H7V18H14.5L13.7 20M16 8H6V20H4V8H2V4H20V8H18V12H16.6L16.1 13.3L16 13.7V8Z";var Et={version:"version",current:"current"},St={card:{climate:{disable_window:"Disable window",disable_overpowering:"Disable overpowering",disable_heat:"Disable heat",disable_cool:"Disable cool",disable_heat_cool:"Disable heat/cool",disable_auto:"Disable auto",disable_fan_only:"Disable fan only",disable_dry:"Disable dry",disable_off:"Disable off",disable_menu:"Disable menu",set_current_as_main:"Exchange target temperature and room temperature",disable_security_warning:"Disable battery warning",disable_buttons:"Disable plus/minus buttons",disable_power_infos:"Disable power infos",disable_auto_fan_infos:"Disable auto-fan infos",disable_name:"Disable name"}}},Mt={window_open:"Window open",night_mode:"Night mode",eco:"Eco",overpowering:"Overpowering",none:"Manual",comfort:"Comfort",boost:"Boost",frost:"Frost",power:"Overpowering",activity:"Activity",undefined:"None",auto_regulation_light:"Light",auto_regulation_medium:"Medium",auto_regulation_strong:"Strong",auto_regulation_slow:"Slow",auto_regulation_expert:"Expert",auto_fan_mode:"Auto-fan",auto_fan_mode_off:"None",auto_fan_none:"None",auto_fan_low:"Low",auto_fan_medium:"Medium",auto_fan_high:"High",auto_fan_boost:"Boost",fan_low:"Low",fan_low_mid:"Low-medium",fan_mid:"Medium",fan_mid_high:"Medium-high",fan_high:"High",fan_mute:"Mute",fan_turbo:"Turbo",fan_none:"None",change_message:"Double click to change preset",toggle_message:"Click to toggle"},Tt={common:Et,editor:St,extra_states:Mt},Ht=Object.freeze({__proto__:null,common:Et,default:Tt,editor:St,extra_states:Mt}),Dt={version:"Version",current:"Aktuell"},Ot={card:{climate:{disable_window:"Fenster-offen-Anzeige deaktivieren",disable_overpowering:"Sommer-Anzeige deaktivieren",disable_heat:"Heiz-Anzeige deaktivieren",disable_cool:"Kühl-Anzeige deaktivieren",disable_heat_cool:"Heiz-/Kühl-Anzeige deaktivieren",disable_auto:"Auto-Anzeige deaktivieren",disable_fan_only:"Nur-Lüften-Anzeige deaktivieren",disable_dry:"Trocknen-Anzeige deaktivieren",disable_off:"Aus-Anzeige deaktivieren",disable_menu:"Menü deaktivieren",disable_security_warning:"Batterie-Warnung deaktivieren",disable_buttons:"Plus/Minus Buttons deaktivieren",eco_temperature:"Eco Temperatur",set_current_as_main:"Zieltemperatur mit aktueller Temperatur tauschen"}}},Pt={window_open:"Fenster offen",night_mode:"Nachtmodus",eco:"Eco",overpowering:"Sommer"},zt={common:Dt,editor:Ot,extra_states:Pt},Nt=Object.freeze({__proto__:null,common:Dt,default:zt,editor:Ot,extra_states:Pt}),jt={version:"version",current:"Actuelle"},It={card:{climate:{disable_window:"Désactiver fenêtre status",disable_overpowering:"Désactiver sur-puissance status",disable_heat:"Désactiver mode chauffe",disable_cool:"Désactiver mode clim",disable_heat_cool:"Désactiver mode chauffe/clim",disable_auto:"Désactiver mode auto",disable_fan_only:"Désactiver mode ventilation",disable_dry:"Désactiver mode déshumidification",disable_off:"Désactiver arret",set_current_as_main:"Echanger temperature cible avec temperature locale",disable_security_warning:"Désactiver sécurité messages",disable_buttons:"Désactiver les boutons +/-",disable_power_infos:"Désactiver les infos de puissance",disable_auto_fan_infos:"Désactiver les infos auto-ventilation",disable_name:"Désactiver le nom"}}},Rt={window_open:"Fenêtre ouverte",eco:"Eco",overpowering:"Sur-puissance",none:"Manuel",comfort:"Confort",boost:"Boost",frost:"Hors-gel",power:"Délestage",activity:"Activité",auto_regulation_light:"Légère",auto_regulation_medium:"Moyenne",auto_regulation_strong:"Forte",auto_regulation_slow:"Lente",auto_regulation_expert:"Expert",auto_fan_mode:"Auto-fan",auto_fan_mode_off:"Aucun",auto_fan_none:"Aucun",auto_fan_low:"Bas",auto_fan_medium:"Moyen",auto_fan_high:"Haut",auto_fan_turbo:"Turbo",fan_low:"Bas",fan_low_mid:"Bas-moyen",fan_mid:"Moyen",fan_mid_high:"Moyen-haut",fan_high:"Haut",fan_mute:"Silence",fan_turbo:"Turbo",fan_none:"Aucun",change_message:"Double clic pour changer le preset",toggle_message:"Clic pour basculer"},Ft={common:jt,editor:It,extra_states:Rt},Ut=Object.freeze({__proto__:null,common:jt,default:Ft,editor:It,extra_states:Rt}),Bt={version:"версия",current:"текущий"},Zt={window_open:"Окно открыто",night_mode:"Ночной режим",eco:"Эко",overpowering:"Лето"},Wt={common:Bt,extra_states:Zt},qt=Object.freeze({__proto__:null,common:Bt,default:Wt,extra_states:Zt}),Yt={version:"wersja",current:"aktualna"},Xt={window_open:"otwarte okno",night_mode:"tryb nocny",eco:"tryb ekonomiczny",overpowering:"lato"},Kt={common:Yt,extra_states:Xt},Jt=Object.freeze({__proto__:null,common:Yt,default:Kt,extra_states:Xt}),Gt={version:"verzia",current:"aktuálny"},Qt={card:{climate:{disable_window:"Zakázať okno",disable_overpowering:"Zakázať leto",disable_heat:"Zakázať kúrenie",disable_cool:"Zakázať chladenie",disable_heat_cool:"Zakázať kúrenie/chladenie",disable_auto:"Zakázat automatic",disable_fan_only:"Zakázať režim ventilátora",disable_dry:"Zakázať sušenie",disable_off:"Vypnúť",disable_menu:"Zakázať menu",disable_security_warning:"Zakázať upozornenie na batériu",disable_buttons:"Zakázať plus/mínus tlačidlá",eco_temperature:"Eco teplota",set_current_as_main:"Vymeňte cieľ za miesta s aktuálnou teplotou"}}},te={window_open:"Okno otvorené",night_mode:"Nočný mód",eco:"Eco",overpowering:"Leto"},ee={common:Gt,editor:Qt,extra_states:te},ie={version:"Verzió",current:"Aktuális"},ne={card:{climate:{disable_window:"Ablak kikapcsolás",disable_overpowering:"Nyár kikapcsolás",disable_heat:"Fűtés kikacsolás",disable_cool:"Hűtés kikapcsolás",disable_heat_cool:"Fűtés/Hűtés kikapcsolás",disable_auto:"Auto kikapcsolás",disable_fan_only:"Csak ventillátor kikapcsolás",disable_dry:"Szárítás kikapcsolás",disable_off:"Kikapcsolás inaktiválás",eco_temperature:"Eco hőmérséklet",set_current_as_main:"Aktuális hőmérséklet használata"}}},oe={window_open:"Ablak nyitva",night_mode:"Éjszakai mód",eco:"Eco",overpowering:"Nyár"},se={common:ie,editor:ne,extra_states:oe},re={version:"version",current:"nuværende"},ae={window_open:"Vindue åben",night_mode:"Nattilstand",eco:"Eco",overpowering:"Overpowering"},le={common:re,extra_states:ae},ce={version:"version",current:"Actual"},he={window_open:"Ventana abierta",night_mode:"Modo noche",eco:"Eco",overpowering:"Verano"},ue={common:ce,extra_states:he},de={version:"versiyon",current:"şimdiki"},pe={window_open:"Pencere açık",night_mode:"Gece modu",eco:"Eco",overpowering:"Yaz"},me={common:de,extra_states:pe},_e={version:"versione",current:"Corrente"},ve={card:{climate:{disable_window:"Disabilita indicatore Finestra",disable_overpowering:"Disabilita indicatore Estate",disable_heat:"Disabilita tasto heat",disable_cool:"Disabilita tasto cool",disable_heat_cool:"Disabilita tasto heat/cool",disable_auto:"Disabilita tasto auto",disable_fan_only:"Disabilita tasto fan only",disable_dry:"Disabilita tasto dry",disable_off:"Disabililita tasto off",eco_temperature:"Temperatura target",set_current_as_main:"Imposta la temperatura attuale come target"}}},fe={window_open:"Finestra aperta",night_mode:"Modalità notturna",eco:"Eco",overpowering:"Estate"},ge={common:_e,editor:ve,extra_states:fe},ye={version:"versão",current:"actual"},be={card:{climate:{disable_window:"Desactivar Janela",disable_overpowering:"Desactivar Verão",disable_heat:"Desactivar Aquecimento",disable_cool:"Desactivar Arrefecimento",disable_heat_cool:"Desactivar Aquecimento/Arrefecimento",disable_auto:"Desactivar Auto",disable_fan_only:"Desactivar Ventilação",disable_dry:"Desactivar Secagem",disable_off:"Desactivar Off",eco_temperature:"Modo Eco",set_current_as_main:"Mudar para a temperatura local actual"}}},we={window_open:"Janela Aberta",night_mode:"Modo Noturno",eco:"Eco",overpowering:"Verão"},$e={common:ye,editor:be,extra_states:we},xe={version:"版本",current:"当前"},Ce={window_open:"窗户打开",night_mode:"夜间模式",eco:"节能",overpowering:"夏季"},Ae={common:xe,extra_states:Ce},ke={version:"версія",current:"поточний"},Le={window_open:"Вікно відчинено",night_mode:"Нічний режим",eco:"Економія",overpowering:"Літо"},Ve={common:ke,extra_states:Le},Ee={version:"έκδοση",current:"τρέχουσα"},Se={window_open:"Παράθυρο ανοικτό",night_mode:"Λειτουργία νυκτός",eco:"Εξοικονόμηση",overpowering:"Καλοκαίρι"},Me={common:Ee,extra_states:Se},Te={version:"versie",current:"huidig"},He={window_open:"Raam open",night_mode:"Nacht modus",eco:"Eco",overpowering:"Zomer"},De={common:Te,extra_states:He},Oe={version:"versjon",current:"nåværende"},Pe={window_open:"Vindu åpent",night_mode:"Nattmodus",eco:"Eco",overpowering:"Sommer"},ze={common:Oe,extra_states:Pe},Ne={version:"verze",current:"aktuální"},je={card:{climate:{disable_window:"Zakázat okno",disable_overpowering:"Zakázat léto",disable_heat:"Zakázat topení",disable_cool:"Zakázat chlazení",disable_heat_cool:"Zakázat topení/chlazení",disable_auto:"Zakázať automatic",disable_fan_only:"Zakázat pouze ventilátor",disable_dry:"Zakázat sušení",disable_off:"Zakázat vypnuto",disable_menu:"Zakázat menu",disable_security_warning:"Zakázat upozornění baterie",disable_buttons:"Zakázat tlačítka plus/minus",eco_temperature:"Eco teplota",set_current_as_main:"Prohodit místa cílovoé a aktáalní teploty"}}},Ie={window_open:"okno otevřeno",night_mode:"Noční režim",eco:"Eco",overpowering:"Léto"},Re={common:Ne,editor:je,extra_states:Ie},Fe={version:"različica",current:"trenutno"},Ue={window_open:"Okno odprto",night_mode:"Nočni način",eco:"Eko",overpowering:"Poletje"},Be={common:Fe,extra_states:Ue},Ze={version:"version",current:"Nuvarande"},We={window_open:"Fönster öppet",night_mode:"Nattläge",eco:"Eco",overpowering:"Sommar"},qe={common:Ze,extra_states:We},Ye={version:"версия",currrent:"текущий"},Xe={window_open:"Отворен прозорец",night_mode:"Нощен режим",eco:"Екологичен режим",overpowering:"Лято"},Ke={common:Ye,extra_states:Xe},Je={version:"version",current:"Nykyinen"},Ge={window_open:"Ikkuna auki",night_mode:"Yötila",eco:"Eco",overpowering:"Kesä"},Qe={common:Je,extra_states:Ge},ti={version:"versiune",current:"curent"},ei={window_open:"Fereastră deschisă",night_mode:"Mod noapte",eco:"Eco",overpowering:"Vară"},ii={common:ti,extra_states:ei},ni={version:"versió",current:"Actual"},oi={window_open:"Finestra oberta",night_mode:"Mode nocturn",eco:"Eco",overpowering:"Estiu"},si={common:ni,extra_states:oi};const ri={en:Ht,de:Nt,fr:Ut,ru:qt,sk:Object.freeze({__proto__:null,common:Gt,default:ee,editor:Qt,extra_states:te}),hu:Object.freeze({__proto__:null,common:ie,default:se,editor:ne,extra_states:oe}),pl:Jt,da:Object.freeze({__proto__:null,common:re,default:le,extra_states:ae}),es:Object.freeze({__proto__:null,common:ce,default:ue,extra_states:he}),tr:Object.freeze({__proto__:null,common:de,default:me,extra_states:pe}),it:Object.freeze({__proto__:null,common:_e,default:ge,editor:ve,extra_states:fe}),pt:Object.freeze({__proto__:null,common:ye,default:$e,editor:be,extra_states:we}),cn:Object.freeze({__proto__:null,common:xe,default:Ae,extra_states:Ce}),uk:Object.freeze({__proto__:null,common:ke,default:Ve,extra_states:Le}),el:Object.freeze({__proto__:null,common:Ee,default:Me,extra_states:Se}),nl:Object.freeze({__proto__:null,common:Te,default:De,extra_states:He}),no:Object.freeze({__proto__:null,common:Oe,default:ze,extra_states:Pe}),cs:Object.freeze({__proto__:null,common:Ne,default:Re,editor:je,extra_states:Ie}),sl:Object.freeze({__proto__:null,common:Fe,default:Be,extra_states:Ue}),sv:Object.freeze({__proto__:null,common:Ze,default:qe,extra_states:We}),bg:Object.freeze({__proto__:null,common:Ye,default:Ke,extra_states:Xe}),fi:Object.freeze({__proto__:null,common:Je,default:Qe,extra_states:Ge}),ro:Object.freeze({__proto__:null,common:ti,default:ii,extra_states:ei}),ca:Object.freeze({__proto__:null,common:ni,default:si,extra_states:oi})},ai="en";function li({hass:t,string:e,search:i="",replace:n=""}){var o;const s=null!==(o=null==t?void 0:t.locale.language)&&void 0!==o?o:ai;let r;try{r=e.split(".").reduce(((t,e)=>t[e]),ri[s])}catch(t){r=e.split(".").reduce(((t,e)=>t[e]),ri.en)}return void 0===r&&(r=e.split(".").reduce(((t,e)=>t[e]),ri.en)),""!==i&&""!==n&&(r=r.replace(i,n)),r}function ci(t,e){try{return t.split(".").reduce(((t,e)=>t[e]),ri[e])}catch(t){return}}var hi,ui,di=Number.isNaN||function(t){return"number"==typeof t&&t!=t};function pi(t,e){if(t.length!==e.length)return!1;for(var i=0;inew Intl.DateTimeFormat(t.language,{weekday:"long",month:"long",day:"numeric"}))),mi((t=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric"}))),mi((t=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"numeric",day:"numeric"}))),mi((t=>new Intl.DateTimeFormat(t.language,{day:"numeric",month:"short"}))),mi((t=>new Intl.DateTimeFormat(t.language,{month:"long",year:"numeric"}))),mi((t=>new Intl.DateTimeFormat(t.language,{month:"long"}))),mi((t=>new Intl.DateTimeFormat(t.language,{year:"numeric"}))),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"}(hi||(hi={})),function(t){t.language="language",t.system="system",t.am_pm="12",t.twenty_four="24"}(ui||(ui={}));const _i=mi((t=>{if(t.time_format===ui.language||t.time_format===ui.system){const e=t.time_format===ui.language?t.language:void 0,i=(new Date).toLocaleString(e);return i.includes("AM")||i.includes("PM")}return t.time_format===ui.am_pm}));mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"long",day:"numeric",hour:_i(t)?"numeric":"2-digit",minute:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"long",day:"numeric",hour:_i(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{hour:"numeric",minute:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{hour:_i(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hour12:_i(t)}))),mi((t=>new Intl.DateTimeFormat("en"!==t.language||_i(t)?t.language:"en-u-hc-h23",{weekday:"long",hour:_i(t)?"numeric":"2-digit",minute:"2-digit",hour12:_i(t)})));const vi=(t,e,i,n)=>{n=n||{},i=null==i?{}:i;const o=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return o.detail=i,t.dispatchEvent(o),o},fi=(t,e,i)=>Math.min(Math.max(t,e),i),gi=(t,e,i)=>{const n=e?(t=>{switch(t.number_format){case hi.comma_decimal:return["en-US","en"];case hi.decimal_comma:return["de","es","it"];case hi.space_comma:return["fr","sv","cs"];case hi.system:return;default:return t.language}})(e):void 0;if(Number.isNaN=Number.isNaN||function t(e){return"number"==typeof e&&t(e)},(null==e?void 0:e.number_format)!==hi.none&&!Number.isNaN(Number(t))&&Intl)try{return new Intl.NumberFormat(n,yi(t,i)).format(Number(t))}catch(e){return console.error(e),new Intl.NumberFormat(void 0,yi(t,i)).format(Number(t))}return"string"==typeof t?t:`${((t,e=2)=>Math.round(t*10**e)/10**e)(t,null==i?void 0:i.maximumFractionDigits).toString()}${"currency"===(null==i?void 0:i.style)?` ${i.currency}`:""}`},yi=(t,e)=>{const i=Object.assign({maximumFractionDigits:2},e);if("string"!=typeof t)return i;if(!e||!e.minimumFractionDigits&&!e.maximumFractionDigits){const e=t.indexOf(".")>-1?t.split(".")[1].length:0;i.minimumFractionDigits=e,i.maximumFractionDigits=e}return i};class bi extends TypeError{constructor(t,e){let i;const{message:n,explanation:o,...s}=t,{path:r}=t,a=0===r.length?n:`At path: ${r.join(".")} -- ${n}`;super(o??a),null!=o&&(this.cause=a),Object.assign(this,s),this.name=this.constructor.name,this.failures=()=>i??(i=[t,...e()])}}function wi(t){return"object"==typeof t&&null!=t}function $i(t){return"symbol"==typeof t?t.toString():"string"==typeof t?JSON.stringify(t):`${t}`}function xi(t,e,i,n){if(!0===t)return;!1===t?t={}:"string"==typeof t&&(t={message:t});const{path:o,branch:s}=e,{type:r}=i,{refinement:a,message:l=`Expected a value of type \`${r}\`${a?` with refinement \`${a}\``:""}, but received: \`${$i(n)}\``}=t;return{value:n,type:r,refinement:a,key:o[o.length-1],path:o,branch:s,...t,message:l}}function*Ci(t,e,i,n){(function(t){return wi(t)&&"function"==typeof t[Symbol.iterator]})(t)||(t=[t]);for(const o of t){const t=xi(o,e,i,n);t&&(yield t)}}function*Ai(t,e,i={}){const{path:n=[],branch:o=[t],coerce:s=!1,mask:r=!1}=i,a={path:n,branch:o};if(s&&(t=e.coercer(t,a),r&&"type"!==e.type&&wi(e.schema)&&wi(t)&&!Array.isArray(t)))for(const i in t)void 0===e.schema[i]&&delete t[i];let l="valid";for(const n of e.validator(t,a))n.explanation=i.message,l="not_valid",yield[n,void 0];for(let[c,h,u]of e.entries(t,a)){const e=Ai(h,u,{path:void 0===c?n:[...n,c],branch:void 0===c?o:[...o,h],coerce:s,mask:r,message:i.message});for(const i of e)i[0]?(l=null!=i[0].refinement?"not_refined":"not_valid",yield[i[0],void 0]):s&&(h=i[1],void 0===c?t=h:t instanceof Map?t.set(c,h):t instanceof Set?t.add(h):wi(t)&&(void 0!==h||c in t)&&(t[c]=h))}if("not_valid"!==l)for(const n of e.refiner(t,a))n.explanation=i.message,l="not_refined",yield[n,void 0];"valid"===l&&(yield[void 0,t])}class ki{constructor(t){const{type:e,schema:i,validator:n,refiner:o,coercer:s=(t=>t),entries:r=function*(){}}=t;this.type=e,this.schema=i,this.entries=r,this.coercer=s,this.validator=n?(t,e)=>Ci(n(t,e),e,this,t):()=>[],this.refiner=o?(t,e)=>Ci(o(t,e),e,this,t):()=>[]}assert(t,e){return Li(t,this,e)}create(t,e){return function(t,e,i){const n=Vi(t,e,{coerce:!0,message:i});if(n[0])throw n[0];return n[1]}(t,this,e)}is(t){return function(t,e){const i=Vi(t,e);return!i[0]}(t,this)}mask(t,e){return function(t,e,i){const n=Vi(t,e,{coerce:!0,mask:!0,message:i});if(n[0])throw n[0];return n[1]}(t,this,e)}validate(t,e={}){return Vi(t,this,e)}}function Li(t,e,i){const n=Vi(t,e,{message:i});if(n[0])throw n[0]}function Vi(t,e,i={}){const n=Ai(t,e,i),o=function(t){const{done:e,value:i}=t.next();return e?void 0:i}(n);if(o[0]){const t=new bi(o[0],(function*(){for(const t of n)t[0]&&(yield t[0])}));return[t,void 0]}return[void 0,o[1]]}function Ei(t,e){return new ki({type:t,schema:null,validator:e})}function Si(t){return new ki({type:"array",schema:t,*entries(e){if(t&&Array.isArray(e))for(const[i,n]of e.entries())yield[i,n,t]},coercer:t=>Array.isArray(t)?t.slice():t,validator:t=>Array.isArray(t)||`Expected an array value, but received: ${$i(t)}`})}function Mi(){return Ei("boolean",(t=>"boolean"==typeof t))}function Ti(t){const e=$i(t),i=typeof t;return new ki({type:"literal",schema:"string"===i||"number"===i||"boolean"===i?t:null,validator:i=>i===t||`Expected the literal \`${e}\`, but received: ${$i(i)}`})}function Hi(){return Ei("number",(t=>"number"==typeof t&&!isNaN(t)||`Expected a number, but received: ${$i(t)}`))}function Di(t){const e=t?Object.keys(t):[],i=Ei("never",(()=>!1));return new ki({type:"object",schema:t||null,*entries(n){if(t&&wi(n)){const o=new Set(Object.keys(n));for(const i of e)o.delete(i),yield[i,n[i],t[i]];for(const t of o)yield[t,n[t],i]}},validator:t=>wi(t)||`Expected an object, but received: ${$i(t)}`,coercer:t=>wi(t)?{...t}:t})}function Oi(t){return new ki({...t,validator:(e,i)=>void 0===e||t.validator(e,i),refiner:(e,i)=>void 0===e||t.refiner(e,i)})}function Pi(){return Ei("string",(t=>"string"==typeof t||`Expected a string, but received: ${$i(t)}`))}function zi(t){const e=Object.keys(t);return new ki({type:"type",schema:t,*entries(i){if(wi(i))for(const n of e)yield[n,i[n],t[n]]},validator:t=>wi(t)||`Expected an object, but received: ${$i(t)}`,coercer:t=>wi(t)?{...t}:t})}function Ni(t){const e=t.map((t=>t.type)).join(" | ");return new ki({type:"union",schema:null,coercer(e){for(const i of t){const[t,n]=i.validate(e,{coerce:!0});if(!t)return n}return e},validator(i,n){const o=[];for(const e of t){const[...t]=Ai(i,e,n),[s]=t;if(!s[0])return[];for(const[e]of t)e&&o.push(e)}return[`Expected the value to satisfy a union of \`${e}\`, but received: ${$i(i)}`,...o]}})}const ji=Di({user:Pi()}),Ii=Ni([Mi(),Di({text:Oi(Pi()),excemptions:Oi(Si(ji))})]),Ri=Di({action:Ti("url"),url_path:Pi(),confirmation:Oi(Ii)}),Fi=Di({action:Ti("call-service"),service:Pi(),service_data:Oi(Di()),data:Oi(Di()),target:Oi(Di({entity_id:Oi(Ni([Pi(),Si(Pi())])),device_id:Oi(Ni([Pi(),Si(Pi())])),area_id:Oi(Ni([Pi(),Si(Pi())]))})),confirmation:Oi(Ii)}),Ui=Di({action:Ti("navigate"),navigation_path:Pi(),confirmation:Oi(Ii)}),Bi=zi({action:Ti("fire-dom-event")}),Zi=Di({action:function(t){const e={},i=t.map((t=>$i(t))).join();for(const i of t)e[i]=i;return new ki({type:"enums",schema:e,validator:e=>t.includes(e)||`Expected one of \`${i}\`, but received: ${$i(e)}`})}(["none","toggle","more-info","call-service","url","navigate"]),confirmation:Oi(Ii)});var Wi;Wi=t=>{if(t&&"object"==typeof t&&"action"in t)switch(t.action){case"call-service":return Fi;case"fire-dom-event":return Bi;case"navigate":return Ui;case"url":return Ri}return Zi},new ki({type:"dynamic",schema:null,*entries(t,e){const i=Wi(t,e);yield*i.entries(t,e)},validator:(t,e)=>Wi(t,e).validator(t,e),coercer:(t,e)=>Wi(t,e).coercer(t,e),refiner:(t,e)=>Wi(t,e).refiner(t,e)}),r` #sortable a:nth-of-type(2n) paper-icon-item { animation-name: keyframes1; animation-iteration-count: infinite; @@ -615,7 +615,7 @@ const Wo=270;const qo=new Set(["ArrowRight","ArrowUp","ArrowLeft","ArrowDown","P ${t.value} ${t.unit} - `}_renderAutoFanInfo(t){const e=this.hass.localize(`component.climate.state._.${t.name}`)||li({hass:this.hass,string:`extra_states.${t.name}`});return U` + `}_renderAutoFanInfo(t){const e=(this.hass.localize(`component.climate.state._.${t.name}`)||li({hass:this.hass,string:`extra_states.${t.name}`}))+"\n"+li({hass:this.hass,string:"extra_states.toggle_message"});return U`