diff --git a/dist/scheduler-card.js b/dist/scheduler-card.js index ac9e3df4..b3ec641a 100644 --- a/dist/scheduler-card.js +++ b/dist/scheduler-card.js @@ -183,7 +183,7 @@ const Y=e=>t=>"function"==typeof t?((e,t)=>(window.customElements.define(e,t),t) * subject to an additional IP rights grant found at * http://polymer.github.io/PATENTS.txt */ -(window.litElementVersions||(window.litElementVersions=[])).push("2.4.0");const re={};class ie extends B{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const e=this.getStyles();if(Array.isArray(e)){const t=(e,r)=>e.reduceRight((e,r)=>Array.isArray(r)?t(r,e):(e.add(r),e),r),r=t(e,new Set),i=[];r.forEach(e=>i.unshift(e)),this._styles=i}else this._styles=void 0===e?[]:[e];this._styles=this._styles.map(e=>{if(e instanceof CSSStyleSheet&&!Z){const t=Array.prototype.slice.call(e.cssRules).reduce((e,t)=>e+t.cssText,"");return new ee(String(t),X)}return e})}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const e=this.constructor._styles;0!==e.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?Z?this.renderRoot.adoptedStyleSheets=e.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(e.map(e=>e.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(e){const t=this.render();super.update(e),t!==re&&this.constructor.render(t,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(e=>{const t=document.createElement("style");t.textContent=e.cssText,this.renderRoot.appendChild(t)}))}render(){return re}}var ae;ie.finalized=!0,ie.render=(e,t,r)=>{if(!r||"object"!=typeof r||!r.scopeName)throw new Error("The `scopeName` option is required.");const a=r.scopeName,s=T.has(t),n=M&&11===t.nodeType&&!!t.host,o=n&&!q.has(a),l=o?document.createDocumentFragment():t;if(((e,t,r)=>{let a=T.get(t);void 0===a&&(i(t,t.firstChild),T.set(t,a=new k(Object.assign({templateFactory:z},r))),a.appendInto(t)),a.setValue(e),a.commit()})(e,l,Object.assign({templateFactory:V(a)},r)),o){const e=T.get(l);T.delete(l);const r=e.value instanceof _?e.value.template:void 0;H(a,l,r),i(t,t.firstChild),t.appendChild(l),T.set(t,e)}!s&&n&&window.ShadyCSS.styleElement(t.host)},function(e){e.Level="LEVEL",e.List="LIST"}(ae||(ae={}));var se,ne;function oe(e,t){let r=e>=0?Math.floor(e/60):Math.ceil(e/60),i=e-60*r;return i%t!=0&&(i=Math.round(i/t)*t),i>=60&&(r++,i-=60),r>=24&&(r-=24),60*r+i}function le(e,t={}){let r=!!t.amPm&&t.amPm,i=!!t.absolute&&t.absolute,a=e>=0?Math.floor(e/60):Math.ceil(e/60),s=e-60*a,n="";r&&(n=a>=12?"PM":"AM",(a>12||12==a&&s>0)&&(a-=12));let o=String(Math.abs(a)).padStart(2,"0"),l=String(Math.abs(s)).padStart(2,"0"),c=a<0||s<0;return{hours:o,minutes:l,time:`${c&&!i?"-":""}${o}:${l}${r?" "+n:""}`,signed:c,amPm:n}}function ce(e,t={}){let r=t.stepSize?t.stepSize:1,i=!!t.signed&&t.signed,a=t.max?t.max:1440,s=oe(e,r);return s<0&&!i?e+=1440:s>=1440&&(e-=1440),s<-a?-a:s>a?a:e}function de(e){let t,r,i;if(null!==(i=/^([0-9]{2}):([0-9]{2})$/.exec(e)))[t,r]=[Number(i[1]),Number(i[2])];else if(null!==(i=/^([0-9]{2})([0-9]{2})$/.exec(e)))[t,r]=[Number(i[1]),Number(i[2])];else{if(null!==(i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[\+|\-][0-9]{2}:[0-9]{2}$/.exec(e))){let e=new Date(i[0]);return de(`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`)}console.log(`failed to parse timestamp '${e}'`)}return 60*t+r}function ue(e){return e.type==ne.Weekdays?[1,2,3,4,5]:e.type==ne.Custom&&e.custom_days?e.custom_days.sort().filter(e=>0!=e):[]}function he(e){let t=[1,2,3,4,5,6,7],r=[1,2,3,4,5],i=[...e].sort().filter(e=>0!=e);return i.length==t.length&&i.every((e,r)=>e==t[r])?{type:ne.Daily,custom_days:[]}:i.length==r.length&&i.every((e,t)=>e==r[t])?{type:ne.Weekdays,custom_days:[]}:{type:ne.Custom,custom_days:i}}function pe(e){return e==se.Sunrise?"sunrise":"sunset"}!function(e){e.Sunrise="SUNRISE",e.Sunset="SUNSET"}(se||(se={})),function(e){e.Daily="DAILY",e.Weekdays="WEEKDAYS",e.Custom="CUSTOM"}(ne||(ne={}));const me={sunrise:null,sunset:null,title:!0,am_pm:!1,time_step:10,temperature_unit:"",is_admin:!0},fe={time:{value:de("12:00")},days:{type:ne.Daily},action:"",entity:""},ve=[{time:{value:de("00:00")},endTime:{value:de("08:00")},days:{type:ne.Daily},action:"",entity:""},{time:{value:de("08:00")},endTime:{value:de("16:00")},days:{type:ne.Daily},action:"",entity:""},{time:{value:de("16:00")},endTime:{value:1440},days:{type:ne.Daily},action:"",entity:""}],ge={type:ae.Level,field:"",unit:"",name:"level",min:0,max:255,step:1,optional:!1},ye={type:ae.List,field:"",name:"option",options:[]};var _e={add:"hinzufügen",cancel:"abbrechen",next:"weiter",save:"speichern",delete:"löschen"},be={no_group_selected:"Wähle zuerst eine Gruppe aus",no_entity_selected:"Wähle zuerst eine Entity aus",no_groups_defined:"Es gibt keine Gruppe",no_entities_for_group:"Es gibt keine Entities in dieser Gruppe",no_actions_for_entity:"Es gibt keine Aktionen für diese Entity",no_entries_defined:"Es gibt keine Einträge"},we={group:"Gruppe",entity:"Entity",action:"Aktion",days:"Tage",time:"Zeit",options:"Optionen",day_type_daily:"jeden Tag",day_type_weekdays:"Werktags",day_type_custom:"benutzerdefiniert",shift_with_sun:"Zeit automatisch an Sonnenauf- bzw. Sonnenuntergang anpassen",brightness:"Helligkeit",temperature:"Temperatur",position:"Position"},Pe={mon:"Mo",tue:"Di",wed:"Mi",thu:"Do",fri:"Fr",sat:"Sa",sun:"So"},Ee={mon:"Montag",tue:"Dienstag",wed:"Mittwoch",thu:"Donnerstag",fri:"Freitag",sat:"Samstag",sun:"Sonntag"},Se={on:"An",every:"jeden",and:"und",at:"um",before:"vor",after:"nach",sunrise:"Sonnenaufgang",sunset:"Sonnenuntergang"},$e={turn_on:"anschalten",turn_off:"ausschalten",close_cover:"schließen",open_cover:"öffnen",set_temperature:"Temperatur einstellen",set_to:"setzen auf",set_position:"Position setzen",set_hvac_mode:"Modus setzen",set_preset_mode:"Voreinstellung setzen",set_value:"Wert setzen",select_option:"Option auswählen",select_source:"Quelle auswählen",start:"Start"},xe={camera:"Kameras",climate:"Heizung",cover:"Beschattung",fan:"Lüfter",group:"Gruppen",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"Licht",media_player:"Media Player",scene:"Szenen",switch:"Schalter",vacuum:"Staubsauger"},ke={scheduler:"Zeitplaner",actions:_e,instructions:be,fields:we,days_short:Pe,days_long:Ee,words:Se,services:$e,domains:xe},Oe=Object.freeze({__proto__:null,scheduler:"Zeitplaner",actions:_e,instructions:be,fields:we,days_short:Pe,days_long:Ee,words:Se,services:$e,domains:xe,default:ke}),je={add:"add item",cancel:"cancel",next:"next",save:"save",delete:"delete"},De={no_group_selected:"Select a group first",no_entity_selected:"Select an entity first",no_groups_defined:"There are no groups defined",no_entities_for_group:"There are no entities in this group",no_actions_for_entity:"There are no actions for this entity",no_entries_defined:"There are no items to show"},Ae={group:"Group",entity:"Entity",action:"Action",days:"Days",time:"Time",options:"Options",day_type_daily:"daily",day_type_weekdays:"weekdays",day_type_custom:"custom",shift_with_sun:"automatically adjust time to sunrise/sunset",brightness:"Brightness",temperature:"Temperature",position:"Position"},Ce={mon:"mon",tue:"tue",wed:"wed",thu:"thu",fri:"fri",sat:"sat",sun:"sun"},Fe={mon:"monday",tue:"tuesday",wed:"wednesday",thu:"thursday",fri:"friday",sat:"saturday",sun:"sunday"},ze={on:"on",every:"every",and:"and",at:"at",before:"before",after:"after",sunrise:"sunrise",sunset:"sunset"},Re={turn_on:"turn on",turn_off:"turn off",close_cover:"close",open_cover:"open",set_temperature:"set temperature",set_to:"set to",set_position:"set position",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},Te={camera:"cameras",climate:"climate",cover:"covers",fan:"fans",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"lights",media_player:"media players",scene:"scenes",switch:"switches",vacuum:"vacuum"},Ie={scheduler:"Scheduler",actions:je,instructions:De,fields:Ae,days_short:Ce,days_long:Fe,words:ze,services:Re,domains:Te},Ne=Object.freeze({__proto__:null,scheduler:"Scheduler",actions:je,instructions:De,fields:Ae,days_short:Ce,days_long:Fe,words:ze,services:Re,domains:Te,default:Ie}),Le={add:"Agregar",cancel:"cancelar",next:"siguiente",save:"guardar",delete:"borrar"},Me={no_group_selected:"Selecciona un grupo primero",no_entity_selected:"Selecciona una entidad primero",no_groups_defined:"No hay grupos definidos",no_entities_for_group:"No hay entidades en este grupo",no_actions_for_entity:"No hay acciones para esta entidad",no_entries_defined:"No hay dispositivos definidos"},Ve={group:"Grupo",entity:"Entidad",action:"Acción",days:"Días",time:"Hora",options:"Opciones",day_type_daily:"cada día",day_type_weekdays:"dias semanales",day_type_custom:"personalizado",shift_with_sun:"ajusta automaticamente la hora al amanecer/atardecer",brightness:"Brillo",temperature:"Temperatura",position:"Posición"},Ue={mon:"lun",tue:"mar",wed:"mie",thu:"jue",fri:"vie",sat:"sab",sun:"dom"},qe={mon:"lunes",tue:"martes",wed:"miércoles",thu:"jueves",fri:"viernes",sat:"sábado",sun:"domingo"},He={on:"en",every:"cada",and:"y",at:"a las",before:"antes",after:"después",sunrise:"amanecer",sunset:"atardecer"},Qe={turn_on:"encender",turn_off:"apagar",close_cover:"cerrar",open_cover:"abrir",set_cover_position:"Establecer Posición",set_temperature:"establecer temperatura",set_to:"establecer a",set_position:"posición de ajuste",set_hvac_mode:"establecer modo de A/A",set_preset_mode:"establecer modo",set_value:"establecer valor",select_option:"seleccionar opción",select_source:"seleccionar fuente",start:"empezar"},Ge={camera:"cámaras",climate:"climatización",cover:"persiana",fan:"ventilador",group:"grupos",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"luces",media_player:"reproductores multimedia",scene:"scenas",switch:"interruptores",vacuum:"aspirador"},Ke={scheduler:"Programador",actions:Le,instructions:Me,fields:Ve,days_short:Ue,days_long:qe,words:He,services:Qe,domains:Ge},Be=Object.freeze({__proto__:null,scheduler:"Programador",actions:Le,instructions:Me,fields:Ve,days_short:Ue,days_long:qe,words:He,services:Qe,domains:Ge,default:Ke}),Ye={add:"lisa",cancel:"loobu",next:"edasi",save:"salvesta",delete:"kustuta"},Je={no_group_selected:"Vali grupp",no_entity_selected:"Vali olem",no_groups_defined:"Gruppe pole määratud",no_entities_for_group:"Antud grupis puuduvad olemid",no_actions_for_entity:"Selles olemis puuduvad tegevused",no_entries_defined:"Pole midagi kuvada"},We={group:"Grupp",entity:"Olem",action:"Tegevus",days:"Päev",time:"Aeg",options:"Suvandid",day_type_daily:"iga päev",day_type_weekdays:"tööpäevadel",day_type_custom:"valikuline",shift_with_sun:"määrake automaatselt Päikese tõus/loojang",brightness:"Heledus",temperature:"Temperatuur",position:"Asukoht"},Ze={mon:"E",tue:"T",wed:"K",thu:"N",fri:"R",sat:"L",sun:"P"},Xe={mon:"Esmaspäev",tue:"Teisipäev",wed:"Kolmapäev",thu:"Neljapäev",fri:"Reede",sat:"Laupäev",sun:"Pühapäev"},et={on:" ",every:"iga",and:"ja",at:"kell",before:"enne",after:"pärast",sunrise:"päikesetõus",sunset:"loojang"},tt={turn_on:"lülita sisse",turn_off:"lülita välja",close_cover:"sulge",open_cover:"ava",set_temperature:"määra temperatuur",set_to:"seadista väärtusele",set_position:"seadista asendisse",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},rt={camera:"cameras",climate:"kliimaseade",cover:"(akna)katted",fan:"ventilaatorid",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"valgustid",media_player:"media players",scene:"scenes",switch:"lülitid",vacuum:"tolmuimejad"},it={scheduler:"Ajastaja",actions:Ye,instructions:Je,fields:We,days_short:Ze,days_long:Xe,words:et,services:tt,domains:rt},at=Object.freeze({__proto__:null,scheduler:"Ajastaja",actions:Ye,instructions:Je,fields:We,days_short:Ze,days_long:Xe,words:et,services:tt,domains:rt,default:it}),st={add:"ajouter un item",cancel:"annuler",next:"suivant",save:"sauvegarder",delete:"effacer"},nt={no_group_selected:"Sélectionner un groupe en premier",no_entity_selected:"Sélectionner une entité en premier",no_groups_defined:"Il n'y a pas de groupe défini",no_entities_for_group:"Il n'y a pas d'entité dans ce groupe",no_actions_for_entity:"Il n'y a pas d'action pour cette entité",no_entries_defined:"Il n'y a pas d'item à afficher"},ot={group:"Groupe",entity:"Entité",action:"Action",days:"Jours",time:"Temps",options:"Options",day_type_daily:"chaque jour",day_type_weekdays:"en semaine",day_type_custom:"sur mesure",shift_with_sun:"ajuster automatiquement l'heure au lever/coucher du soleil",brightness:"Luminosité",temperature:"Température",position:"Position"},lt={mon:"lun",tue:"mar",wed:"mer",thu:"jeu",fri:"ven",sat:"sam",sun:"dim"},ct={mon:"lundi",tue:"mardi",wed:"mercredi",thu:"jeudi",fri:"vendredi",sat:"samedi",sun:"dimanche"},dt={on:"marche",every:"tout",and:"et",at:"à",before:"avant",after:"après",sunrise:"lever du soleil",sunset:"coucher du soleil"},ut={turn_on:"allumer",turn_off:"éteindre",close_cover:"fermer",open_cover:"ouvrir",set_temperature:"régler la température",set_to:"défini à",set_position:"position définie",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},ht={camera:"cameras",climate:"climat",cover:"contrôleur",fan:"ventilateur",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"lumière",media_player:"media players",scene:"scenes",switch:"interrupteurs",vacuum:"aspirateur"},pt={scheduler:"Planificateur",actions:st,instructions:nt,fields:ot,days_short:lt,days_long:ct,words:dt,services:ut,domains:ht},mt=Object.freeze({__proto__:null,scheduler:"Planificateur",actions:st,instructions:nt,fields:ot,days_short:lt,days_long:ct,words:dt,services:ut,domains:ht,default:pt}),ft={add:"új időzítés",cancel:"mégse",next:"tovább",save:"törlés",delete:"delete"},vt={no_group_selected:"Előbb egy csoportot szükséges választani",no_entity_selected:"Előbb egy entitást szükséges választani",no_groups_defined:"Nincsenek deffiniált csoportok",no_entities_for_group:"Ebben a csoportban nem találhatók entitások",no_actions_for_entity:"Ehhez az entitáshoz nem tartoznak műveletek",no_entries_defined:"Nincs megjeleníthető elem"},gt={group:"Csoport",entity:"Entitás",action:"Művelet",days:"Napokon",time:"Időpontban",options:"Opciók",day_type_daily:"minden nap",day_type_weekdays:"munkanapokon",day_type_custom:"egyedi",shift_with_sun:"Az idő automatikus igazítása napkeltéhez/naplementéhez",brightness:"Fényerő",temperature:"Hőmérséklet",position:"Pozíciót"},yt={mon:"hét",tue:"ked",wed:"sze",thu:"csü",fri:"pén",sat:"szo",sun:"vas"},_t={mon:"hétfő",tue:"kedd",wed:"szerda",thu:"csütörtök",fri:"péntek",sat:"szombat",sun:"vasárnap"},bt={on:"on",every:"minden",and:"és",at:"at",before:"előtt",after:"után",sunrise:"napkelte",sunset:"naplemente"},wt={turn_on:"bekapcsolás",turn_off:"kikapcsolás",close_cover:"zárás",open_cover:"nyitás",set_temperature:"hőmérséklet",set_to:"beállítva",set_position:"változtass pozíciót",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},Pt={camera:"cameras",climate:"termosztát",cover:"redőny",fan:"ventilátor",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"lámpa",media_player:"media players",scene:"scenes",switch:"kapcsoló",vacuum:"pórszívó"},Et={scheduler:"Időzítések",actions:ft,instructions:vt,fields:gt,days_short:yt,days_long:_t,words:bt,services:wt,domains:Pt},St=Object.freeze({__proto__:null,scheduler:"Időzítések",actions:ft,instructions:vt,fields:gt,days_short:yt,days_long:_t,words:bt,services:wt,domains:Pt,default:Et}),$t={add:"Nieuw item",cancel:"annuleren",next:"verder",save:"opslaan",delete:"verwijder"},xt={no_group_selected:"Selecteer eerst een groep",no_entity_selected:"Selecteer eerst een entiteit",no_groups_defined:"Er zijn geen groepen gedefinieerd",no_entities_for_group:"Deze groep heeft geen entiteiten",no_actions_for_entity:"Deze entiteit heeft geen acties",no_entries_defined:"Er zijn geen items aangemaakt"},kt={group:"Groep",entity:"Entiteit",action:"Actie",days:"Dagen",time:"Tijdstip",options:"Opties",day_type_daily:"Dagelijks",day_type_weekdays:"werkdagen",day_type_custom:"Anders",shift_with_sun:"Automatisch aanpassen aan zonsopgang/zonsondergang",brightness:"Helderheid",temperature:"Temperatuur",position:"Positie"},Ot={mon:"ma",tue:"di",wed:"wo",thu:"do",fri:"vr",sat:"za",sun:"zo"},jt={mon:"maandag",tue:"dinsdag",wed:"woensdag",thu:"donderdag",fri:"vrijdag",sat:"zaterdag",sun:"zondag"},Dt={on:"op",every:"elke",and:"en",at:"om",before:"voor",after:"na",sunrise:"zonsopgang",sunset:"zonsondergang"},At={turn_on:"aanzetten",turn_off:"uitzetten",close_cover:"sluiten",open_cover:"openen",set_temperature:"temperatuur instellen",set_to:"Zet op",set_position:"positie instellen",set_hvac_mode:"stand aanpassen",set_preset_mode:"voorinstelling kiezen",set_value:"waarde instellen",select_option:"optie selecteren",select_source:"ingang selecteren",start:"starten"},Ct={camera:"cameras",climate:"verwarming",cover:"zonwering",fan:"ventilatie",group:"groepen",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"verlichting",media_player:"mediaspelers",scene:"scènes",switch:"schakelaars",vacuum:"stofzuigers"},Ft={scheduler:"Tijdplanner",actions:$t,instructions:xt,fields:kt,days_short:Ot,days_long:jt,words:Dt,services:At,domains:Ct},zt=Object.freeze({__proto__:null,scheduler:"Tijdplanner",actions:$t,instructions:xt,fields:kt,days_short:Ot,days_long:jt,words:Dt,services:At,domains:Ct,default:Ft}),Rt={add:"legg til",cancel:"avbryt",next:"neste",save:"lagre",delete:"slett"},Tt={no_group_selected:"Velg en gruppe først",no_entity_selected:"Velg en entitet først",no_groups_defined:"Ingen grupper definert",no_entities_for_group:"Det finnes ingen entiteter i denne gruppen",no_actions_for_entity:"Det finnes ingen handlinger for denne entiteten",no_entries_defined:"Det er ingen definerte tidsplaner å vise"},It={group:"Gruppe",entity:"Entitet",action:"Handling",days:"Dager",time:"Tid",options:"Valg",day_type_daily:"hver dag",day_type_weekdays:"ukedager",day_type_custom:"egendefinert",shift_with_sun:"automatisk juster tid for soloppgang/solnedgang",brightness:"Lysstyrke",temperature:"Temperatur",position:"Posisjon"},Nt={mon:"man",tue:"tir",wed:"ons",thu:"tor",fri:"fre",sat:"lør",sun:"søn"},Lt={mon:"mandag",tue:"tirsdag",wed:"onsdag",thu:"torsdag",fri:"fredag",sat:"lørdag",sun:"søndag"},Mt={on:"den",every:"hver",and:"og",at:"på",before:"før",after:"etter",sunrise:"soloppgang",sunset:"solnedgang"},Vt={turn_on:"slå på",turn_off:"slå av",close_cover:"lukk",open_cover:"åpne",set_temperature:"sett temperatur",set_to:"sett til",set_position:"sett posisjon",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},Ut={camera:"cameras",climate:"klima",cover:"cover",fan:"vifter",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",media_player:"media players",scene:"scenes",light:"lys",switch:"brytere",vacuum:"støvsugere"},qt={scheduler:"Tidsplan",actions:Rt,instructions:Tt,fields:It,days_short:Nt,days_long:Lt,words:Mt,services:Vt,domains:Ut},Ht=Object.freeze({__proto__:null,scheduler:"Tidsplan",actions:Rt,instructions:Tt,fields:It,days_short:Nt,days_long:Lt,words:Mt,services:Vt,domains:Ut,default:qt}),Qt={add:"dodaj",cancel:"anuluj",next:"dalej",save:"zapisz",delete:"usuń"},Gt={no_group_selected:"Najpierw wybierz grupę",no_entity_selected:"Najpierw wybierz encję",no_groups_defined:"Nie ma zdefiniowanych grup",no_entities_for_group:"Nie ma encji w tej grupie",no_actions_for_entity:"Nie ma akcji dla tej encji",no_entries_defined:"Nie ma elementów do pokazania"},Kt={group:"Grupa",entity:"Encja",action:"Akcja",days:"Dni",time:"Czas",options:"Opcje",day_type_daily:"codziennie",day_type_weekdays:"dni tygodnia",day_type_custom:"niestandardowy",shift_with_sun:"automatycznie dopasuj czas do wschodów/zachodów",brightness:"Jasność",temperature:"Temperatura",position:"Pozycję"},Bt={mon:"pon",tue:"wt",wed:"śr",thu:"czw",fri:"pt",sat:"sob",sun:"niedz"},Yt={mon:"poniedziałek",tue:"wtorek",wed:"środa",thu:"czwartek",fri:"piątek",sat:"sobota",sun:"niedziela"},Jt={on:"w",every:"każdy",and:"oraz",at:"o",before:"przed",after:"po",sunrise:"wschód",sunset:"zachodów"},Wt={turn_on:"włącz",turn_off:"wyłącz",close_cover:"zamknij",open_cover:"otwórz",set_temperature:"Ustaw temperaturę",set_to:"ustaw na",set_position:"Ustaw pozycję",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},Zt={camera:"cameras",climate:"termostat",cover:"roleta",fan:"wiatrak",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",media_player:"media players",scene:"scenes",light:"światło",switch:"włącznik",vacuum:"odkurzacz"},Xt={scheduler:"Harmonogram",actions:Qt,instructions:Gt,fields:Kt,days_short:Bt,days_long:Yt,words:Jt,services:Wt,domains:Zt},er=Object.freeze({__proto__:null,scheduler:"Harmonogram",actions:Qt,instructions:Gt,fields:Kt,days_short:Bt,days_long:Yt,words:Jt,services:Wt,domains:Zt,default:Xt}),tr={add:"adicionar item",cancel:"cancelar",next:"próximo",save:"gravar",delete:"apagar"},rr={no_group_selected:"Selecione um grupo primeiro",no_entity_selected:"Selecione uma entidade primeiro",no_groups_defined:"Não tem grupo definido",no_entities_for_group:"Não tem entidade no grupo",no_actions_for_entity:"Não há ações para esta entidade",no_entries_defined:"Não tem item pra mostar"},ir={group:"Grupo",entity:"Entidade",action:"Ação",days:"Dias",time:"Hora",options:"Opções",day_type_daily:"todos os dias",day_type_weekdays:"dias da semana",day_type_custom:"personalizado",shift_with_sun:"automaticamente ajusta hora pelo nascer do sol/pôr do sol",brightness:"Brilho",temperature:"Temperatura",position:"Posição"},ar={mon:"seg",tue:"ter",wed:"qua",thu:"qui",fri:"sex",sat:"sab",sun:"dom"},sr={mon:"segunda",tue:"terça",wed:"quarta",thu:"quinta",fri:"sexta",sat:"sabádo",sun:"domingo"},nr={on:"on",every:"cada",and:"e",at:"às",before:"antes",after:"depois",sunrise:"nascer do sol",sunset:"pôr do sol"},or={turn_on:"ligar",turn_off:"desligar",close_cover:"fechar",open_cover:"abrir",set_temperature:"ajustar temperatura",set_to:"ajustar para",set_position:"ajustar posição",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},lr={camera:"cameras",climate:"ar condicionado",cover:"persiana",fan:"ventilador",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",media_player:"media players",scene:"scenes",light:"luz",switch:"interruptor",vacuum:"aspirador"},cr={scheduler:"Agenda",actions:tr,instructions:rr,fields:ir,days_short:ar,days_long:sr,words:nr,services:or,domains:lr},dr=Object.freeze({__proto__:null,scheduler:"Agenda",actions:tr,instructions:rr,fields:ir,days_short:ar,days_long:sr,words:nr,services:or,domains:lr,default:cr}),ur={add:"добавить",cancel:"отменить",next:"далее",save:"сохранить",delete:"удалить"},hr={no_group_selected:"Необходимо выбрать группу",no_entity_selected:"Необходимо выбрать объект",no_groups_defined:"Ни одной группы не создано",no_entities_for_group:"В этой группе нет объектов",no_actions_for_entity:"Для этого объекта нет действий",no_entries_defined:"Объекты отсутствуют"},pr={group:"Группа",entity:"Объект",action:"Действие",days:"Дни",time:"Время",options:"Опции",day_type_daily:"ежедневно",day_type_weekdays:"по будням",day_type_custom:"выбрать дни",shift_with_sun:"автоматически настраивать время на восход / закат",brightness:"Яркость",temperature:"Температура",position:"Позицию"},mr={mon:"пн",tue:"вт",wed:"ср",thu:"чт",fri:"пт",sat:"сб",sun:"вс"},fr={mon:"понедельник",tue:"вторник",wed:"среда",thu:"четверг",fri:"пятница",sat:"суббота",sun:"воскресенье"},vr={on:"по",every:"каждый",and:"и",at:"в",before:"до",after:"после",sunrise:"восхода",sunset:"заката"},gr={turn_on:"включить",turn_off:"выключить",close_cover:"закрыть",open_cover:"открыть",set_temperature:"задать температуру",set_to:"установить",set_position:"установить позицию",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},yr={camera:"cameras",climate:"Климат",cover:"Жалюзи",fan:"Вентиляторы",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",media_player:"media players",scene:"scenes",light:"Свет",switch:"Выключатели",vacuum:"Пылесосы"},_r={scheduler:"Планирование",actions:ur,instructions:hr,fields:pr,days_short:mr,days_long:fr,words:vr,services:gr,domains:yr},br={de:Oe,en:Ne,es:Be,et:at,es_419:Be,fr:mt,hu:St,nb:Ht,nl:zt,nn:Ht,no:Ht,pl:er,pt:dr,pt_BR:dr,ru:Object.freeze({__proto__:null,scheduler:"Планирование",actions:ur,instructions:hr,fields:pr,days_short:mr,days_long:fr,words:vr,services:gr,domains:yr,default:_r})};function wr(e,t="",r=""){const i=Pr();var a;try{if("test"==i)return"TRANSLATED";a=e.split(".").reduce((e,t)=>e[t],br[i])}catch(t){a=e.split(".").reduce((e,t)=>e[t],br.en)}return void 0===a&&(a=e.split(".").reduce((e,t)=>e[t],br.en)),""!==t&&""!==r&&(a=a.replace(t,r)),a}function Pr(){var e;let t=null===(e=localStorage.getItem("selectedLanguage"))||void 0===e?void 0:e.replace(/['"]+/g,"").replace("-","_");if(!t||"null"==t){const e=document.querySelector("home-assistant").hass;t=e.selectedLanguage||e.language||"en"}return String(t)}const Er={turn_on:"services.turn_on",turn_off:"services.turn_off",open_cover:"services.open_cover",close_cover:"services.close_cover",set_temperature:"services.set_temperature",set_cover_position:"services.set_position",set_hvac_mode:"services.set_hvac_mode",set_preset_mode:"services.set_preset_mode",set_value:"services.set_value",select_option:"services.select_option",select_source:"services.select_source",start:"services.start"},Sr={camera:"domains.camera",climate:"domains.climate",cover:"domains.cover",fan:"domains.fan",group:"domains.group",input_boolean:"domains.input_boolean",input_number:"domains.input_number",input_select:"domains.input_select",light:"domains.light",media_player:"domains.media_player",scene:"domains.scene",switch:"domains.switch",vacuum:"domains.vacuum"};function $r(e,t,r={}){let i=Array.isArray(e)?[...e]:Object.assign({},e);return null===e&&(i=Array.isArray(t)?[]:{}),null==t?e:(Object.keys(t).forEach(e=>{let a=t[e];if(void 0!==a)if(null===a&&r.compact)void 0!==i[e]&&delete i[e];else if(Array.isArray(a)&&Array.isArray(i[e])&&!r.overwrite?a=$r(i[e],a,r):"object"!=typeof a||null===a||"object"!=typeof i[e]||r.overwrite||(a=$r(i[e],a,r)),Array.isArray(t))null!==a&&(r.overwrite?i=a:i.push(a));else{if((Array.isArray(a)||"object"==typeof a)&&null!==a&&!Object.keys(a).length&&r.compact)return void delete i[e];Object.assign(i,{[e]:a})}}),i)}function xr(e,t){return e?Object.entries(e).filter(([e])=>t.includes(e)).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{}):{}}function kr(e,t){return e?Object.entries(e).filter(([e])=>!t.includes(e)).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{}):{}}function Or(e,t){return Object.entries(e).map(([e,r])=>[e,t(r,e)]).filter(([,e])=>null!=e).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{})}function jr(e,t){return e.reduce((e,r)=>Object.assign(e,{[t(r)]:r}),{})}function Dr(e){if(-1===e.indexOf("."))return"";return String(e.split(".").shift())}function Ar(e){if(-1===e.indexOf("."))return e;return String(e.split(".").pop())}function Cr(e){if(e.type==ne.Daily)return wr("fields.day_type_daily");if(e.type==ne.Weekdays)return`${wr("words.on")} ${wr("fields.day_type_weekdays")}`;{let r=e.custom_days||[],i=Array();r.includes(1)&&i.push(wr("days_long.mon")),r.includes(2)&&i.push(wr("days_long.tue")),r.includes(3)&&i.push(wr("days_long.wed")),r.includes(4)&&i.push(wr("days_long.thu")),r.includes(5)&&i.push(wr("days_long.fri")),r.includes(6)&&i.push(wr("days_long.sat")),r.includes(7)&&i.push(wr("days_long.sun"));let a=i.join(", ");var t=a.lastIndexOf(", ");return t&&(a=a.slice(0,t)+a.slice(t).replace(", ",` ${wr("words.and")} `)),`${wr("words.every")} ${a}`}}function Fr(e,t){let r=!!t.amPm&&t.amPm;if(!e.event)return`${wr("words.at")} ${le(e.value,{amPm:r}).time}`;let i="unknown",a="";if(e.event===se.Sunrise&&null!==t.sunrise){i=le(ce(Number(t.sunrise)+e.value),{amPm:r}).time,a="sunrise"}else if(e.event==se.Sunset&&null!==t.sunset){i=le(ce(Number(t.sunset)+e.value),{amPm:r}).time,a="sunset"}return 0==Math.abs(e.value)?`${wr("words.at")} ${wr("words."+e.event)} (${i})`:`${le(e.value,{absolute:!0}).time} ${le(e.value).signed?wr("words.before"):wr("words.after")} ${wr("words."+a)} (${i})`}function zr(e){return"string"!=typeof e&&(e=String(e)),Nr(e.replace(/_/g," "))}function Rr(e){return"string"!=typeof e&&(e=String(e)),e.match(/^[a-z]+:[a-z0-9-]+$/i)?e:"hass:"+e}function Tr(e,t,r){let i=zr(t.name);if(e.hasOwnProperty("variable")&&e.variable&&t.variable){let a=Ir(e.variable,t.variable,r);i=`${wr("services.set_to")} ${a}`}return Nr(i)}function Ir(e,t,r){if(e.type==ae.Level){let i="unit"in(t=t)?t.unit:"";i.length||"temperature"!=t.field||(i=r.temperature_unit);let a=Number(e.value);return"%"==t.unit&&(a=Math.round((a-t.min)/(t.max-t.min)*100),at.max&&(a=t.max)),`${a}${i}`}return String(e.value)}function Nr(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Lr(e,t){if(Array.isArray(e)&&Array.isArray(t)){let i=[...e].sort(),a=[...t].sort();if(i.length!=i.length)return!1;for(var r=0;rHr(e,t)),r=function(e,t){var r;if(e.supported_feature&&0==(t&e.supported_feature))return null;(null===(r=e.variable)||void 0===r?void 0:r.supported_feature)&&0==(t&e.variable.supported_feature)&&(e=$r(e,{variable:null},{compact:!0}));return e}(r,t.attributes.supported_features),(null==r?void 0:r.variable)&&(r=function(e,t){let r=Object.assign({},e),i=e.variable;i.name||(i=$r(i,{name:i.field}));if(i=Or(i,e=>Hr(e,t)),"options"in i){let e=[...i.options],a="object"==typeof e?Object.values(e).map(e=>e.value.match(/^attribute:(\w+):\w+$/)).find(e=>e):null;if(e=e.map(e=>"object"!=typeof e?{value:e}:$r(e,{value:Hr(e.value,t)})).filter(e=>e.value),null!==a){let r=t.attributes[a[1]].filter(t=>Object.values(e).every(e=>e.value!=t)).map(e=>({value:e}));e=e.concat(r)}e.sort((e,t)=>(e.name?e.name:e.value)>(t.name?t.name:t.value)?1:-1),i=$r(i,{options:e},{overwrite:!0});let s=$r(ye,i);r=$r(r,{variable:s},{overwrite:!0})}else{let e=$r(ge,i);r=$r(r,{variable:e})}return r}(r,t)),r}function Hr(e,t){if("string"!=typeof e)return e;let r=String(e).match(/^attribute:(\w+):?(\w+)?$/);return null===r?e:"entity_id"==r[1]?t.entity_id:r[1]in t.attributes?void 0!==r[2]?Array.isArray(t.attributes[r[1]])&&t.attributes[r[1]].includes(r[2])?r[2]:null:t.attributes[r[1]]:null}function Qr(e){let t=e.entity,r=e.service;Dr(t)&&Dr(r)?r=Ar(r):!Dr(t)&&Dr(r)&&(t=Dr(r)+"."+t,r=Ar(r));let i=kr(e,["service","entity","service_data"]),a=$r({},{entity:t,service:r,service_data:Object.keys(i).length?i:null},{compact:!0});return a=$r(a,xr(e,["service_data"])),a}function Gr(e,t){let r=Qr(e),i=t.find(e=>{let t=Kr(e);return e.service==r.service&&(t==Kr(r)||!!(e.variable&&r.service_data&&Object.keys(r.service_data).includes(e.variable.field))&&t==Kr($r(r,{service_data:{[e.variable.field]:null}},{compact:!0})))});return i||null}function Kr(e){let t=e=>Object.entries(e).sort((e,t)=>e[0]>t[0]?1:-1).map(([e,r])=>[e,"object"==typeof r&&null!==r?t(r):r]).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{}),r=xr(e,["service","service_data"]);return r=t(r),Object.values(r).map(e=>JSON.stringify(e).replace(/[\W]/g," ").split(" ").filter(e=>" "!=e&&""!=e).join("_")).join("_")}function Br(e){return e.match(/^switch.schedule_[0-9a-f]{6}$/)}class Yr{constructor(){this.entities=[],this.include=[],this.exclude=[],this.customize={},this.standard_configuration=!0}SetConfig(e){this.standard_configuration=e.standard_configuration,this.include=e.include||[],this.exclude=e.exclude||[],this.customize=e.customize||{}}InConfig(e){return!Br(e)&&(!!this.include.find(t=>Mr(t,e))&&!this.exclude.find(t=>Mr(t,e)))}Find(e){return this.entities.find(t=>t.id==e)}Get(e=[]){let t=[];if(e&&e.length){(Array.isArray(e)?e:[e]).filter(e=>void 0!==this.Find(e)).forEach(e=>t.push(Object.assign({},this.entities[e])))}else t=[...this.entities];return t.sort((e,t)=>e.name>t.name?1:-1),t}Add(e,t){if(this.Find(e))return;let r={id:e,name:Ar(e),icon:"folder-outline",actions:[]};r=$r(r,kr(t,["actions"])),this.entities.push(r)}Set(e,t){if(!this.Find(e))throw`Entity '${e}' does not exist`;for(var r=0;r{Mr(e,r)&&(t=$r(t,kr(t,["actions"]))).actions&&(n=$r(n,jr(t.actions,Kr)))}),Object.keys(n).length&&(s=xr(s,Object.keys(n)),s=$r(s,n)),a=$r(a,{name:e.attributes.friendly_name,icon:e.attributes.icon}),a=$r(a,{actions:Object.values(s)}),a}AddAction(e,t){let r=this.Find(e);if(!r)throw Error(`Entity '${e}' must be created before actions can be assigned`);if(r.actions.find(e=>e.id==t.id))return;let i=[...r.actions];i.push(t),this.Set(e,{actions:i})}}function Jr(e){return e.replace(/[^a-z0-9_\ ]/g,"").replace(/\s+/g,"_").replace(/_+/g,"_")}class Wr{constructor(){this.groupConfig=[],this.groups=[],this.standard_configuration=!0}SetConfig(e){this.groupConfig=e.groups||[],this.standard_configuration=e.standard_configuration}Find(e){return this.groups.find(t=>t.id==e)}Get(){let e=[...this.groups].filter(e=>"discovered"!=e.id);return e.sort((e,t)=>e.name>t.name?1:-1),this.Find("discovered")&&e.push(Object.assign({},this.Find("discovered"))),e}Add(e,t){if(this.Find(e))return;let r={id:e,name:e in Sr?wr(Sr[e]):e,icon:"folder-outline",entities:[]};r=$r(r,t),this.groups.push(r)}Set(e,t){if(!this.Find(e))throw`Group '${e}' does not exist`;for(var r=0;rJr(t.name)==e);return!!a&&(!!a.include.find(e=>Mr(e,t))&&!(null===(r=a.exclude)||void 0===r?void 0:r.find(e=>Mr(e,t))))}InConfig(e){return void 0!==this.groups.find(t=>this.InGroup(t.id,e))}CreateGroups(e){this.groupConfig.forEach(e=>this.Add(Jr(e.name),xr(e,["name","icon"]))),e.forEach(e=>{var t;if(this.InConfig(e))return;let r=Dr(e),i=this.Find(r);if(i){let t=[...i.entities];t.push(e),this.Set(r,{entities:t})}else{let i={entities:[e]};(null===(t=Vr[r])||void 0===t?void 0:t.icon)&&this.standard_configuration&&Object.assign(i,{icon:Vr[r].icon}),this.Add(r,i)}})}}class Zr{constructor(){this.discover_existing=!0,this.standard_configuration=!0,this.entities=new Yr,this.groups=new Wr}setUserConfig(e){void 0!==e.discover_existing&&(this.discover_existing=e.discover_existing),void 0!==e.standard_configuration&&(this.standard_configuration=e.standard_configuration),this.entities.SetConfig({include:e.include,exclude:e.exclude,customize:e.customize,standard_configuration:this.standard_configuration}),this.groups.SetConfig({groups:e.groups,standard_configuration:this.standard_configuration})}GetGroups(){return this.groups.Get()}GetEntitiesForGroup(e){return this.groups.Find(e)?this.entities.Get().filter(t=>this.groups.InGroup(e,t.id)):[]}FindEntity(e){if(!e)return null;let t=this.entities.Find(e);return t||null}FindAction(e,t){if(!e||!t)return null;let r=this.entities.Find(e);return r?r.actions.find(e=>e.id==t):null}GetActionsForEntity(e){if(!e)return[];let t=this.entities.Find(e);if(!t)return[];let r=[...t.actions];return r.sort((e,t)=>e.name>t.name?1:-1),r}GetEntityConfig(e){return this.entities.GetConfig(e)}LoadEntities(e){if(Object.entries(e).forEach(([e,t])=>{if(!this.entities.InConfig(e))return;let r=this.GetEntityConfig(t);if(this.entities.Add(e,r),r.actions){r.actions.map(e=>qr(e,t)).filter(e=>e).map(Ur).forEach(t=>this.entities.AddAction(e,t))}}),this.groups.CreateGroups(this.entities.Get().map(e=>e.id)),!this.discover_existing)return;let t=[];if(Object.entries(e).filter(([e])=>Br(e)).forEach(([r,i])=>{let a=i.attributes.actions;a&&a.forEach(r=>{let i=(Dr(r.entity)||Dr(r.service))+"."+r.entity.split(".").pop();if(!(i in e))return;let a=e[i],s=this.GetEntityConfig(a);this.entities.Find(i)||(this.entities.Add(i,s),t.push(i));let n=s.actions?Gr(r,s.actions):null;n||(n=xr(Qr(r),["service","service_data"]));let o=Ur(n);this.entities.AddAction(i,o)})}),t.length){let e={entities:t,icon:"reload-alert"};this.groups.Add("discovered",e)}}}const Xr=te` +(window.litElementVersions||(window.litElementVersions=[])).push("2.4.0");const re={};class ie extends B{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const e=this.getStyles();if(Array.isArray(e)){const t=(e,r)=>e.reduceRight((e,r)=>Array.isArray(r)?t(r,e):(e.add(r),e),r),r=t(e,new Set),i=[];r.forEach(e=>i.unshift(e)),this._styles=i}else this._styles=void 0===e?[]:[e];this._styles=this._styles.map(e=>{if(e instanceof CSSStyleSheet&&!Z){const t=Array.prototype.slice.call(e.cssRules).reduce((e,t)=>e+t.cssText,"");return new ee(String(t),X)}return e})}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const e=this.constructor._styles;0!==e.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?Z?this.renderRoot.adoptedStyleSheets=e.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(e.map(e=>e.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(e){const t=this.render();super.update(e),t!==re&&this.constructor.render(t,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(e=>{const t=document.createElement("style");t.textContent=e.cssText,this.renderRoot.appendChild(t)}))}render(){return re}}var ae;ie.finalized=!0,ie.render=(e,t,r)=>{if(!r||"object"!=typeof r||!r.scopeName)throw new Error("The `scopeName` option is required.");const a=r.scopeName,s=T.has(t),n=M&&11===t.nodeType&&!!t.host,o=n&&!q.has(a),l=o?document.createDocumentFragment():t;if(((e,t,r)=>{let a=T.get(t);void 0===a&&(i(t,t.firstChild),T.set(t,a=new k(Object.assign({templateFactory:z},r))),a.appendInto(t)),a.setValue(e),a.commit()})(e,l,Object.assign({templateFactory:V(a)},r)),o){const e=T.get(l);T.delete(l);const r=e.value instanceof _?e.value.template:void 0;H(a,l,r),i(t,t.firstChild),t.appendChild(l),T.set(t,e)}!s&&n&&window.ShadyCSS.styleElement(t.host)},function(e){e.Level="LEVEL",e.List="LIST"}(ae||(ae={}));var se,ne;function oe(e,t){let r=e>=0?Math.floor(e/60):Math.ceil(e/60),i=e-60*r;return i%t!=0&&(i=Math.round(i/t)*t),i>=60&&(r++,i-=60),r>=24&&(r-=24),60*r+i}function le(e,t={}){let r=!!t.amPm&&t.amPm,i=!!t.absolute&&t.absolute,a=e>=0?Math.floor(e/60):Math.ceil(e/60),s=e-60*a,n="";r&&(n=a>=12?"PM":"AM",(a>12||12==a&&s>0)&&(a-=12));let o=String(Math.abs(a)).padStart(2,"0"),l=String(Math.abs(s)).padStart(2,"0"),c=a<0||s<0;return{hours:o,minutes:l,time:`${c&&!i?"-":""}${o}:${l}${r?" "+n:""}`,signed:c,amPm:n}}function ce(e,t={}){let r=t.stepSize?t.stepSize:1,i=!!t.signed&&t.signed,a=t.max?t.max:1440,s=oe(e,r);return s<0&&!i?e+=1440:s>=1440&&(e-=1440),s<-a?-a:s>a?a:e}function de(e){let t,r,i;if(null!==(i=/^([0-9]{2}):([0-9]{2})$/.exec(e)))[t,r]=[Number(i[1]),Number(i[2])];else if(null!==(i=/^([0-9]{2})([0-9]{2})$/.exec(e)))[t,r]=[Number(i[1]),Number(i[2])];else{if(null!==(i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[\+|\-][0-9]{2}:[0-9]{2}$/.exec(e))){let e=new Date(i[0]);return de(`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`)}console.log(`failed to parse timestamp '${e}'`)}return 60*t+r}function ue(e){return e.type==ne.Weekdays?[1,2,3,4,5]:e.type==ne.Custom&&e.custom_days?e.custom_days.sort().filter(e=>0!=e):[]}function he(e){let t=[1,2,3,4,5,6,7],r=[1,2,3,4,5];if(1==e.length&&0==e[0])return{type:ne.Daily,custom_days:[]};let i=[...e].sort().filter(e=>0!=e);return i.length==t.length&&i.every((e,r)=>e==t[r])?{type:ne.Daily,custom_days:[]}:i.length==r.length&&i.every((e,t)=>e==r[t])?{type:ne.Weekdays,custom_days:[]}:{type:ne.Custom,custom_days:i}}function pe(e){return e==se.Sunrise?"sunrise":"sunset"}!function(e){e.Sunrise="SUNRISE",e.Sunset="SUNSET"}(se||(se={})),function(e){e.Daily="DAILY",e.Weekdays="WEEKDAYS",e.Custom="CUSTOM"}(ne||(ne={}));const me={sunrise:null,sunset:null,title:!0,am_pm:!1,time_step:10,temperature_unit:"",is_admin:!0},fe={time:{value:de("12:00")},days:{type:ne.Daily},action:"",entity:""},ve=[{time:{value:de("00:00")},endTime:{value:de("08:00")},days:{type:ne.Daily},action:"",entity:""},{time:{value:de("08:00")},endTime:{value:de("16:00")},days:{type:ne.Daily},action:"",entity:""},{time:{value:de("16:00")},endTime:{value:1440},days:{type:ne.Daily},action:"",entity:""}],ge={type:ae.Level,field:"",unit:"",name:"level",min:0,max:255,step:1,optional:!1},ye={type:ae.List,field:"",name:"option",options:[]};var _e={add:"hinzufügen",cancel:"abbrechen",next:"weiter",save:"speichern",delete:"löschen"},be={no_group_selected:"Wähle zuerst eine Gruppe aus",no_entity_selected:"Wähle zuerst eine Entity aus",no_groups_defined:"Es gibt keine Gruppe",no_entities_for_group:"Es gibt keine Entities in dieser Gruppe",no_actions_for_entity:"Es gibt keine Aktionen für diese Entity",no_entries_defined:"Es gibt keine Einträge"},we={group:"Gruppe",entity:"Entity",action:"Aktion",days:"Tage",time:"Zeit",options:"Optionen",day_type_daily:"jeden Tag",day_type_weekdays:"Werktags",day_type_custom:"benutzerdefiniert",shift_with_sun:"Zeit automatisch an Sonnenauf- bzw. Sonnenuntergang anpassen",brightness:"Helligkeit",temperature:"Temperatur",position:"Position"},Pe={mon:"Mo",tue:"Di",wed:"Mi",thu:"Do",fri:"Fr",sat:"Sa",sun:"So"},Ee={mon:"Montag",tue:"Dienstag",wed:"Mittwoch",thu:"Donnerstag",fri:"Freitag",sat:"Samstag",sun:"Sonntag"},Se={on:"An",every:"jeden",and:"und",at:"um",before:"vor",after:"nach",sunrise:"Sonnenaufgang",sunset:"Sonnenuntergang"},$e={turn_on:"anschalten",turn_off:"ausschalten",close_cover:"schließen",open_cover:"öffnen",set_temperature:"Temperatur einstellen",set_to:"setzen auf",set_position:"Position setzen",set_hvac_mode:"Modus setzen",set_preset_mode:"Voreinstellung setzen",set_value:"Wert setzen",select_option:"Option auswählen",select_source:"Quelle auswählen",start:"Start"},xe={camera:"Kameras",climate:"Heizung",cover:"Beschattung",fan:"Lüfter",group:"Gruppen",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"Licht",media_player:"Media Player",scene:"Szenen",switch:"Schalter",vacuum:"Staubsauger"},ke={scheduler:"Zeitplaner",actions:_e,instructions:be,fields:we,days_short:Pe,days_long:Ee,words:Se,services:$e,domains:xe},Oe=Object.freeze({__proto__:null,scheduler:"Zeitplaner",actions:_e,instructions:be,fields:we,days_short:Pe,days_long:Ee,words:Se,services:$e,domains:xe,default:ke}),je={add:"add item",cancel:"cancel",next:"next",save:"save",delete:"delete"},De={no_group_selected:"Select a group first",no_entity_selected:"Select an entity first",no_groups_defined:"There are no groups defined",no_entities_for_group:"There are no entities in this group",no_actions_for_entity:"There are no actions for this entity",no_entries_defined:"There are no items to show"},Ae={group:"Group",entity:"Entity",action:"Action",days:"Days",time:"Time",options:"Options",day_type_daily:"daily",day_type_weekdays:"weekdays",day_type_custom:"custom",shift_with_sun:"automatically adjust time to sunrise/sunset",brightness:"Brightness",temperature:"Temperature",position:"Position"},Ce={mon:"mon",tue:"tue",wed:"wed",thu:"thu",fri:"fri",sat:"sat",sun:"sun"},Fe={mon:"monday",tue:"tuesday",wed:"wednesday",thu:"thursday",fri:"friday",sat:"saturday",sun:"sunday"},ze={on:"on",every:"every",and:"and",at:"at",before:"before",after:"after",sunrise:"sunrise",sunset:"sunset"},Re={turn_on:"turn on",turn_off:"turn off",close_cover:"close",open_cover:"open",set_temperature:"set temperature",set_to:"set to",set_position:"set position",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},Te={camera:"cameras",climate:"climate",cover:"covers",fan:"fans",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"lights",media_player:"media players",scene:"scenes",switch:"switches",vacuum:"vacuum"},Ie={scheduler:"Scheduler",actions:je,instructions:De,fields:Ae,days_short:Ce,days_long:Fe,words:ze,services:Re,domains:Te},Ne=Object.freeze({__proto__:null,scheduler:"Scheduler",actions:je,instructions:De,fields:Ae,days_short:Ce,days_long:Fe,words:ze,services:Re,domains:Te,default:Ie}),Le={add:"Agregar",cancel:"cancelar",next:"siguiente",save:"guardar",delete:"borrar"},Me={no_group_selected:"Selecciona un grupo primero",no_entity_selected:"Selecciona una entidad primero",no_groups_defined:"No hay grupos definidos",no_entities_for_group:"No hay entidades en este grupo",no_actions_for_entity:"No hay acciones para esta entidad",no_entries_defined:"No hay dispositivos definidos"},Ve={group:"Grupo",entity:"Entidad",action:"Acción",days:"Días",time:"Hora",options:"Opciones",day_type_daily:"cada día",day_type_weekdays:"dias semanales",day_type_custom:"personalizado",shift_with_sun:"ajusta automaticamente la hora al amanecer/atardecer",brightness:"Brillo",temperature:"Temperatura",position:"Posición"},Ue={mon:"lun",tue:"mar",wed:"mie",thu:"jue",fri:"vie",sat:"sab",sun:"dom"},qe={mon:"lunes",tue:"martes",wed:"miércoles",thu:"jueves",fri:"viernes",sat:"sábado",sun:"domingo"},He={on:"en",every:"cada",and:"y",at:"a las",before:"antes",after:"después",sunrise:"amanecer",sunset:"atardecer"},Qe={turn_on:"encender",turn_off:"apagar",close_cover:"cerrar",open_cover:"abrir",set_cover_position:"Establecer Posición",set_temperature:"establecer temperatura",set_to:"establecer a",set_position:"posición de ajuste",set_hvac_mode:"establecer modo de A/A",set_preset_mode:"establecer modo",set_value:"establecer valor",select_option:"seleccionar opción",select_source:"seleccionar fuente",start:"empezar"},Ge={camera:"cámaras",climate:"climatización",cover:"persiana",fan:"ventilador",group:"grupos",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"luces",media_player:"reproductores multimedia",scene:"scenas",switch:"interruptores",vacuum:"aspirador"},Ke={scheduler:"Programador",actions:Le,instructions:Me,fields:Ve,days_short:Ue,days_long:qe,words:He,services:Qe,domains:Ge},Be=Object.freeze({__proto__:null,scheduler:"Programador",actions:Le,instructions:Me,fields:Ve,days_short:Ue,days_long:qe,words:He,services:Qe,domains:Ge,default:Ke}),Ye={add:"lisa",cancel:"loobu",next:"edasi",save:"salvesta",delete:"kustuta"},Je={no_group_selected:"Vali grupp",no_entity_selected:"Vali olem",no_groups_defined:"Gruppe pole määratud",no_entities_for_group:"Antud grupis puuduvad olemid",no_actions_for_entity:"Selles olemis puuduvad tegevused",no_entries_defined:"Pole midagi kuvada"},We={group:"Grupp",entity:"Olem",action:"Tegevus",days:"Päev",time:"Aeg",options:"Suvandid",day_type_daily:"iga päev",day_type_weekdays:"tööpäevadel",day_type_custom:"valikuline",shift_with_sun:"määrake automaatselt Päikese tõus/loojang",brightness:"Heledus",temperature:"Temperatuur",position:"Asukoht"},Ze={mon:"E",tue:"T",wed:"K",thu:"N",fri:"R",sat:"L",sun:"P"},Xe={mon:"Esmaspäev",tue:"Teisipäev",wed:"Kolmapäev",thu:"Neljapäev",fri:"Reede",sat:"Laupäev",sun:"Pühapäev"},et={on:" ",every:"iga",and:"ja",at:"kell",before:"enne",after:"pärast",sunrise:"päikesetõus",sunset:"loojang"},tt={turn_on:"lülita sisse",turn_off:"lülita välja",close_cover:"sulge",open_cover:"ava",set_temperature:"määra temperatuur",set_to:"seadista väärtusele",set_position:"seadista asendisse",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},rt={camera:"cameras",climate:"kliimaseade",cover:"(akna)katted",fan:"ventilaatorid",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"valgustid",media_player:"media players",scene:"scenes",switch:"lülitid",vacuum:"tolmuimejad"},it={scheduler:"Ajastaja",actions:Ye,instructions:Je,fields:We,days_short:Ze,days_long:Xe,words:et,services:tt,domains:rt},at=Object.freeze({__proto__:null,scheduler:"Ajastaja",actions:Ye,instructions:Je,fields:We,days_short:Ze,days_long:Xe,words:et,services:tt,domains:rt,default:it}),st={add:"ajouter un item",cancel:"annuler",next:"suivant",save:"sauvegarder",delete:"effacer"},nt={no_group_selected:"Sélectionner un groupe en premier",no_entity_selected:"Sélectionner une entité en premier",no_groups_defined:"Il n'y a pas de groupe défini",no_entities_for_group:"Il n'y a pas d'entité dans ce groupe",no_actions_for_entity:"Il n'y a pas d'action pour cette entité",no_entries_defined:"Il n'y a pas d'item à afficher"},ot={group:"Groupe",entity:"Entité",action:"Action",days:"Jours",time:"Temps",options:"Options",day_type_daily:"chaque jour",day_type_weekdays:"en semaine",day_type_custom:"sur mesure",shift_with_sun:"ajuster automatiquement l'heure au lever/coucher du soleil",brightness:"Luminosité",temperature:"Température",position:"Position"},lt={mon:"lun",tue:"mar",wed:"mer",thu:"jeu",fri:"ven",sat:"sam",sun:"dim"},ct={mon:"lundi",tue:"mardi",wed:"mercredi",thu:"jeudi",fri:"vendredi",sat:"samedi",sun:"dimanche"},dt={on:"marche",every:"tout",and:"et",at:"à",before:"avant",after:"après",sunrise:"lever du soleil",sunset:"coucher du soleil"},ut={turn_on:"allumer",turn_off:"éteindre",close_cover:"fermer",open_cover:"ouvrir",set_temperature:"régler la température",set_to:"défini à",set_position:"position définie",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},ht={camera:"cameras",climate:"climat",cover:"contrôleur",fan:"ventilateur",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"lumière",media_player:"media players",scene:"scenes",switch:"interrupteurs",vacuum:"aspirateur"},pt={scheduler:"Planificateur",actions:st,instructions:nt,fields:ot,days_short:lt,days_long:ct,words:dt,services:ut,domains:ht},mt=Object.freeze({__proto__:null,scheduler:"Planificateur",actions:st,instructions:nt,fields:ot,days_short:lt,days_long:ct,words:dt,services:ut,domains:ht,default:pt}),ft={add:"új időzítés",cancel:"mégse",next:"tovább",save:"törlés",delete:"delete"},vt={no_group_selected:"Előbb egy csoportot szükséges választani",no_entity_selected:"Előbb egy entitást szükséges választani",no_groups_defined:"Nincsenek deffiniált csoportok",no_entities_for_group:"Ebben a csoportban nem találhatók entitások",no_actions_for_entity:"Ehhez az entitáshoz nem tartoznak műveletek",no_entries_defined:"Nincs megjeleníthető elem"},gt={group:"Csoport",entity:"Entitás",action:"Művelet",days:"Napokon",time:"Időpontban",options:"Opciók",day_type_daily:"minden nap",day_type_weekdays:"munkanapokon",day_type_custom:"egyedi",shift_with_sun:"Az idő automatikus igazítása napkeltéhez/naplementéhez",brightness:"Fényerő",temperature:"Hőmérséklet",position:"Pozíciót"},yt={mon:"hét",tue:"ked",wed:"sze",thu:"csü",fri:"pén",sat:"szo",sun:"vas"},_t={mon:"hétfő",tue:"kedd",wed:"szerda",thu:"csütörtök",fri:"péntek",sat:"szombat",sun:"vasárnap"},bt={on:"on",every:"minden",and:"és",at:"at",before:"előtt",after:"után",sunrise:"napkelte",sunset:"naplemente"},wt={turn_on:"bekapcsolás",turn_off:"kikapcsolás",close_cover:"zárás",open_cover:"nyitás",set_temperature:"hőmérséklet",set_to:"beállítva",set_position:"változtass pozíciót",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},Pt={camera:"cameras",climate:"termosztát",cover:"redőny",fan:"ventilátor",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"lámpa",media_player:"media players",scene:"scenes",switch:"kapcsoló",vacuum:"pórszívó"},Et={scheduler:"Időzítések",actions:ft,instructions:vt,fields:gt,days_short:yt,days_long:_t,words:bt,services:wt,domains:Pt},St=Object.freeze({__proto__:null,scheduler:"Időzítések",actions:ft,instructions:vt,fields:gt,days_short:yt,days_long:_t,words:bt,services:wt,domains:Pt,default:Et}),$t={add:"Nieuw item",cancel:"annuleren",next:"verder",save:"opslaan",delete:"verwijder"},xt={no_group_selected:"Selecteer eerst een groep",no_entity_selected:"Selecteer eerst een entiteit",no_groups_defined:"Er zijn geen groepen gedefinieerd",no_entities_for_group:"Deze groep heeft geen entiteiten",no_actions_for_entity:"Deze entiteit heeft geen acties",no_entries_defined:"Er zijn geen items aangemaakt"},kt={group:"Groep",entity:"Entiteit",action:"Actie",days:"Dagen",time:"Tijdstip",options:"Opties",day_type_daily:"Dagelijks",day_type_weekdays:"werkdagen",day_type_custom:"Anders",shift_with_sun:"Automatisch aanpassen aan zonsopgang/zonsondergang",brightness:"Helderheid",temperature:"Temperatuur",position:"Positie"},Ot={mon:"ma",tue:"di",wed:"wo",thu:"do",fri:"vr",sat:"za",sun:"zo"},jt={mon:"maandag",tue:"dinsdag",wed:"woensdag",thu:"donderdag",fri:"vrijdag",sat:"zaterdag",sun:"zondag"},Dt={on:"op",every:"elke",and:"en",at:"om",before:"voor",after:"na",sunrise:"zonsopgang",sunset:"zonsondergang"},At={turn_on:"aanzetten",turn_off:"uitzetten",close_cover:"sluiten",open_cover:"openen",set_temperature:"temperatuur instellen",set_to:"Zet op",set_position:"positie instellen",set_hvac_mode:"stand aanpassen",set_preset_mode:"voorinstelling kiezen",set_value:"waarde instellen",select_option:"optie selecteren",select_source:"ingang selecteren",start:"starten"},Ct={camera:"cameras",climate:"verwarming",cover:"zonwering",fan:"ventilatie",group:"groepen",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",light:"verlichting",media_player:"mediaspelers",scene:"scènes",switch:"schakelaars",vacuum:"stofzuigers"},Ft={scheduler:"Tijdplanner",actions:$t,instructions:xt,fields:kt,days_short:Ot,days_long:jt,words:Dt,services:At,domains:Ct},zt=Object.freeze({__proto__:null,scheduler:"Tijdplanner",actions:$t,instructions:xt,fields:kt,days_short:Ot,days_long:jt,words:Dt,services:At,domains:Ct,default:Ft}),Rt={add:"legg til",cancel:"avbryt",next:"neste",save:"lagre",delete:"slett"},Tt={no_group_selected:"Velg en gruppe først",no_entity_selected:"Velg en entitet først",no_groups_defined:"Ingen grupper definert",no_entities_for_group:"Det finnes ingen entiteter i denne gruppen",no_actions_for_entity:"Det finnes ingen handlinger for denne entiteten",no_entries_defined:"Det er ingen definerte tidsplaner å vise"},It={group:"Gruppe",entity:"Entitet",action:"Handling",days:"Dager",time:"Tid",options:"Valg",day_type_daily:"hver dag",day_type_weekdays:"ukedager",day_type_custom:"egendefinert",shift_with_sun:"automatisk juster tid for soloppgang/solnedgang",brightness:"Lysstyrke",temperature:"Temperatur",position:"Posisjon"},Nt={mon:"man",tue:"tir",wed:"ons",thu:"tor",fri:"fre",sat:"lør",sun:"søn"},Lt={mon:"mandag",tue:"tirsdag",wed:"onsdag",thu:"torsdag",fri:"fredag",sat:"lørdag",sun:"søndag"},Mt={on:"den",every:"hver",and:"og",at:"på",before:"før",after:"etter",sunrise:"soloppgang",sunset:"solnedgang"},Vt={turn_on:"slå på",turn_off:"slå av",close_cover:"lukk",open_cover:"åpne",set_temperature:"sett temperatur",set_to:"sett til",set_position:"sett posisjon",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},Ut={camera:"cameras",climate:"klima",cover:"cover",fan:"vifter",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",media_player:"media players",scene:"scenes",light:"lys",switch:"brytere",vacuum:"støvsugere"},qt={scheduler:"Tidsplan",actions:Rt,instructions:Tt,fields:It,days_short:Nt,days_long:Lt,words:Mt,services:Vt,domains:Ut},Ht=Object.freeze({__proto__:null,scheduler:"Tidsplan",actions:Rt,instructions:Tt,fields:It,days_short:Nt,days_long:Lt,words:Mt,services:Vt,domains:Ut,default:qt}),Qt={add:"dodaj",cancel:"anuluj",next:"dalej",save:"zapisz",delete:"usuń"},Gt={no_group_selected:"Najpierw wybierz grupę",no_entity_selected:"Najpierw wybierz encję",no_groups_defined:"Nie ma zdefiniowanych grup",no_entities_for_group:"Nie ma encji w tej grupie",no_actions_for_entity:"Nie ma akcji dla tej encji",no_entries_defined:"Nie ma elementów do pokazania"},Kt={group:"Grupa",entity:"Encja",action:"Akcja",days:"Dni",time:"Czas",options:"Opcje",day_type_daily:"codziennie",day_type_weekdays:"dni tygodnia",day_type_custom:"niestandardowy",shift_with_sun:"automatycznie dopasuj czas do wschodów/zachodów",brightness:"Jasność",temperature:"Temperatura",position:"Pozycję"},Bt={mon:"pon",tue:"wt",wed:"śr",thu:"czw",fri:"pt",sat:"sob",sun:"niedz"},Yt={mon:"poniedziałek",tue:"wtorek",wed:"środa",thu:"czwartek",fri:"piątek",sat:"sobota",sun:"niedziela"},Jt={on:"w",every:"każdy",and:"oraz",at:"o",before:"przed",after:"po",sunrise:"wschód",sunset:"zachodów"},Wt={turn_on:"włącz",turn_off:"wyłącz",close_cover:"zamknij",open_cover:"otwórz",set_temperature:"Ustaw temperaturę",set_to:"ustaw na",set_position:"Ustaw pozycję",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},Zt={camera:"cameras",climate:"termostat",cover:"roleta",fan:"wiatrak",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",media_player:"media players",scene:"scenes",light:"światło",switch:"włącznik",vacuum:"odkurzacz"},Xt={scheduler:"Harmonogram",actions:Qt,instructions:Gt,fields:Kt,days_short:Bt,days_long:Yt,words:Jt,services:Wt,domains:Zt},er=Object.freeze({__proto__:null,scheduler:"Harmonogram",actions:Qt,instructions:Gt,fields:Kt,days_short:Bt,days_long:Yt,words:Jt,services:Wt,domains:Zt,default:Xt}),tr={add:"adicionar item",cancel:"cancelar",next:"próximo",save:"gravar",delete:"apagar"},rr={no_group_selected:"Selecione um grupo primeiro",no_entity_selected:"Selecione uma entidade primeiro",no_groups_defined:"Não tem grupo definido",no_entities_for_group:"Não tem entidade no grupo",no_actions_for_entity:"Não há ações para esta entidade",no_entries_defined:"Não tem item pra mostar"},ir={group:"Grupo",entity:"Entidade",action:"Ação",days:"Dias",time:"Hora",options:"Opções",day_type_daily:"todos os dias",day_type_weekdays:"dias da semana",day_type_custom:"personalizado",shift_with_sun:"automaticamente ajusta hora pelo nascer do sol/pôr do sol",brightness:"Brilho",temperature:"Temperatura",position:"Posição"},ar={mon:"seg",tue:"ter",wed:"qua",thu:"qui",fri:"sex",sat:"sab",sun:"dom"},sr={mon:"segunda",tue:"terça",wed:"quarta",thu:"quinta",fri:"sexta",sat:"sabádo",sun:"domingo"},nr={on:"on",every:"cada",and:"e",at:"às",before:"antes",after:"depois",sunrise:"nascer do sol",sunset:"pôr do sol"},or={turn_on:"ligar",turn_off:"desligar",close_cover:"fechar",open_cover:"abrir",set_temperature:"ajustar temperatura",set_to:"ajustar para",set_position:"ajustar posição",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},lr={camera:"cameras",climate:"ar condicionado",cover:"persiana",fan:"ventilador",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",media_player:"media players",scene:"scenes",light:"luz",switch:"interruptor",vacuum:"aspirador"},cr={scheduler:"Agenda",actions:tr,instructions:rr,fields:ir,days_short:ar,days_long:sr,words:nr,services:or,domains:lr},dr=Object.freeze({__proto__:null,scheduler:"Agenda",actions:tr,instructions:rr,fields:ir,days_short:ar,days_long:sr,words:nr,services:or,domains:lr,default:cr}),ur={add:"добавить",cancel:"отменить",next:"далее",save:"сохранить",delete:"удалить"},hr={no_group_selected:"Необходимо выбрать группу",no_entity_selected:"Необходимо выбрать объект",no_groups_defined:"Ни одной группы не создано",no_entities_for_group:"В этой группе нет объектов",no_actions_for_entity:"Для этого объекта нет действий",no_entries_defined:"Объекты отсутствуют"},pr={group:"Группа",entity:"Объект",action:"Действие",days:"Дни",time:"Время",options:"Опции",day_type_daily:"ежедневно",day_type_weekdays:"по будням",day_type_custom:"выбрать дни",shift_with_sun:"автоматически настраивать время на восход / закат",brightness:"Яркость",temperature:"Температура",position:"Позицию"},mr={mon:"пн",tue:"вт",wed:"ср",thu:"чт",fri:"пт",sat:"сб",sun:"вс"},fr={mon:"понедельник",tue:"вторник",wed:"среда",thu:"четверг",fri:"пятница",sat:"суббота",sun:"воскресенье"},vr={on:"по",every:"каждый",and:"и",at:"в",before:"до",after:"после",sunrise:"восхода",sunset:"заката"},gr={turn_on:"включить",turn_off:"выключить",close_cover:"закрыть",open_cover:"открыть",set_temperature:"задать температуру",set_to:"установить",set_position:"установить позицию",set_hvac_mode:"set mode",set_preset_mode:"set preset",set_value:"set value",select_option:"select option",select_source:"select source",start:"start"},yr={camera:"cameras",climate:"Климат",cover:"Жалюзи",fan:"Вентиляторы",group:"groups",input_boolean:"input_boolean",input_number:"input_number",input_select:"input_select",media_player:"media players",scene:"scenes",light:"Свет",switch:"Выключатели",vacuum:"Пылесосы"},_r={scheduler:"Планирование",actions:ur,instructions:hr,fields:pr,days_short:mr,days_long:fr,words:vr,services:gr,domains:yr},br={de:Oe,en:Ne,es:Be,et:at,es_419:Be,fr:mt,hu:St,nb:Ht,nl:zt,nn:Ht,no:Ht,pl:er,pt:dr,pt_BR:dr,ru:Object.freeze({__proto__:null,scheduler:"Планирование",actions:ur,instructions:hr,fields:pr,days_short:mr,days_long:fr,words:vr,services:gr,domains:yr,default:_r})};function wr(e,t="",r=""){const i=Pr();var a;try{if("test"==i)return"TRANSLATED";a=e.split(".").reduce((e,t)=>e[t],br[i])}catch(t){a=e.split(".").reduce((e,t)=>e[t],br.en)}return void 0===a&&(a=e.split(".").reduce((e,t)=>e[t],br.en)),""!==t&&""!==r&&(a=a.replace(t,r)),a}function Pr(){var e;let t=null===(e=localStorage.getItem("selectedLanguage"))||void 0===e?void 0:e.replace(/['"]+/g,"").replace("-","_");if(!t||"null"==t){const e=document.querySelector("home-assistant").hass;t=e.selectedLanguage||e.language||"en"}return String(t)}const Er={turn_on:"services.turn_on",turn_off:"services.turn_off",open_cover:"services.open_cover",close_cover:"services.close_cover",set_temperature:"services.set_temperature",set_cover_position:"services.set_position",set_hvac_mode:"services.set_hvac_mode",set_preset_mode:"services.set_preset_mode",set_value:"services.set_value",select_option:"services.select_option",select_source:"services.select_source",start:"services.start"},Sr={camera:"domains.camera",climate:"domains.climate",cover:"domains.cover",fan:"domains.fan",group:"domains.group",input_boolean:"domains.input_boolean",input_number:"domains.input_number",input_select:"domains.input_select",light:"domains.light",media_player:"domains.media_player",scene:"domains.scene",switch:"domains.switch",vacuum:"domains.vacuum"};function $r(e,t,r={}){let i=Array.isArray(e)?[...e]:Object.assign({},e);return null===e&&(i=Array.isArray(t)?[]:{}),null==t?e:(Object.keys(t).forEach(e=>{let a=t[e];if(void 0!==a)if(null===a&&r.compact)void 0!==i[e]&&delete i[e];else if(Array.isArray(a)&&Array.isArray(i[e])&&!r.overwrite?a=$r(i[e],a,r):"object"!=typeof a||null===a||"object"!=typeof i[e]||r.overwrite||(a=$r(i[e],a,r)),Array.isArray(t))null!==a&&(r.overwrite?i=a:i.push(a));else{if((Array.isArray(a)||"object"==typeof a)&&null!==a&&!Object.keys(a).length&&r.compact)return void delete i[e];Object.assign(i,{[e]:a})}}),i)}function xr(e,t){return e?Object.entries(e).filter(([e])=>t.includes(e)).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{}):{}}function kr(e,t){return e?Object.entries(e).filter(([e])=>!t.includes(e)).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{}):{}}function Or(e,t){return Object.entries(e).map(([e,r])=>[e,t(r,e)]).filter(([,e])=>null!=e).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{})}function jr(e,t){return e.reduce((e,r)=>Object.assign(e,{[t(r)]:r}),{})}function Dr(e){if(-1===e.indexOf("."))return"";return String(e.split(".").shift())}function Ar(e){if(-1===e.indexOf("."))return e;return String(e.split(".").pop())}function Cr(e){if(e.type==ne.Daily)return wr("fields.day_type_daily");if(e.type==ne.Weekdays)return`${wr("words.on")} ${wr("fields.day_type_weekdays")}`;{let r=e.custom_days||[],i=Array();r.includes(1)&&i.push(wr("days_long.mon")),r.includes(2)&&i.push(wr("days_long.tue")),r.includes(3)&&i.push(wr("days_long.wed")),r.includes(4)&&i.push(wr("days_long.thu")),r.includes(5)&&i.push(wr("days_long.fri")),r.includes(6)&&i.push(wr("days_long.sat")),r.includes(7)&&i.push(wr("days_long.sun"));let a=i.join(", ");var t=a.lastIndexOf(", ");return t&&(a=a.slice(0,t)+a.slice(t).replace(", ",` ${wr("words.and")} `)),`${wr("words.every")} ${a}`}}function Fr(e,t){let r=!!t.amPm&&t.amPm;if(!e.event)return`${wr("words.at")} ${le(e.value,{amPm:r}).time}`;let i="unknown",a="";if(e.event===se.Sunrise&&null!==t.sunrise){i=le(ce(Number(t.sunrise)+e.value),{amPm:r}).time,a="sunrise"}else if(e.event==se.Sunset&&null!==t.sunset){i=le(ce(Number(t.sunset)+e.value),{amPm:r}).time,a="sunset"}return 0==Math.abs(e.value)?`${wr("words.at")} ${wr("words."+e.event)} (${i})`:`${le(e.value,{absolute:!0}).time} ${le(e.value).signed?wr("words.before"):wr("words.after")} ${wr("words."+a)} (${i})`}function zr(e){return"string"!=typeof e&&(e=String(e)),Nr(e.replace(/_/g," "))}function Rr(e){return"string"!=typeof e&&(e=String(e)),e.match(/^[a-z]+:[a-z0-9-]+$/i)?e:"hass:"+e}function Tr(e,t,r){let i=zr(t.name);if(e.hasOwnProperty("variable")&&e.variable&&t.variable){let a=Ir(e.variable,t.variable,r);i=`${wr("services.set_to")} ${a}`}return Nr(i)}function Ir(e,t,r){if(e.type==ae.Level){let i="unit"in(t=t)?t.unit:"";i.length||"temperature"!=t.field||(i=r.temperature_unit);let a=Number(e.value);return"%"==t.unit&&(a=Math.round((a-t.min)/(t.max-t.min)*100),at.max&&(a=t.max)),`${a}${i}`}return String(e.value)}function Nr(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Lr(e,t){if(Array.isArray(e)&&Array.isArray(t)){let i=[...e].sort(),a=[...t].sort();if(i.length!=i.length)return!1;for(var r=0;rHr(e,t)),r=function(e,t){var r;if(e.supported_feature&&0==(t&e.supported_feature))return null;(null===(r=e.variable)||void 0===r?void 0:r.supported_feature)&&0==(t&e.variable.supported_feature)&&(e=$r(e,{variable:null},{compact:!0}));return e}(r,t.attributes.supported_features),(null==r?void 0:r.variable)&&(r=function(e,t){let r=Object.assign({},e),i=e.variable;i.name||(i=$r(i,{name:i.field}));if(i=Or(i,e=>Hr(e,t)),"options"in i){let e=[...i.options],a=Object.values(e).map(e=>"object"==typeof e?e.value.match(/^attribute:(\w+):\w+$/):null).find(e=>e);if(e=e.map(e=>"object"!=typeof e?{value:e}:$r(e,{value:Hr(e.value,t)})).filter(e=>e.value),a){let r=t.attributes[a[1]].filter(t=>Object.values(e).every(e=>e.value!=t)).map(e=>({value:e}));e=e.concat(r)}e.sort((e,t)=>(e.name?e.name:e.value)>(t.name?t.name:t.value)?1:-1),i=$r(i,{options:e},{overwrite:!0});let s=$r(ye,i);r=$r(r,{variable:s},{overwrite:!0})}else{let e=$r(ge,i);r=$r(r,{variable:e})}return r}(r,t)),r}function Hr(e,t){if("string"!=typeof e)return e;let r=String(e).match(/^attribute:(\w+):?(\w+)?$/);return null===r?e:"entity_id"==r[1]?t.entity_id:r[1]in t.attributes?void 0!==r[2]?Array.isArray(t.attributes[r[1]])&&t.attributes[r[1]].includes(r[2])?r[2]:null:t.attributes[r[1]]:null}function Qr(e){let t=e.entity,r=e.service;Dr(t)&&Dr(r)?r=Ar(r):!Dr(t)&&Dr(r)&&(t=Dr(r)+"."+t,r=Ar(r));let i=kr(e,["service","entity","service_data"]),a=$r({},{entity:t,service:r,service_data:Object.keys(i).length?i:null},{compact:!0});return a=$r(a,xr(e,["service_data"])),a}function Gr(e,t){let r=Qr(e),i=t.find(e=>{let t=Kr(e);return e.service==r.service&&(t==Kr(r)||!!(e.variable&&r.service_data&&Object.keys(r.service_data).includes(e.variable.field))&&t==Kr($r(r,{service_data:{[e.variable.field]:null}},{compact:!0})))});return i||null}function Kr(e){let t=e=>Object.entries(e).sort((e,t)=>e[0]>t[0]?1:-1).map(([e,r])=>[e,"object"==typeof r&&null!==r?t(r):r]).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{}),r=xr(e,["service","service_data"]);return r=t(r),Object.values(r).map(e=>JSON.stringify(e).replace(/[\W]/g," ").split(" ").filter(e=>" "!=e&&""!=e).join("_")).join("_")}function Br(e){return e.match(/^switch.schedule_[0-9a-f]{6}$/)}class Yr{constructor(){this.entities=[],this.include=[],this.exclude=[],this.customize={},this.standard_configuration=!0}SetConfig(e){this.standard_configuration=e.standard_configuration,this.include=e.include||[],this.exclude=e.exclude||[],this.customize=e.customize||{}}InConfig(e){return!Br(e)&&(!!this.include.find(t=>Mr(t,e))&&!this.exclude.find(t=>Mr(t,e)))}Find(e){return this.entities.find(t=>t.id==e)}Get(e=[]){let t=[];if(e&&e.length){(Array.isArray(e)?e:[e]).filter(e=>void 0!==this.Find(e)).forEach(e=>t.push(Object.assign({},this.entities[e])))}else t=[...this.entities];return t.sort((e,t)=>e.name>t.name?1:-1),t}Add(e,t){if(this.Find(e))return;let r={id:e,name:Ar(e),icon:"folder-outline",actions:[]};r=$r(r,kr(t,["actions"])),this.entities.push(r)}Set(e,t){if(!this.Find(e))throw`Entity '${e}' does not exist`;for(var r=0;r{Mr(e,r)&&(t=$r(t,kr(t,["actions"]))).actions&&(n=$r(n,jr(t.actions,Kr)))}),Object.keys(n).length&&(s=xr(s,Object.keys(n)),s=$r(s,n)),a=$r(a,{name:e.attributes.friendly_name,icon:e.attributes.icon}),a=$r(a,{actions:Object.values(s)}),a}AddAction(e,t){let r=this.Find(e);if(!r)throw Error(`Entity '${e}' must be created before actions can be assigned`);if(r.actions.find(e=>e.id==t.id))return;let i=[...r.actions];i.push(t),this.Set(e,{actions:i})}}function Jr(e){return e.replace(/[^a-z0-9_\ ]/g,"").replace(/\s+/g,"_").replace(/_+/g,"_")}class Wr{constructor(){this.groupConfig=[],this.groups=[],this.standard_configuration=!0}SetConfig(e){this.groupConfig=e.groups||[],this.standard_configuration=e.standard_configuration}Find(e){return this.groups.find(t=>t.id==e)}Get(){let e=[...this.groups].filter(e=>"discovered"!=e.id);return e.sort((e,t)=>e.name>t.name?1:-1),this.Find("discovered")&&e.push(Object.assign({},this.Find("discovered"))),e}Add(e,t){if(this.Find(e))return;let r={id:e,name:e in Sr?wr(Sr[e]):e,icon:"folder-outline",entities:[]};r=$r(r,t),this.groups.push(r)}Set(e,t){if(!this.Find(e))throw`Group '${e}' does not exist`;for(var r=0;rJr(t.name)==e);return!!a&&(!!a.include.find(e=>Mr(e,t))&&!(null===(r=a.exclude)||void 0===r?void 0:r.find(e=>Mr(e,t))))}InConfig(e){return void 0!==this.groups.find(t=>this.InGroup(t.id,e))}CreateGroups(e){this.groupConfig.forEach(e=>this.Add(Jr(e.name),xr(e,["name","icon"]))),e.forEach(e=>{var t;if(this.InConfig(e))return;let r=Dr(e),i=this.Find(r);if(i){let t=[...i.entities];t.push(e),this.Set(r,{entities:t})}else{let i={entities:[e]};(null===(t=Vr[r])||void 0===t?void 0:t.icon)&&this.standard_configuration&&Object.assign(i,{icon:Vr[r].icon}),this.Add(r,i)}})}}class Zr{constructor(){this.discover_existing=!0,this.standard_configuration=!0,this.entities=new Yr,this.groups=new Wr}setUserConfig(e){void 0!==e.discover_existing&&(this.discover_existing=e.discover_existing),void 0!==e.standard_configuration&&(this.standard_configuration=e.standard_configuration),this.entities.SetConfig({include:e.include,exclude:e.exclude,customize:e.customize,standard_configuration:this.standard_configuration}),this.groups.SetConfig({groups:e.groups,standard_configuration:this.standard_configuration})}GetGroups(){return this.groups.Get()}GetEntitiesForGroup(e){return this.groups.Find(e)?this.entities.Get().filter(t=>this.groups.InGroup(e,t.id)):[]}FindEntity(e){if(!e)return null;let t=this.entities.Find(e);return t||null}FindAction(e,t){if(!e||!t)return null;let r=this.entities.Find(e);return r?r.actions.find(e=>e.id==t):null}GetActionsForEntity(e){if(!e)return[];let t=this.entities.Find(e);if(!t)return[];let r=[...t.actions];return r.sort((e,t)=>e.name>t.name?1:-1),r}GetEntityConfig(e){return this.entities.GetConfig(e)}LoadEntities(e){if(Object.entries(e).forEach(([e,t])=>{if(!this.entities.InConfig(e))return;let r=this.GetEntityConfig(t);if(this.entities.Add(e,r),r.actions){r.actions.map(e=>qr(e,t)).filter(e=>e).map(Ur).forEach(t=>this.entities.AddAction(e,t))}}),this.groups.CreateGroups(this.entities.Get().map(e=>e.id)),!this.discover_existing)return;let t=[];if(Object.entries(e).filter(([e])=>Br(e)).forEach(([r,i])=>{let a=i.attributes.actions;a&&a.forEach(r=>{let i=(Dr(r.entity)||Dr(r.service))+"."+r.entity.split(".").pop();if(!(i in e))return;let a=e[i],s=this.GetEntityConfig(a);this.entities.Find(i)||(this.entities.Add(i,s),t.push(i));let n=s.actions?Gr(r,s.actions):null;n||(n=xr(Qr(r),["service","service_data"]));let o=Ur(n);this.entities.AddAction(i,o)})}),t.length){let e={entities:t,icon:"reload-alert"};this.groups.Add("discovered",e)}}}const Xr=te` /* list view */ div.list-item { @@ -793,7 +793,7 @@ const Y=e=>t=>"function"==typeof t?((e,t)=>(window.customElements.define(e,t),t) ${a?N``:N``} - `})}toggleSelectDomain(e){this._config&&this.hass&&(this.selectedDomain!=e?this.selectedDomain=e:this.selectedDomain="")}toggleSelectEntity(e){if(!this._config||!this.hass)return;let t=this._config.include?[...this._config.include]:[];t.includes(e)?t=t.filter(t=>t!=e):t.push(e),t.sort(),this._config=Object.assign(Object.assign({},this._config),{include:t}),Ps(this,"config-changed",{config:this._config})}static get styles(){return Xr}};t([W()],Es.prototype,"hass",void 0),t([W()],Es.prototype,"_config",void 0),t([W()],Es.prototype,"selectedDomain",void 0),t([W()],Es.prototype,"titleOption",void 0),Es=t([Y("scheduler-card-editor")],Es),window.customCards=window.customCards||[],window.customCards.push({type:"scheduler-card",name:"Scheduler Card",description:"Card to manage schedule entities made with scheduler-component."}),console.info(`%c SCHEDULER-CARD \n%c Version: ${"1.6.0".padEnd(8," ")}\n%c Language: ${Pr().padEnd(7," ")}`,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray","color: white; font-weight: bold; background: dimgray"),e.SchedulerCard=class extends ie{constructor(){super(...arguments),this._config=me,this.Config=new Zr,this._entities={},this.scheduleItems=[],this.newItem=!1,this.editItem=!1,this.newItemConfirmed=!1,this._entries=[],this._activeEntry=null,this._entry=Object.assign({},fe),this._selectedGroup="",this._timeline=!1}static async getConfigElement(){return document.createElement("scheduler-card-editor")}static get styles(){return Xr}set hass(e){this._hass||this.init(e),this.updateScheduleList(e),this._hass=e}init(e){void 0!==e.states["sun.sun"]&&(this._config=Object.assign(Object.assign({},this._config),{sunrise:de(e.states["sun.sun"].attributes.next_rising),sunset:de(e.states["sun.sun"].attributes.next_setting)})),e.config.unit_system&&e.config.unit_system.temperature&&(this._config=Object.assign(Object.assign({},this._config),{temperature_unit:e.config.unit_system.temperature})),e.user.is_admin||(this._config=Object.assign(Object.assign({},this._config),{is_admin:!1})),this.Config.LoadEntities(e.states)}updateScheduleList(e){let t=(r=e.states,i=(e,t)=>Br(t),Object.entries(r).filter(([e,t])=>i(t,e)).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{}));var r,i;Lr(t,this._entities)||(this._entities=t,this.scheduleItems=Object.values(t).map(e=>function(e,t){if(!e.attributes.actions||!e.attributes.entries)return null;let r=e.attributes.actions.map(e=>{let r=Qr(e);if(!t.FindEntity(r.entity))return null;let i=Gr(r,t.GetActionsForEntity(r.entity));if(!i)return null;let a={entity:r.entity,action:i.id};if(i.variable&&i.variable.type==ae.Level){if(i.variable.type==ae.Level){let e;e=r.service_data&&i.variable.field in r.service_data?{type:ae.Level,value:Number(r.service_data[i.variable.field]),enabled:!0}:{type:ae.Level,value:null,enabled:!1},a=$r(a,{variable:e})}}else if(i.variable&&i.variable.type==ae.List){let e;e=r.service_data&&i.variable.field in r.service_data?{type:ae.List,value:String(r.service_data[i.variable.field])}:{type:ae.List,value:null},a=$r(a,{variable:e})}return a}),i=[];return e.attributes.entries.forEach(e=>{let t,a=Ba.exec(e),s=Ya.exec(a[3]).map(Number),n=Ja.exec(a[2]);return t=n?{event:"SR"==n[2]?se.Sunrise:se.Sunset,value:n[1]?-de(n[1]):de(n[3])}:{value:de(a[2])},s.filter(e=>r[e]).forEach(e=>{i.push($r(r[e],{time:t,days:he(a[1].split("").map(Number))}))})}),i.length?{entries:i,id:e.entity_id,enabled:"off"!=e.state}:null}(e,this.Config)).filter(e=>e))}setConfig(e){Ka(e);this._config=Object.assign(Object.assign({},this._config),xr(e,Object.keys(this._config))),this.Config.setUserConfig(xr(e,["discover_existing","standard_configuration","include","exclude","groups","customize"]))}getCardSize(){return this._hass&&this.scheduleItems.length?6+2*this.scheduleItems.length:6}render(){return this.newItem||this.editItem?this.newItem&&!this.newItemConfirmed?N` + `})}toggleSelectDomain(e){this._config&&this.hass&&(this.selectedDomain!=e?this.selectedDomain=e:this.selectedDomain="")}toggleSelectEntity(e){if(!this._config||!this.hass)return;let t=this._config.include?[...this._config.include]:[];t.includes(e)?t=t.filter(t=>t!=e):t.push(e),t.sort(),this._config=Object.assign(Object.assign({},this._config),{include:t}),Ps(this,"config-changed",{config:this._config})}static get styles(){return Xr}};t([W()],Es.prototype,"hass",void 0),t([W()],Es.prototype,"_config",void 0),t([W()],Es.prototype,"selectedDomain",void 0),t([W()],Es.prototype,"titleOption",void 0),Es=t([Y("scheduler-card-editor")],Es),window.customCards=window.customCards||[],window.customCards.push({type:"scheduler-card",name:"Scheduler Card",description:"Card to manage schedule entities made with scheduler-component."}),console.info(`%c SCHEDULER-CARD \n%c Version: ${"1.6.1".padEnd(8," ")}\n%c Language: ${Pr().padEnd(7," ")}`,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray","color: white; font-weight: bold; background: dimgray"),e.SchedulerCard=class extends ie{constructor(){super(...arguments),this._config=me,this.Config=new Zr,this._entities={},this.scheduleItems=[],this.newItem=!1,this.editItem=!1,this.newItemConfirmed=!1,this._entries=[],this._activeEntry=null,this._entry=Object.assign({},fe),this._selectedGroup="",this._timeline=!1}static async getConfigElement(){return document.createElement("scheduler-card-editor")}static get styles(){return Xr}set hass(e){this._hass||this.init(e),this.updateScheduleList(e),this._hass=e}init(e){void 0!==e.states["sun.sun"]&&(this._config=Object.assign(Object.assign({},this._config),{sunrise:de(e.states["sun.sun"].attributes.next_rising),sunset:de(e.states["sun.sun"].attributes.next_setting)})),e.config.unit_system&&e.config.unit_system.temperature&&(this._config=Object.assign(Object.assign({},this._config),{temperature_unit:e.config.unit_system.temperature})),e.user.is_admin||(this._config=Object.assign(Object.assign({},this._config),{is_admin:!1})),this.Config.LoadEntities(e.states)}updateScheduleList(e){let t=(r=e.states,i=(e,t)=>Br(t),Object.entries(r).filter(([e,t])=>i(t,e)).reduce((e,[t,r])=>Object.assign(e,{[t]:r}),{}));var r,i;Lr(t,this._entities)||(this._entities=t,this.scheduleItems=Object.values(t).map(e=>function(e,t){if(!e.attributes.actions||!e.attributes.entries)return null;let r=e.attributes.actions.map(e=>{let r=Qr(e);if(!t.FindEntity(r.entity))return null;let i=Gr(r,t.GetActionsForEntity(r.entity));if(!i)return null;let a={entity:r.entity,action:i.id};if(i.variable&&i.variable.type==ae.Level){if(i.variable.type==ae.Level){let e;e=r.service_data&&i.variable.field in r.service_data?{type:ae.Level,value:Number(r.service_data[i.variable.field]),enabled:!0}:{type:ae.Level,value:null,enabled:!1},a=$r(a,{variable:e})}}else if(i.variable&&i.variable.type==ae.List){let e;e=r.service_data&&i.variable.field in r.service_data?{type:ae.List,value:String(r.service_data[i.variable.field])}:{type:ae.List,value:null},a=$r(a,{variable:e})}return a}),i=[];return e.attributes.entries.forEach(e=>{let t,a=Ba.exec(e),s=Ya.exec(a[3]).map(Number),n=Ja.exec(a[2]);return t=n?{event:"SR"==n[2]?se.Sunrise:se.Sunset,value:n[1]?-de(n[1]):de(n[3])}:{value:de(a[2])},s.filter(e=>r[e]).forEach(e=>{i.push($r(r[e],{time:t,days:he(a[1].split("").map(Number))}))})}),i.length?{entries:i,id:e.entity_id,enabled:"off"!=e.state}:null}(e,this.Config)).filter(e=>e))}setConfig(e){Ka(e);this._config=Object.assign(Object.assign({},this._config),xr(e,Object.keys(this._config))),this.Config.setUserConfig(xr(e,["discover_existing","standard_configuration","include","exclude","groups","customize"]))}getCardSize(){return this._hass&&this.scheduleItems.length?6+2*this.scheduleItems.length:6}render(){return this.newItem||this.editItem?this.newItem&&!this.newItemConfirmed?N` ${this.getTitle()}
diff --git a/src/const.ts b/src/const.ts index c2629d62..e7d8085d 100755 --- a/src/const.ts +++ b/src/const.ts @@ -2,7 +2,7 @@ import { IUserConfig, ILevelVariableConfig, IListVariableConfig, IEntry, EVariableType } from './types' import { parseTimestamp, EDayType, MinutesPerDay } from './date-time' -export const CARD_VERSION = "1.6.0" +export const CARD_VERSION = "1.6.1" export const DefaultUserConfig: IUserConfig = { sunrise: null,