iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 50.8 kB
JavaScript
(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["89896"],{88128:function(e,t,i){"use strict";i.d(t,{P:()=>a});const a=e=>e.preventDefault()},59847:function(e,t,i){"use strict";i.d(t,{N:()=>n});var a=i(73850);const n=e=>(0,a.M)(e.entity_id)},75278:function(e,t,i){"use strict";i.d(t,{e:()=>a});const a=(e,t)=>n(e.attributes,t),n=(e,t)=>!!(e.supported_features&t)},50602:function(e,t,i){"use strict";i.a(e,(async function(e,a){try{i.d(t,{SL:()=>d,l4:()=>h,sJ:()=>l,uf:()=>u});var n=i(16485),s=(i(19083),i(19423),i(11740),i(61006),i(20382)),o=i(34618),r=e([n]);n=(r.then?(await r)():r)[0];const d=e=>l(e.attributes),l=(e,t)=>!!e.unit_of_measurement||!!e.state_class||(t||[]).includes(e.device_class||""),c=e=>{switch(e.number_format){case s.y4.comma_decimal:return["en-US","en"];case s.y4.decimal_comma:return["de","es","it"];case s.y4.space_comma:return["fr","sv","cs"];case s.y4.system:return;default:return e.language}},u=(e,t,i)=>{const a=t?c(t):void 0;return Number.isNaN=Number.isNaN||function e(t){return"number"==typeof t&&e(t)},(null==t?void 0:t.number_format)===s.y4.none||Number.isNaN(Number(e))?Number.isNaN(Number(e))||""===e||(null==t?void 0:t.number_format)!==s.y4.none?"string"==typeof e?e:`${(0,o.N)(e,null==i?void 0:i.maximumFractionDigits).toString()}${"currency"===(null==i?void 0:i.style)?` ${i.currency}`:""}`:new Intl.NumberFormat("en-US",p(e,Object.assign(Object.assign({},i),{},{useGrouping:!1}))).format(Number(e)):new Intl.NumberFormat(a,p(e,i)).format(Number(e))},h=(e,t)=>{var i;const a=null==t?void 0:t.display_precision;return null!=a?{maximumFractionDigits:a,minimumFractionDigits:a}:Number.isInteger(Number(null==e||null===(i=e.attributes)||void 0===i?void 0:i.step))&&Number.isInteger(Number(null==e?void 0:e.state))?{maximumFractionDigits:0}:void 0},p=(e,t)=>{const i=Object.assign({maximumFractionDigits:2},t);if("string"!=typeof e)return i;if(!t||void 0===t.minimumFractionDigits&&void 0===t.maximumFractionDigits){const t=e.indexOf(".")>-1?e.split(".")[1].length:0;i.minimumFractionDigits=t,i.maximumFractionDigits=t}return i};a()}catch(d){a(d)}}))},34618:function(e,t,i){"use strict";i.d(t,{N:()=>a});const a=(e,t=2)=>Math.round(e*10**t)/10**t},93826:function(e,t,i){"use strict";i.d(t,{P:()=>a});i(71695),i(47021);const a=(e,t,i=!0,a=!0)=>{let n,s=0;const o=(...o)=>{const r=()=>{s=!1===i?0:Date.now(),n=void 0,e(...o)},d=Date.now();s||!1!==i||(s=d);const l=t-(d-s);l<=0||l>t?(n&&(clearTimeout(n),n=void 0),s=d,e(...o)):n||!1===a||(n=window.setTimeout(r,l))};return o.cancel=()=>{clearTimeout(n),n=void 0,s=0},o}},65981:function(e,t,i){"use strict";i.r(t),i.d(t,{HaIcon:()=>H});var a=i(61701),n=i(72621),s=(i(19083),i(71695),i(40251),i(61006),i(47021),i(57243)),o=i(50778),r=i(36522),d=i(22381),l=i(80654),c=(i(92745),i(9359),i(31526),i(27608)),u=i(27486),h=i(37394);const p=JSON.parse('{"version":"7.4.47","parts":[{"file":"7a7139d465f1f41cb26ab851a17caa21a9331234"},{"start":"account-supervisor-circle-","file":"9561286c4c1021d46b9006596812178190a7cc1c"},{"start":"alpha-r-c","file":"eb466b7087fb2b4d23376ea9bc86693c45c500fa"},{"start":"arrow-decision-o","file":"4b3c01b7e0723b702940c5ac46fb9e555646972b"},{"start":"baby-f","file":"2611401d85450b95ab448ad1d02c1a432b409ed2"},{"start":"battery-hi","file":"89bcd31855b34cd9d31ac693fb073277e74f1f6a"},{"start":"blur-r","file":"373709cd5d7e688c2addc9a6c5d26c2d57c02c48"},{"start":"briefcase-account-","file":"a75956cf812ee90ee4f656274426aafac81e1053"},{"start":"calendar-question-","file":"3253f2529b5ebdd110b411917bacfacb5b7063e6"},{"start":"car-lig","file":"74566af3501ad6ae58ad13a8b6921b3cc2ef879d"},{"start":"cellphone-co","file":"7677f1cfb2dd4f5562a2aa6d3ae43a2e6997b21a"},{"start":"circle-slice-2","file":"70d08c50ec4522dd75d11338db57846588263ee2"},{"start":"cloud-co","file":"141d2bfa55ca4c83f4bae2812a5da59a84fec4ff"},{"start":"cog-s","file":"5a640365f8e47c609005d5e098e0e8104286d120"},{"start":"cookie-l","file":"dd85b8eb8581b176d3acf75d1bd82e61ca1ba2fc"},{"start":"currency-eur-","file":"15362279f4ebfc3620ae55f79d2830ad86d5213e"},{"start":"delete-o","file":"239434ab8df61237277d7599ebe066c55806c274"},{"start":"draw-","file":"5605918a592070803ba2ad05a5aba06263da0d70"},{"start":"emoticon-po","file":"a838cfcec34323946237a9f18e66945f55260f78"},{"start":"fan","file":"effd56103b37a8c7f332e22de8e4d67a69b70db7"},{"start":"file-question-","file":"b2424b50bd465ae192593f1c3d086c5eec893af8"},{"start":"flask-off-","file":"3b76295cde006a18f0301dd98eed8c57e1d5a425"},{"start":"food-s","file":"1c6941474cbeb1755faaaf5771440577f4f1f9c6"},{"start":"gamepad-u","file":"c6efe18db6bc9654ae3540c7dee83218a5450263"},{"start":"google-f","file":"df341afe6ad4437457cf188499cb8d2df8ac7b9e"},{"start":"head-c","file":"282121c9e45ed67f033edcc1eafd279334c00f46"},{"start":"home-pl","file":"27e8e38fc7adcacf2a210802f27d841b49c8c508"},{"start":"inbox-","file":"0f0316ec7b1b7f7ce3eaabce26c9ef619b5a1694"},{"start":"key-v","file":"ea33462be7b953ff1eafc5dac2d166b210685a60"},{"start":"leaf-circle-","file":"33db9bbd66ce48a2db3e987fdbd37fb0482145a4"},{"start":"lock-p","file":"b89e27ed39e9d10c44259362a4b57f3c579d3ec8"},{"start":"message-s","file":"7b5ab5a5cadbe06e3113ec148f044aa701eac53a"},{"start":"moti","file":"01024d78c248d36805b565e343dd98033cc3bcaf"},{"start":"newspaper-variant-o","file":"22a6ec4a4fdd0a7c0acaf805f6127b38723c9189"},{"start":"on","file":"c73d55b412f394e64632e2011a59aa05e5a1f50d"},{"start":"paw-ou","file":"3f669bf26d16752dc4a9ea349492df93a13dcfbf"},{"start":"pigg","file":"0c24edb27eb1c90b6e33fc05f34ef3118fa94256"},{"start":"printer-pos-sy","file":"41a55cda866f90b99a64395c3bb18c14983dcf0a"},{"start":"read","file":"c7ed91552a3a64c9be88c85e807404cf705b7edf"},{"start":"robot-vacuum-variant-o","file":"917d2a35d7268c0ea9ad9ecab2778060e19d90e0"},{"start":"sees","file":"6e82d9861d8fac30102bafa212021b819f303bdb"},{"start":"shoe-f","file":"e2fe7ce02b5472301418cc90a0e631f187b9f238"},{"start":"snowflake-m","file":"a28ba9f5309090c8b49a27ca20ff582a944f6e71"},{"start":"st","file":"7e92d03f095ec27e137b708b879dfd273bd735ab"},{"start":"su","file":"61c74913720f9de59a379bdca37f1d2f0dc1f9db"},{"start":"tag-plus-","file":"8f3184156a4f38549cf4c4fffba73a6a941166ae"},{"start":"timer-a","file":"baab470d11cfb3a3cd3b063ee6503a77d12a80d0"},{"start":"transit-d","file":"8561c0d9b1ac03fab360fd8fe9729c96e8693239"},{"start":"vector-arrange-b","file":"c9a3439257d4bab33d3355f1f2e11842e8171141"},{"start":"water-ou","file":"02dbccfb8ca35f39b99f5a085b095fc1275005a0"},{"start":"webc","file":"57bafd4b97341f4f2ac20a609d023719f23a619c"},{"start":"zip","file":"65ae094e8263236fa50486584a08c03497a38d93"}]}'),f=(0,u.Z)((async()=>{const e=(0,c.MT)("hass-icon-db","mdi-icon-store");{const t=await(0,c.U2)("_version",e);t?t!==p.version&&(await(0,c.ZH)(e),(0,c.t8)("_version",p.version,e)):(0,c.t8)("_version",p.version,e)}return e})),b=["mdi","hass","hassio","hademo"];let m=[];i(37583);let v,y,_,g=e=>e;const k={},x={},w=(0,d.D)((()=>(async e=>{const t=Object.keys(e),i=await Promise.all(Object.values(e));(await f())("readwrite",(a=>{i.forEach(((i,n)=>{Object.entries(i).forEach((([e,t])=>{a.put(t,e)})),delete e[t[n]]}))}))})(x)),2e3),C={};let H=(0,a.Z)([(0,o.Mo)("ha-icon")],(function(e,t){class a extends t{constructor(...t){super(...t),e(this)}}return{F:a,d:[{kind:"field",decorators:[(0,o.Cb)()],key:"icon",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_path",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_secondaryPath",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_viewBox",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_legacy",value(){return!1}},{kind:"method",key:"willUpdate",value:function(e){(0,n.Z)(a,"willUpdate",this,3)([e]),e.has("icon")&&(this._path=void 0,this._secondaryPath=void 0,this._viewBox=void 0,this._loadIcon())}},{kind:"method",key:"render",value:function(){return this.icon?this._legacy?(0,s.dy)(v||(v=g` <iron-icon .icon="${0}"></iron-icon>`),this.icon):(0,s.dy)(y||(y=g`<ha-svg-icon .path="${0}" .secondaryPath="${0}" .viewBox="${0}"></ha-svg-icon>`),this._path,this._secondaryPath,this._viewBox):s.Ld}},{kind:"method",key:"_loadIcon",value:async function(){if(!this.icon)return;const e=this.icon,[t,a]=this.icon.split(":",2);let n,s=a;if(!t||!s)return;if(!b.includes(t)){const i=l.g[t];return i?void(i&&"function"==typeof i.getIcon&&this._setCustomPath(i.getIcon(s),e)):void(this._legacy=!0)}if(this._legacy=!1,s in k){const e=k[s];let i;e.newName?(i=`Icon ${t}:${s} was renamed to ${t}:${e.newName}, please change your config, it will be removed in version ${e.removeIn}.`,s=e.newName):i=`Icon ${t}:${s} was removed from MDI, please replace this icon with an other icon in your config, it will be removed in version ${e.removeIn}.`,console.warn(i),(0,r.B)(this,"write_log",{level:"warning",message:i})}if(s in C)return void(this._path=C[s]);if("home-assistant"===s){const t=(await i.e("48348").then(i.bind(i,30511))).mdiHomeAssistant;return this.icon===e&&(this._path=t),void(C[s]=t)}try{n=await(e=>new Promise(((t,i)=>{if(m.push([e,t,i]),m.length>1)return;const a=f();(0,h.n)(1e3,(async()=>{(await a)("readonly",(e=>{for(const[t,i,a]of m)(0,c.RV)(e.get(t)).then((e=>i(e))).catch((e=>a(e)));m=[]}))})()).catch((e=>{for(const[,,t]of m)t(e);m=[]}))})))(s)}catch(u){n=void 0}if(n)return this.icon===e&&(this._path=n),void(C[s]=n);const o=(e=>{let t;for(const i of p.parts){if(void 0!==i.start&&e<i.start)break;t=i}return t.file})(s);if(o in x)return void this._setPath(x[o],s,e);const d=fetch(`/static/mdi/${o}.json`).then((e=>e.json()));x[o]=d,this._setPath(d,s,e),w()}},{kind:"method",key:"_setCustomPath",value:async function(e,t){const i=await e;this.icon===t&&(this._path=i.path,this._secondaryPath=i.secondaryPath,this._viewBox=i.viewBox)}},{kind:"method",key:"_setPath",value:async function(e,t,i){const a=await e;this.icon===i&&(this._path=a[t]),C[t]=a[t]}},{kind:"field",static:!0,key:"styles",value(){return(0,s.iv)(_||(_=g`:host{fill:currentcolor}`))}}]}}),s.oi)},77944:function(e,t,i){"use strict";i.a(e,(async function(e,a){try{i.r(t);var n=i(61701),s=i(72621),o=(i(19083),i(71695),i(92745),i(61495),i(61893),i(9359),i(56475),i(31526),i(70104),i(40251),i(61006),i(88044),i(47021),i(31622),i(1889),i(1806),i(83189),i(57243)),r=i(50778),d=i(35359),l=i(27486),c=i(68958),u=i(36522),h=i(90122),p=i(1416),f=i(93826),b=i(83716),m=i(25482),v=i(69919),y=i(6736),_=i(3967),g=i(28008),k=(i(65981),i(23334),i(43344),i(62801),i(37583),i(45801),i(88128)),x=e([v]);v=(x.then?(await x)():x)[0];let w,C,H,L,$,S,M,V,P,E,A,T,I,N,B,O,D,z,Z,U,F,R,j,K,q,W,X,G,J,Y=e=>e;const Q="M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21",ee="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z",te="M9.82,12.5C9.84,12.33 9.86,12.17 9.86,12C9.86,11.83 9.84,11.67 9.82,11.5L10.9,10.69C11,10.62 11,10.5 10.96,10.37L9.93,8.64C9.87,8.53 9.73,8.5 9.62,8.53L8.34,9.03C8.07,8.83 7.78,8.67 7.47,8.54L7.27,7.21C7.27,7.09 7.16,7 7.03,7H5C4.85,7 4.74,7.09 4.72,7.21L4.5,8.53C4.21,8.65 3.92,8.83 3.65,9L2.37,8.5C2.25,8.47 2.12,8.5 2.06,8.63L1.03,10.36C0.97,10.5 1,10.61 1.1,10.69L2.18,11.5C2.16,11.67 2.15,11.84 2.15,12C2.15,12.17 2.17,12.33 2.19,12.5L1.1,13.32C1,13.39 1,13.53 1.04,13.64L2.07,15.37C2.13,15.5 2.27,15.5 2.38,15.5L3.66,15C3.93,15.18 4.22,15.34 4.53,15.47L4.73,16.79C4.74,16.91 4.85,17 5,17H7.04C7.17,17 7.28,16.91 7.29,16.79L7.5,15.47C7.8,15.35 8.09,15.17 8.36,15L9.64,15.5C9.76,15.53 9.89,15.5 9.95,15.37L11,13.64C11.04,13.53 11,13.4 10.92,13.32L9.82,12.5M6,13.75C5,13.75 4.2,12.97 4.2,12C4.2,11.03 5,10.25 6,10.25C7,10.25 7.8,11.03 7.8,12C7.8,12.97 7,13.75 6,13.75M17,1H7A2,2 0 0,0 5,3V6H7V4H17V20H7V18H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1Z",ie="M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 17H7V10H9V17M13 17H11V7H13V17M17 17H15V13H17V17Z",ae="M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 8H9V12H8V9H7V8M10 17V18H7V17.08L9 15H7V14H9.25C9.66 14 10 14.34 10 14.75C10 14.95 9.92 15.14 9.79 15.27L8.12 17H10M11 4C11 3.45 11.45 3 12 3S13 3.45 13 4 12.55 5 12 5 11 4.55 11 4M17 17H12V15H17V17M17 11H12V9H17V11Z",ne="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",se="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z",oe="M5,9.5L7.5,14H2.5L5,9.5M3,4H7V8H3V4M5,20A2,2 0 0,0 7,18A2,2 0 0,0 5,16A2,2 0 0,0 3,18A2,2 0 0,0 5,20M9,5V7H21V5H9M9,19H21V17H9V19M9,13H21V11H9V13Z",re="M2 19.63L13.43 8.2L12.72 7.5L14.14 6.07L12 3.89C13.2 2.7 15.09 2.7 16.27 3.89L19.87 7.5L18.45 8.91H21.29L22 9.62L18.45 13.21L17.74 12.5V9.62L16.27 11.04L15.56 10.33L4.13 21.76L2 19.63Z",de="M11 15H6L13 1V9H18L11 23V15Z",le="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z",ce="M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z",ue="M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,14.5V5.5L18,10L12,14.5Z",he="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",pe="M20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H8L12,22L16,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,4.3C13.5,4.3 14.7,5.5 14.7,7C14.7,8.5 13.5,9.7 12,9.7C10.5,9.7 9.3,8.5 9.3,7C9.3,5.5 10.5,4.3 12,4.3M18,15H6V14.1C6,12.1 10,11 12,11C14,11 18,12.1 18,14.1V15Z",fe="M13,3V9H21V3M13,21H21V11H13M3,21H11V15H3M3,13H11V3H3V13Z",be=["config","developer-tools"],me="scrollIntoViewIfNeeded"in document.body,ve={energy:1,map:2,logbook:3,history:4,"developer-tools":9,config:11},ye={calendar:ee,"developer-tools":re,energy:de,history:ie,logbook:oe,lovelace:fe,map:pe,"media-browser":ue,todo:ae},_e=(e,t,i,a,n)=>{const s=e.indexOf(i.url_path),o=e.indexOf(a.url_path);return s!==o?s<o?1:-1:ge(t,i,a,n)},ge=(e,t,i,a)=>{const n="lovelace"===t.component_name,s="lovelace"===i.component_name;if(t.url_path===e)return-1;if(i.url_path===e)return 1;if(n&&s)return(0,p.$K)(t.title,i.title,a);if(n&&!s)return-1;if(s)return 1;const o=t.url_path in ve,r=i.url_path in ve;return o&&r?ve[t.url_path]-ve[i.url_path]:o?-1:r?1:(0,p.$K)(t.title,i.title,a)},ke=(0,l.Z)(((e,t,i,a,n)=>{if(!e)return[[],[]];const s=[],o=[];Object.values(e).forEach((e=>{a.includes(e.url_path)||!e.title&&e.url_path!==t||(be.includes(e.url_path)?o:s).push(e)}));const r=[...i].reverse();return s.sort(((e,i)=>_e(r,t,e,i,n.language))),o.sort(((e,i)=>_e(r,t,e,i,n.language))),[s,o]}));(0,n.Z)([(0,r.Mo)("ha-sidebar")],(function(e,t){class a extends t{constructor(...t){super(...t),e(this)}}return{F:a,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({type:Boolean,reflect:!0})],key:"narrow",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"route",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:"always-expand",type:Boolean})],key:"alwaysExpand",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({attribute:"edit-mode",type:Boolean})],key:"editMode",value(){return!1}},{kind:"field",decorators:[(0,r.SB)()],key:"_notifications",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_updatesCount",value(){return 0}},{kind:"field",decorators:[(0,r.SB)()],key:"_issuesCount",value(){return 0}},{kind:"field",key:"_mouseLeaveTimeout",value:void 0},{kind:"field",key:"_tooltipHideTimeout",value:void 0},{kind:"field",key:"_recentKeydownActiveUntil",value(){return 0}},{kind:"field",key:"_editStyleLoaded",value(){return!1}},{kind:"field",key:"_unsubPersistentNotifications",value:void 0},{kind:"field",decorators:[(0,c.t)({key:"sidebarPanelOrder",state:!0,subscribe:!0})],key:"_panelOrder",value(){return[]}},{kind:"field",decorators:[(0,c.t)({key:"sidebarHiddenPanels",state:!0,subscribe:!0})],key:"_hiddenPanels",value(){return[]}},{kind:"method",key:"hassSubscribe",value:function(){var e;return null!==(e=this.hass.user)&&void 0!==e&&e.is_admin?[(0,m.$X)(this.hass.connection,(e=>{this._issuesCount=e.issues.filter((e=>!e.ignored)).length}))]:[]}},{kind:"method",key:"render",value:function(){return this.hass?(0,o.dy)(w||(w=Y` ${0} ${0} ${0} ${0} ${0} <div disabled="disabled" class="bottom-spacer"></div> <div class="tooltip"></div> `),this._renderHeader(),this._renderAllPanels(),this._renderDivider(),this._renderNotifications(),this._renderUserItem()):o.Ld}},{kind:"method",key:"shouldUpdate",value:function(e){if(e.has("expanded")||e.has("narrow")||e.has("alwaysExpand")||e.has("editMode")||e.has("_externalConfig")||e.has("_updatesCount")||e.has("_issuesCount")||e.has("_notifications")||e.has("_hiddenPanels")||e.has("_panelOrder"))return!0;if(!this.hass||!e.has("hass"))return!1;const t=e.get("hass");if(!t)return!0;const i=this.hass;return i.panels!==t.panels||i.panelUrl!==t.panelUrl||i.user!==t.user||i.localize!==t.localize||i.locale!==t.locale||i.states!==t.states||i.defaultPanel!==t.defaultPanel||i.connected!==t.connected}},{kind:"method",key:"firstUpdated",value:function(e){(0,s.Z)(a,"firstUpdated",this,3)([e]),this._subscribePersistentNotifications()}},{kind:"method",key:"_subscribePersistentNotifications",value:function(){this._unsubPersistentNotifications&&this._unsubPersistentNotifications(),this._unsubPersistentNotifications=(0,b.r)(this.hass.connection,(e=>{this._notifications=e}))}},{kind:"method",key:"updated",value:function(e){var t;if((0,s.Z)(a,"updated",this,3)([e]),e.has("alwaysExpand")&&(0,h.X)(this,"expanded",this.alwaysExpand),e.has("editMode")&&this.editMode&&this._editModeActivated(),!e.has("hass"))return;if(this.hass&&!1===(null===(t=e.get("hass"))||void 0===t?void 0:t.connected)&&!0===this.hass.connected&&this._subscribePersistentNotifications(),this._calculateCounts(),!me)return;const i=e.get("hass");if(!i||i.panelUrl!==this.hass.panelUrl){const e=this.shadowRoot.querySelector(".iron-selected");e&&e.scrollIntoViewIfNeeded()}}},{kind:"field",key:"_calculateCounts",value(){return(0,f.P)((()=>{let e=0;for(const i of Object.keys(this.hass.states)){var t;!i.startsWith("update.")||null!==(t=this.hass.entities[i])&&void 0!==t&&t.hidden||!(0,v.hF)(this.hass.states[i])||e++}this._updatesCount=e}),5e3)}},{kind:"method",key:"_renderHeader",value:function(){return(0,o.dy)(C||(C=Y`<div class="menu" @action="${0}" .actionHandler="${0}"> ${0} ${0} </div>`),this._handleAction,(0,_.K)({hasHold:!this.editMode,disabled:this.editMode}),this.narrow?"":(0,o.dy)(H||(H=Y` <ha-icon-button .label="${0}" .path="${0}" @action="${0}"></ha-icon-button> `),this.hass.localize("ui.sidebar.sidebar_toggle"),"docked"===this.hass.dockedSidebar?ce:le,this._toggleSidebar),this.editMode?(0,o.dy)(L||(L=Y`<mwc-button outlined @click="${0}"> ${0} </mwc-button>`),this._closeEditMode,this.hass.localize("ui.sidebar.done")):(0,o.dy)($||($=Y`<div class="title">ioBroker</div>`)))}},{kind:"method",key:"_renderAllPanels",value:function(){var e;const[t,i]=ke(this.hass.panels,this.hass.defaultPanel,this._panelOrder,this._hiddenPanels,this.hass.locale),a=null!==(e=this.route.path)&&void 0!==e&&e.startsWith("/hassio/")?"config":this.hass.panelUrl;return(0,o.dy)(S||(S=Y` <paper-listbox attr-for-selected="data-panel" class="ha-scrollbar" .selected="${0}" @focusin="${0}" @focusout="${0}" @scroll="${0}" @keydown="${0}" @iron-activate="${0}"> ${0} ${0} ${0} ${0} </paper-listbox> `),a,this._listboxFocusIn,this._listboxFocusOut,this._listboxScroll,this._listboxKeydown,k.P,this.editMode?this._renderPanelsEdit(t):this._renderPanels(t),this._renderSpacer(),this._renderPanels(i),this._renderExternalConfiguration())}},{kind:"method",key:"_renderPanels",value:function(e){return e.map((e=>this._renderPanel(e.url_path,e.url_path===this.hass.defaultPanel?e.title||this.hass.localize("panel.states"):this.hass.localize(`panel.${e.title}`)||e.title,e.icon,e.url_path!==this.hass.defaultPanel||e.icon?e.url_path in ye?ye[e.url_path]:void 0:ye.lovelace)))}},{kind:"method",key:"_renderPanel",value:function(e,t,i,a){return"config"===e?this._renderConfiguration(t):(0,o.dy)(M||(M=Y` <a role="option" aria-selected="${0}" href="${0}" data-panel="${0}" tabindex="-1" @mouseenter="${0}" @mouseleave="${0}"> <paper-icon-item> ${0} <span class="item-text">${0}</span> </paper-icon-item> ${0} </a> `),e===this.hass.panelUrl,`/${e}`,e,this._itemMouseEnter,this._itemMouseLeave,a?(0,o.dy)(V||(V=Y`<ha-svg-icon slot="item-icon" .path="${0}"></ha-svg-icon>`),a):(0,o.dy)(P||(P=Y`<ha-icon slot="item-icon" .icon="${0}"></ha-icon>`),i),t,this.editMode?(0,o.dy)(E||(E=Y`<ha-icon-button .label="${0}" .path="${0}" class="hide-panel" .panel="${0}" @click="${0}"></ha-icon-button>`),this.hass.localize("ui.sidebar.hide_panel"),ne,e,this._hidePanel):"")}},{kind:"method",key:"_panelMoved",value:function(e){e.stopPropagation();const{oldIndex:t,newIndex:i}=e.detail,[a]=ke(this.hass.panels,this.hass.defaultPanel,this._panelOrder,this._hiddenPanels,this.hass.locale),n=a.map((e=>e.url_path)),s=n.splice(t,1)[0];n.splice(i,0,s),this._panelOrder=n}},{kind:"method",key:"_renderPanelsEdit",value:function(e){return(0,o.dy)(A||(A=Y` <ha-sortable handle-selector="paper-icon-item" .disabled="${0}" @item-moved="${0}"> <div class="reorder-list">${0}</div> </ha-sortable> ${0}${0} `),!this.editMode,this._panelMoved,this._renderPanels(e),this._renderSpacer(),this._renderHiddenPanels())}},{kind:"method",key:"_renderHiddenPanels",value:function(){return(0,o.dy)(T||(T=Y`${0}`),this._hiddenPanels.length?(0,o.dy)(I||(I=Y`${0} ${0}`),this._hiddenPanels.map((e=>{const t=this.hass.panels[e];return t?(0,o.dy)(N||(N=Y`<paper-icon-item @click="${0}" class="hidden-panel" .panel="${0}"> ${0} <span class="item-text">${0}</span> <ha-icon-button .label="${0}" .path="${0}" class="show-panel"></ha-icon-button> </paper-icon-item>`),this._unhidePanel,e,t.url_path!==this.hass.defaultPanel||t.icon?t.url_path in ye?(0,o.dy)(O||(O=Y`<ha-svg-icon slot="item-icon" .path="${0}"></ha-svg-icon>`),ye[t.url_path]):(0,o.dy)(D||(D=Y`<ha-icon slot="item-icon" .icon="${0}"></ha-icon>`),t.icon):(0,o.dy)(B||(B=Y`<ha-svg-icon slot="item-icon" .path="${0}"></ha-svg-icon>`),ye.lovelace),t.url_path===this.hass.defaultPanel?this.hass.localize("panel.states"):this.hass.localize(`panel.${t.title}`)||t.title,this.hass.localize("ui.sidebar.show_panel"),he):""})),this._renderSpacer()):"")}},{kind:"method",key:"_renderDivider",value:function(){return(0,o.dy)(z||(z=Y`<div class="divider"></div>`))}},{kind:"method",key:"_renderSpacer",value:function(){return(0,o.dy)(Z||(Z=Y`<div class="spacer" disabled="disabled"></div>`))}},{kind:"method",key:"_renderConfiguration",value:function(e){return(0,o.dy)(U||(U=Y`<a class="configuration-container" role="option" aria-selected="${0}" href="/config" data-panel="config" tabindex="-1" @mouseenter="${0}" @mouseleave="${0}"> <paper-icon-item class="configuration" role="option" aria-selected="${0}"> <ha-svg-icon slot="item-icon" .path="${0}"></ha-svg-icon> ${0} <span class="item-text">${0}</span> ${0} </paper-icon-item> </a>`),"config"===this.hass.panelUrl,this._itemMouseEnter,this._itemMouseLeave,"config"===this.hass.panelUrl,se,!this.alwaysExpand&&(this._updatesCount>0||this._issuesCount>0)?(0,o.dy)(F||(F=Y` <span class="configuration-badge" slot="item-icon"> ${0} </span> `),this._updatesCount+this._issuesCount):"",e,this.alwaysExpand&&(this._updatesCount>0||this._issuesCount>0)?(0,o.dy)(R||(R=Y` <span class="configuration-badge">${0}</span> `),this._updatesCount+this._issuesCount):"")}},{kind:"method",key:"_renderNotifications",value:function(){const e=this._notifications?this._notifications.length:0;return(0,o.dy)(j||(j=Y`<div class="notifications-container" @mouseenter="${0}" @mouseleave="${0}"> <paper-icon-item class="notifications" role="option" aria-selected="false" @click="${0}"> <ha-svg-icon slot="item-icon" .path="${0}"></ha-svg-icon> ${0} <span class="item-text"> ${0} </span> ${0} </paper-icon-item> </div>`),this._itemMouseEnter,this._itemMouseLeave,this._handleShowNotificationDrawer,Q,!this.alwaysExpand&&e>0?(0,o.dy)(K||(K=Y` <span class="notification-badge" slot="item-icon"> ${0} </span> `),e):"",this.hass.localize("ui.notification_drawer.title"),this.alwaysExpand&&e>0?(0,o.dy)(q||(q=Y` <span class="notification-badge">${0}</span> `),e):"")}},{kind:"method",key:"_renderUserItem",value:function(){return(0,o.dy)(W||(W=Y`<a class="${0}" href="/profile" data-panel="panel" tabindex="-1" role="option" aria-selected="${0}" aria-label="${0}" @mouseenter="${0}" @mouseleave="${0}"> <paper-icon-item> <ha-user-badge slot="item-icon" .user="${0}" .hass="${0}"></ha-user-badge> <span class="item-text"> ${0} </span> </paper-icon-item> </a>`),(0,d.$)({profile:!0,"iron-selected":"profile"===this.hass.panelUrl}),"profile"===this.hass.panelUrl,this.hass.localize("panel.profile"),this._itemMouseEnter,this._itemMouseLeave,this.hass.user,this.hass,this.hass.user?this.hass.user.name:"")}},{kind:"method",key:"_renderExternalConfiguration",value:function(){var e,t;return(0,o.dy)(X||(X=Y`${0}`),null!==(e=this.hass.user)&&void 0!==e&&e.is_admin||null===(t=this.hass.auth.external)||void 0===t||!t.config.hasSettingsScreen?"":(0,o.dy)(G||(G=Y` <a role="option" aria-label="${0}" href="#external-app-configuration" tabindex="-1" aria-selected="false" @click="${0}" @mouseenter="${0}" @mouseleave="${0}"> <paper-icon-item> <ha-svg-icon slot="item-icon" .path="${0}"></ha-svg-icon> <span class="item-text"> ${0} </span> </paper-icon-item> </a> `),this.hass.localize("ui.sidebar.external_app_configuration"),this._handleExternalAppConfiguration,this._itemMouseEnter,this._itemMouseLeave,te,this.hass.localize("ui.sidebar.external_app_configuration")))}},{kind:"method",key:"_handleExternalAppConfiguration",value:function(e){e.preventDefault(),this.hass.auth.external.fireMessage({type:"config_screen/show"})}},{kind:"get",key:"_tooltip",value:function(){return this.shadowRoot.querySelector(".tooltip")}},{kind:"method",key:"_handleAction",value:function(e){"hold"===e.detail.action&&(0,u.B)(this,"hass-edit-sidebar",{editMode:!0})}},{kind:"method",key:"_editModeActivated",value:async function(){await this._loadEditStyle()}},{kind:"method",key:"_loadEditStyle",value:async function(){if(this._editStyleLoaded)return;const e=await i.e("2563").then(i.bind(i,45851)),t=document.createElement("style");t.innerHTML=e.sidebarEditStyle.cssText,this.shadowRoot.appendChild(t),await this.updateComplete}},{kind:"method",key:"_closeEditMode",value:function(){(0,u.B)(this,"hass-edit-sidebar",{editMode:!1})}},{kind:"method",key:"_hidePanel",value:async function(e){e.preventDefault();const t=e.currentTarget.panel;this._hiddenPanels.includes(t)||(this._hiddenPanels=[...this._hiddenPanels,t],this._panelOrder=this._panelOrder.filter((e=>e!==t)))}},{kind:"method",key:"_unhidePanel",value:async function(e){e.preventDefault();const t=e.currentTarget.panel;this._hiddenPanels=this._hiddenPanels.filter((e=>e!==t))}},{kind:"method",key:"_itemMouseEnter",value:function(e){this.alwaysExpand||(new Date).getTime()<this._recentKeydownActiveUntil||(this._mouseLeaveTimeout&&(clearTimeout(this._mouseLeaveTimeout),this._mouseLeaveTimeout=void 0),this._showTooltip(e.currentTarget))}},{kind:"method",key:"_itemMouseLeave",value:function(){this._mouseLeaveTimeout&&clearTimeout(this._mouseLeaveTimeout),this._mouseLeaveTimeout=window.setTimeout((()=>{this._hideTooltip()}),500)}},{kind:"method",key:"_listboxFocusIn",value:function(e){this.alwaysExpand||"A"!==e.target.nodeName||this._showTooltip(e.target.querySelector("paper-icon-item"))}},{kind:"method",key:"_listboxFocusOut",value:function(){this._hideTooltip()}},{kind:"method",decorators:[(0,r.hO)({passive:!0})],key:"_listboxScroll",value:function(){(new Date).getTime()<this._recentKeydownActiveUntil||this._hideTooltip()}},{kind:"method",key:"_listboxKeydown",value:function(){this._recentKeydownActiveUntil=(new Date).getTime()+100}},{kind:"method",key:"_showTooltip",value:function(e){this._tooltipHideTimeout&&(clearTimeout(this._tooltipHideTimeout),this._tooltipHideTimeout=void 0);const t=this._tooltip,i=this.shadowRoot.querySelector("paper-listbox");let a=e.offsetTop+11;i.contains(e)&&(a-=i.scrollTop),t.innerHTML=e.querySelector(".item-text").innerHTML,t.style.display="block",t.style.position="fixed",t.style.top=`${a}px`,t.style.left=`${e.offsetLeft+e.clientWidth+4}px`}},{kind:"method",key:"_hideTooltip",value:function(){this._tooltipHideTimeout||(this._tooltipHideTimeout=window.setTimeout((()=>{this._tooltipHideTimeout=void 0,this._tooltip.style.display="none"}),10))}},{kind:"method",key:"_handleShowNotificationDrawer",value:function(){(0,u.B)(this,"hass-show-notifications")}},{kind:"method",key:"_toggleSidebar",value:function(e){"tap"===e.detail.action&&(0,u.B)(this,"hass-toggle-menu")}},{kind:"get",static:!0,key:"styles",value:function(){return[g.$c,(0,o.iv)(J||(J=Y`:host{overflow:visible;height:100%;display:block;overflow:hidden;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;background-color:var(--sidebar-background-color);width:100%;box-sizing:border-box}.menu{height:var(--header-height);box-sizing:border-box;display:flex;padding:0 4px;border-bottom:1px solid transparent;white-space:nowrap;font-weight:400;color:var(--sidebar-menu-button-text-color,var(--primary-text-color));border-bottom:1px solid var(--divider-color);background-color:var(--sidebar-menu-button-background-color,inherit);font-size:20px;align-items:center;padding-left:calc(4px + env(safe-area-inset-left));padding-inline-start:calc(4px + env(safe-area-inset-left));padding-inline-end:initial}:host([expanded]) .menu{width:calc(256px + env(safe-area-inset-left))}.menu ha-icon-button{color:var(--sidebar-icon-color)}.title{margin-left:19px;margin-inline-start:19px;margin-inline-end:initial;width:100%;display:none}:host([narrow]) .title{margin:0;padding:0 16px}:host([expanded]) .title{display:initial}:host([expanded]) .menu mwc-button{margin:0 8px}.menu mwc-button{width:100%}.hidden-panel,.reorder-list{display:none}paper-listbox{padding:4px 0;display:flex;flex-direction:column;box-sizing:border-box;height:calc(100% - var(--header-height) - 132px);height:calc(100% - var(--header-height) - 132px - env(safe-area-inset-bottom));overflow-x:hidden;background:0 0;margin-left:env(safe-area-inset-left);margin-inline-start:env(safe-area-inset-left);margin-inline-end:initial}a{text-decoration:none;color:var(--sidebar-text-color);font-weight:500;font-size:14px;position:relative;display:block;outline:0}paper-icon-item{box-sizing:border-box;margin:4px;padding-left:12px;padding-inline-start:12px;padding-inline-end:initial;border-radius:4px;--paper-item-min-height:40px;width:48px}:host([expanded]) paper-icon-item{width:248px}ha-icon[slot=item-icon],ha-svg-icon[slot=item-icon]{color:var(--sidebar-icon-color)}.iron-selected paper-icon-item::before,a:not(.iron-selected):focus::before{border-radius:4px;position:absolute;top:0;right:2px;bottom:0;left:2px;pointer-events:none;content:"";transition:opacity 15ms linear;will-change:opacity}.iron-selected paper-icon-item::before{background-color:var(--sidebar-selected-icon-color);opacity:.12}a:not(.iron-selected):focus::before{background-color:currentColor;opacity:var(--dark-divider-opacity);margin:4px 8px}.iron-selected paper-icon-item:focus::before,.iron-selected:focus paper-icon-item::before{opacity:.2}.iron-selected paper-icon-item[pressed]:before{opacity:.37}paper-icon-item span{color:var(--sidebar-text-color);font-weight:500;font-size:14px}a.iron-selected paper-icon-item ha-icon,a.iron-selected paper-icon-item ha-svg-icon{color:var(--sidebar-selected-icon-color)}a.iron-selected .item-text{color:var(--sidebar-selected-text-color)}paper-icon-item .item-text{display:none;max-width:calc(100% - 56px)}:host([expanded]) paper-icon-item .item-text{display:block}.divider{bottom:112px;padding:10px 0}.divider::before{content:" ";display:block;height:1px;background-color:var(--divider-color)}.configuration-container,.notifications-container{display:flex;margin-left:env(safe-area-inset-left);margin-inline-start:env(safe-area-inset-left);margin-inline-end:initial}.notifications{cursor:pointer}.configuration .item-text,.notifications .item-text{flex:1}.profile{margin-left:env(safe-area-inset-left);margin-inline-start:env(safe-area-inset-left);margin-inline-end:initial}.profile paper-icon-item{padding-left:4px;padding-inline-start:4px;padding-inline-end:auto}.profile .item-text{margin-left:8px;margin-inline-start:8px;margin-inline-end:initial}.configuration-badge,.notification-badge{position:absolute;left:calc(var(--app-drawer-width,248px) - 42px);inset-inline-start:calc(var(--app-drawer-width,248px) - 42px);inset-inline-end:initial;min-width:20px;box-sizing:border-box;border-radius:50%;font-weight:400;background-color:var(--accent-color);line-height:20px;text-align:center;padding:0px 2px;color:var(--text-accent-color,var(--text-primary-color))}ha-svg-icon+.configuration-badge,ha-svg-icon+.notification-badge{position:absolute;bottom:14px;left:26px;inset-inline-start:26px;inset-inline-end:initial;font-size:.65em}.spacer{flex:1;pointer-events:none}.subheader{color:var(--sidebar-text-color);font-weight:500;font-size:14px;padding:16px;white-space:nowrap}.dev-tools{display:flex;flex-direction:row;justify-content:space-between;padding:0 8px;width:256px;box-sizing:border-box}.dev-tools a{color:var(--sidebar-icon-color)}.tooltip{display:none;position:absolute;opacity:.9;border-radius:2px;white-space:nowrap;color:var(--sidebar-background-color);background-color:var(--sidebar-text-color);padding:4px;font-weight:500}.menu ha-icon-button{-webkit-transform:scaleX(var(--scale-direction));transform:scaleX(var(--scale-direction))}`))]}}]}}),(0,y.f)(o.oi));a()}catch(w){a(w)}}))},62801:function(e,t,i){"use strict";var a=i(61701),n=i(72621),s=(i(71695),i(9359),i(56475),i(19423),i(40251),i(22139),i(47021),i(57243)),o=i(50778),r=i(36522);let d,l=e=>e;(0,a.Z)([(0,o.Mo)("ha-sortable")],(function(e,t){class a extends t{constructor(...t){super(...t),e(this)}}return{F:a,d:[{kind:"field",key:"_sortable",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,o.Cb)({type:Boolean,attribute:"no-style"})],key:"noStyle",value(){return!1}},{kind:"field",decorators:[(0,o.Cb)({type:String,attribute:"draggable-selector"})],key:"draggableSelector",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:String,attribute:"handle-selector"})],key:"handleSelector",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:String,attribute:"filter"})],key:"filter",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:String})],key:"group",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean,attribute:"invert-swap"})],key:"invertSwap",value(){return!1}},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"options",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"rollback",value(){return!0}},{kind:"method",key:"updated",value:function(e){e.has("disabled")&&(this.disabled?this._destroySortable():this._createSortable())}},{kind:"field",key:"_shouldBeDestroy",value(){return!1}},{kind:"method",key:"disconnectedCallback",value:function(){(0,n.Z)(a,"disconnectedCallback",this,3)([]),this._shouldBeDestroy=!0,setTimeout((()=>{this._shouldBeDestroy&&(this._destroySortable(),this._shouldBeDestroy=!1)}),1)}},{kind:"method",key:"connectedCallback",value:function(){(0,n.Z)(a,"connectedCallback",this,3)([]),this._shouldBeDestroy=!1,this.hasUpdated&&!this.disabled&&this._createSortable()}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"render",value:function(){return this.noStyle?s.Ld:(0,s.dy)(d||(d=l` <style>.sortable-fallback{display:none!important}.sortable-ghost{box-shadow:0 0 0 2px var(--primary-color);background:rgba(var(--rgb-primary-color),.25);border-radius:4px;opacity:.4}.sortable-drag{border-radius:4px;opacity:1;background:var(--card-background-color);box-shadow:0px 4px 8px 3px #00000026;cursor:grabbing}</style> `))}},{kind:"method",key:"_createSortable",value:async function(){if(this._sortable)return;const e=this.children[0];if(!e)return;const t=(await Promise.all([i.e("34153"),i.e("467")]).then(i.bind(i,59807))).default,a=Object.assign(Object.assign({scroll:!0,forceAutoScrollFallback:!0,scrollSpeed:20,animation:150},this.options),{},{onChoose:this._handleChoose,onStart:this._handleStart,onEnd:this._handleEnd,onUpdate:this._handleUpdate,onAdd:this._handleAdd,onRemove:this._handleRemove});this.draggableSelector&&(a.draggable=this.draggableSelector),this.handleSelector&&(a.handle=this.handleSelector),void 0!==this.invertSwap&&(a.invertSwap=this.invertSwap),this.group&&(a.group=this.group),this.filter&&(a.filter=this.filter),this._sortable=new t(e,a)}},{kind:"field",key:"_handleUpdate",value(){return e=>{(0,r.B)(this,"item-moved",{newIndex:e.newIndex,oldIndex:e.oldIndex})}}},{kind:"field",key:"_handleAdd",value(){return e=>{(0,r.B)(this,"item-added",{index:e.newIndex,data:e.item.sortableData})}}},{kind:"field",key:"_handleRemove",value(){return e=>{(0,r.B)(this,"item-removed",{index:e.oldIndex})}}},{kind:"field",key:"_handleEnd",value(){return async e=>{(0,r.B)(this,"drag-end"),this.rollback&&e.item.placeholder&&(e.item.placeholder.replaceWith(e.item),delete e.item.placeholder)}}},{kind:"field",key:"_handleStart",value(){return()=>{(0,r.B)(this,"drag-start")}}},{kind:"field",key:"_handleChoose",value(){return e=>{this.rollback&&(e.item.placeholder=document.createComment("sort-placeholder"),e.item.after(e.item.placeholder))}}},{kind:"method",key:"_destroySortable",value:function(){this._sortable&&(this._sortable.destroy(),this._sortable=void 0)}}]}}),s.oi)},45801:function(e,t,i){"use strict";var a=i(61701),n=i(72621),s=(i(71695),i(47021),i(57243)),o=i(50778),r=i(35359),d=i(69634),l=i(59847),c=i(4242);let u,h,p,f=e=>e;(0,a.Z)([(0,o.Mo)("ha-user-badge")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"user",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_personPicture",value:void 0},{kind:"field",key:"_personEntityId",value:void 0},{kind:"method",key:"willUpdate",value:function(e){if((0,n.Z)(i,"willUpdate",this,3)([e]),e.has("user"))return void this._getPersonPicture();const t=e.get("hass");if(this._personEntityId&&t&&this.hass.states[this._personEntityId]!==t.states[this._personEntityId]){const e=this.hass.states[this._personEntityId];e?this._personPicture=e.attributes.entity_picture:this._getPersonPicture()}else!this._personEntityId&&t&&this._getPersonPicture()}},{kind:"method",key:"render",value:function(){if(!this.hass||!this.user)return s.Ld;const e=this._personPicture;if(e)return(0,s.dy)(u||(u=f`<div style="${0}" class="picture"></div>`),(0,d.V)({backgroundImage:`url(${this.hass.hassUrl(e)})`}));const t=(0,c.fm)(this.user.name);return(0,s.dy)(h||(h=f`<div class="initials ${0}"> ${0} </div>`),(0,r.$)({long:t.length>2}),t)}},{kind:"method",key:"_getPersonPicture",value:function(){if(this._personEntityId=void 0,this._personPicture=void 0,this.hass&&this.user)for(const e of Object.values(this.hass.states))if(e.attributes.user_id===this.user.id&&"person"===(0,l.N)(e)){this._personEntityId=e.entity_id,this._personPicture=e.attributes.entity_picture;break}}},{kind:"field",static:!0,key:"styles",value(){return(0,s.iv)(p||(p=f`:host{display:contents}.picture{width:40px;height:40px;background-size:cover;border-radius:50%}.initials{display:inline-block;box-sizing:border-box;width:40px;line-height:40px;border-radius:50%;text-align:center;background-color:var(--light-primary-color);text-decoration:none;color:var(--text-light-primary-color,var(--primary-text-color));overflow:hidden}.initials.long{font-size:80%}`))}}]}}),s.oi)},80654:function(e,t,i){"use strict";i.d(t,{g:()=>o});const a=window;"customIconsets"in a||(a.customIconsets={});const n=a.customIconsets,s=window;"customIcons"in s||(s.customIcons={});const o=new Proxy(s.customIcons,{get:(e,t)=>{var i;return null!==(i=e[t])&&void 0!==i?i:n[t]?{getIcon:n[t]}:void 0}})},69919:function(e,t,i){"use strict";i.a(e,(async function(e,a){try{i.d(t,{EX:()=>p,Fj:()=>x,M$:()=>w,SO:()=>f,Sk:()=>m,TN:()=>H,UJ:()=>v,Ym:()=>C,hF:()=>b});i(19083),i(61893),i(9359),i(56475),i(70104),i(40251);var n=i(73358),s=i(73850),o=i(59847),r=i(75278),d=i(50602),l=i(1416),c=i(76131),u=i(72473),h=e([d]);d=(h.then?(await h)():h)[0];let p=function(e){return e[e.INSTALL=1]="INSTALL",e[e.SPECIFIC_VERSION=2]="SPECIFIC_VERSION",e[e.PROGRESS=4]="PROGRESS",e[e.BACKUP=8]="BACKUP",e[e.RELEASE_NOTES=16]="RELEASE_NOTES",e}({});const f=e=>(0,r.e)(e,p.PROGRESS)&&null!==e.attributes.update_percentage,b=(e,t=!1)=>(e.state===n.uo||t&&Boolean(e.attributes.skipped_version))&&(0,r.e)(e,p.INSTALL),m=e=>!!e.attributes.in_progress,v=(e,t)=>e.callWS({type:"update/release_notes",entity_id:t}),y="ioBroker Core",_="ioBroker Supervisor",g="ioBroker Operating System",k=(e,t)=>Object.values(e).filter((e=>"update"===(0,o.N)(e))).sort(((e,i)=>e.attributes.title===y?-3:i.attributes.title===y?3:e.attributes.title===g?-2:i.attributes.title===g?2:e.attributes.title===_?-1:i.attributes.title===_?1:(0,l.fe)(e.attributes.title||e.attributes.friendly_name||"",i.attributes.title||i.attributes.friendly_name||"",t))),x=(e,t=!1)=>k(e).filter((e=>b(e,t))),w=async(e,t)=>{const i=k(t.states,t.locale.language).map((e=>e.entity_id));if(!i.length)return void(0,c.showAlertDialog)(e,{title:t.localize("ui.panel.config.updates.no_update_entities.title"),text:t.localize("ui.panel.config.updates.no_update_entities.description"),warning:!0});(0,u.C)(e,{message:t.localize("ui.panel.config.updates.checking_updates")});let a=0;const n=await t.connection.subscribeEvents((i=>{"update"===(0,s.M)(i.data.entity_id)&&(a++,(0,u.C)(e,{message:t.localize("ui.panel.config.updates.updates_refreshed",{count:a})}))}),"state_changed");await t.callService("homeassistant","update_entity",{entity_id:i}),await new Promise((e=>{setTimeout(e,15e3)})),n(),0===a&&(0,u.C)(e,{message:t.localize("ui.panel.config.updates.no_new_updates")})},C=(e,t)=>{const i=e.state,a=e.attributes;if("off"===i){return a.latest_version&&a.skipped_version===a.latest_version?a.latest_version:t.formatEntityState(e)}if("on"===i&&m(e)){return(0,r.e)(e,p.PROGRESS)&&null!==a.update_percentage?t.localize("ui.card.update.installing_with_progress",{progress:(0,d.uf)(a.update_percentage,t.locale,{maximumFractionDigits:a.display_precision,minimumFractionDigits:a.display_precision})}):t.localize("ui.card.update.installing")}return t.formatEntityState(e)},H=(e,t)=>{var i;if("hassio"!==(null===(i=t[e.entity_id])||void 0===i?void 0:i.domain))return"generic";const a=e.attributes.title||"";return a===y?"home_assistant":[y,_,g].includes(a)?"generic":"addon"};a()}catch(p){a(p)}}))},4242:function(e,t,i){"use strict";i.d(t,{CE:()=>n,FH:()=>c,Nq:()=>r,Pb:()=>a,fm:()=>l,h8:()=>d,r4:()=>o,uh:()=>s});i(92745),i(9359),i(70104),i(19423),i(40251),i(81804);const a="system-admin",n="system-users",s=async e=>e.callWS({type:"config/auth/list"}),o=async(e,t,i,a)=>e.callWS({type:"config/auth/create",name:t,group_ids:i,local_only:a}),r=async(e,t,i)=>e.callWS(Object.assign(Object.assign({},i),{},{type:"config/auth/update",user_id:t})),d=async(e,t)=>e.callWS({type:"config/auth/delete",user_id:t}),l=e=>e?e.trim().split(" ").slice(0,3).map((e=>e.substring(0,1))).join(""):"?",c=(e,t,i)=>{const a=[],n=t=>e.localize(`ui.panel.config.users.${t}`);return t.is_owner&&a.push(["M12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4S20 7.58 20 12C20 16.42 16.42 20 12 20M8 14L7 8L10 10L12 7L14 10L17 8L16 14H8M8.56 16C8.22 16 8 15.78 8 15.44V15H16V15.44C16 15.78 15.78 16 15.44 16H8.56Z",n("is_owner")]),i&&t.system_generated&&a.push(["M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z",n("is_system")]),t.local_only&&a.push(["M12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12 16.4 20 12 20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M11 14H13V17H16V12H18L12 7L6 12H8V17H11V14",n("is_local")]),t.is_active||a.push(["M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z",n("is_not_active")]),a}},6736:function(e,t,i){"use strict";i.d(t,{f:()=>o});var a=i(61701),n=i(72621),s=(i(19083),i(71695),i(9359),i(52924),i(40251),i(61006),i(47021),i(50778));const o=e=>(0,a.Z)(null,(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",key:"hassSubscribeRequiredHostProps",value:void 0},{kind:"field",key:"__unsubs",value:void 0},{kind:"method",key:"connectedCallback",value:function(){(0,n.Z)(i,"connectedCallback",this,3)([]),this._checkSubscribed()}},{kind:"method",key:"disconnectedCallback",value:function(){if((0,n.Z)(i,"disconnectedCallback",this,3)([]),this.__unsubs){for(;this.__unsubs.length;){const e=this.__unsubs.pop();e instanceof Promise?e.then((e=>e())):e()}this.__unsubs=void 0}}},{kind:"method",key:"updated",value:function(e){if((0,n.Z)(i,"updated",this,3)([e]),e.has("hass"))this._checkSubscribed();else if(this.hassSubscribeRequiredHostProps)for(const t of e.keys())if(this.hassSubscribeRequiredHostProps.includes(t))return void this._checkSubscribed()}},{kind:"method",key:"hassSubscribe",value:function(){return[]}},{kind:"method",key:"_checkSubscribed",value:function(){var e;void 0!==this.__unsubs||!this.isConnected||void 0===this.hass||null!==(e=this.hassSubscribeRequiredHostProps)&&void 0!==e&&e.some((e=>void 0===this[e]))||(this.__unsubs=this.hassSubscribe())}}]}}),e)},3967:function(e,t,i){"use strict";i.d(t,{K:()=>c});i(19083),i(71695),i(19423),i(47021);var a=i(57243),n=i(92903),s=i(36522),o=i(48045),r=i(79291);class d extends HTMLElement{constructor(...e){super(...e),this.holdTime=500,this.timer=void 0,this.held=!1,this.cancelled=!1,this.dblClickTimeout=void 0}connectedCallback(){Object.assign(this.style,{position:"fixed",width:r.T?"100px":"50px",height:r.T?"100px":"50px",transform:"translate(-50%, -50%) scale(0)",pointerEvents:"none",zIndex:"999",background:"var(--primary-color)",display:null,opacity:"0.2",borderRadius:"50%",transition:"transform 180ms ease-in-out"}),["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.cancelled=!0,this.timer&&(this._stopAnimation(),clearTimeout(this.timer),this.timer=void 0)}),{passive:!0})}))}bind(e,t={}){e.actionHandler&&(0,o.v)(t,e.actionHandler.options)||(e.actionHandler?(e.removeEventListener("touchstart",e.actionHandler.start),e.removeEventListener("touchend",e.actionHandler.end),e.removeEventListener("touchcancel",e.actionHandler.end),e.removeEventListener("mousedown",e.actionHandler.start),e.removeEventListener("click",e.actionHandler.end),e.removeEventListener("keydown",e.actionHandler.handleKeyDown)):e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1})),e.actionHandler={options:t},t.disabled||(e.actionHandler.start=e=>{let i,a;this.cancelled=!1,e.touches?(i=e.touches[0].clientX,a=e.touches[0].clientY):(i=e.clientX,a=e.clientY),t.hasHold&&(this.held=!1,this.timer=window.setTimeout((()=>{this._startAnimation(i,a),this.held=!0}),this.holdTime))},e.actionHandler.end=e=>{if("touchcancel"===e.type||"touchend"===e.type&&this.cancelled)return;const i=e.target;e.cancelable&&e.preventDefault(),t.hasHold&&(clearTimeout(this.timer),this._stopAnimation(),this.timer=void 0),t.hasHold&&this.held?(0,s.B)(i,"action",{action:"hold"}):t.hasDoubleClick?"click"===e.type&&e.detail<2||!this.dblClickTimeout?this.dblClickTimeout=window.setTimeout((()=>{this.dblClickTimeout=void 0,(0,s.B)(i,"action",{action:"tap"})}),250):(clearTimeout(this.dblClickTimeout),this.dblClickTimeout=void 0,(0,s.B)(i,"action",{action:"double_tap"})):(0,s.B)(i,"action",{action:"tap"})},e.actionHandler.handleKeyDown=e=>{["Enter"," "].includes(e.key)&&e.currentTarget.actionHandler.end(e)},e.addEventListener("touchstart",e.actionHandler.start,{passive:!0}),e.addEventListener("touchend",e.actionHandler.end),e.addEventListener("touchcancel",e.actionHandler.end),e.addEventListener("mousedown",e.actionHandler.start,{passive:!0}),e.addEventListener("click",e.actionHandler.end),e.addEventListener("keydown",e.actionHandler.handleKeyDown)))}_startAnimation(e,t){Object.assign(this.style,{left:`${e}px`,top:`${t}px`,transform:"translate(-50%, -50%) scale(1)"})}_stopAnimation(){Object.assign(this.style,{left:null,top:null,transform:"translate(-50%, -50%) s