iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 5.63 kB
JavaScript
export const __rspack_esm_id=82691;export const __rspack_esm_ids=[82691];export const __webpack_modules__={66639(e,t,n){n.d(t,{Vu:()=>o,Xz:()=>r,cs:()=>a});n(44114),n(18111),n(61701),n(45367),n(92731);const a=(e,t)=>{const n=new Map,a=[];for(const e of t)e.floor_id?(n.has(e.floor_id)||n.set(e.floor_id,[]),n.get(e.floor_id).push(e.area_id)):a.push(e.area_id);return{floors:e.map(e=>({id:e.floor_id,areas:n.get(e.floor_id)||[]})),areas:a}},r=e=>{const t=[];for(const n of e.floors)t.push(...n.areas);return t.push(...e.areas),t},o=e=>e.floors.map(e=>e.id)},4423(e,t,n){n.d(t,{B:()=>c,r:()=>i});n(44114),n(18111),n(13579),n(17642),n(58004),n(33853),n(45876),n(32475),n(15024),n(31698);var a=n(44537),r=n(71727),o=n(28455);const s=e=>{if(void 0!==e)return null===e?new Set([null]):new Set((0,a.e)(e))},i=(e,t)=>{const n=t.domain?new Set((0,a.e)(t.domain)):void 0,i=t.hidden_domains?new Set((0,a.e)(t.hidden_domains)):void 0,c=t.device_class?new Set((0,a.e)(t.device_class)):void 0,l=s(t.floor),d=s(t.area),f=s(t.device),u=t.entity_category?new Set((0,a.e)(t.entity_category)):void 0,h=t.label?new Set((0,a.e)(t.label)):void 0,p=t.hidden_platform?new Set((0,a.e)(t.hidden_platform)):void 0;return t=>{const a=e.states[t];if(!a)return!1;if(n||i){const e=(0,r.m)(t);if(n&&!n.has(e))return!1;if(i&&i.has(e))return!1}if(c){const e=a.attributes.device_class||"none";if(!c.has(e))return!1}const{area:s,floor:_,device:m,entity:H}=(0,o.ln)(a,e.entities,e.devices,e.areas,e.floors);if(H&&H.hidden)return!1;if(l){const e=_?.floor_id??null;if(!l.has(e))return!1}if(d){const e=s?.area_id??null;if(!d.has(e))return!1}if(f){const e=m?.id??null;if(!f.has(e))return!1}if(h){if(!H)return!1;if(!H.labels.some(e=>h.has(e)))return!1}if(u){const e=H?.entity_category||"none";if(!u.has(e))return!1}if(p){if(!H)return!1;if(H.platform&&p.has(H.platform))return!1}return!0}},c=(e,t)=>{const n=new Set,a=[];for(const r of t)for(const t of e)r(t)&&!n.has(t)&&(n.add(t),a.push(t));return a}},18198(e,t,n){n.d(t,{Dc:()=>i,Si:()=>s});var a=n(62826),r=n(5124),o=n(22441);n(47680),n(67094);const s=e=>{switch(e.level){case 0:return"M11,10H13V16H11V10M22,12H19V20H5V12H2L12,3L22,12M15,10A2,2 0 0,0 13,8H11A2,2 0 0,0 9,10V16A2,2 0 0,0 11,18H13A2,2 0 0,0 15,16V10Z";case 1:return"M12,3L2,12H5V20H19V12H22L12,3M10,8H14V18H12V10H10V8Z";case 2:return"M12,3L2,12H5V20H19V12H22L12,3M9,8H13A2,2 0 0,1 15,10V12A2,2 0 0,1 13,14H11V16H15V18H9V14A2,2 0 0,1 11,12H13V10H9V8Z";case 3:return"M12,3L22,12H19V20H5V12H2L12,3M15,11.5V10C15,8.89 14.1,8 13,8H9V10H13V12H11V14H13V16H9V18H13A2,2 0 0,0 15,16V14.5A1.5,1.5 0 0,0 13.5,13A1.5,1.5 0 0,0 15,11.5Z";case-1:return"M12,3L2,12H5V20H19V12H22L12,3M11,15H7V13H11V15M15,18H13V10H11V8H15V18Z"}return"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"},i=e=>{switch(e.level){case 0:return"mdi:home-floor-0";case 1:return"mdi:home-floor-1";case 2:return"mdi:home-floor-2";case 3:return"mdi:home-floor-3";case-1:return"mdi:home-floor-negative-1"}return"mdi:home"};class c extends r.WF{render(){if(!this.floor)return r.s6;if(this.floor.icon)return r.qy`<ha-icon .icon="${this.floor.icon}"></ha-icon>`;const e=s(this.floor);return r.qy`<ha-svg-icon .path="${e}"></ha-svg-icon>`}}(0,a.Cg)([(0,o.MZ)({attribute:!1})],c.prototype,"floor",void 0),(0,a.Cg)([(0,o.MZ)()],c.prototype,"icon",void 0),c=(0,a.Cg)([(0,o.EM)("ha-floor-icon")],c)},78030(e,t,n){n.r(t),n.d(t,{MaintenanceViewStrategy:()=>_,filterLowBatteryEntities:()=>f,filterUnavailableBatteryEntities:()=>u,maintenanceEntityFilters:()=>d});n(44114),n(18111),n(22489);var a=n(62826),r=n(5124),o=n(22441),s=n(66639),i=n(4423),c=n(18198),l=(n(46190),n(71727));const d=[{domain:"sensor",device_class:["battery"]},{domain:"binary_sensor",device_class:["battery"],entity_category:"none"}],f=(e,t)=>t.filter(t=>{const n=e.states[t]?.state??"";if("binary_sensor"===(0,l.m)(t))return"on"===n;const a=parseFloat(n);return!isNaN(a)&&a<=20}),u=(e,t)=>t.filter(t=>"unavailable"===e.states[t]?.state),h=(e,t)=>{const n=e[t],a=n?.device_id;return{type:"tile",entity:t,name:{type:a?"device":"entity"}}},p=(e,t,n)=>{const a=[];for(const r of e){const e=t.areas[r];if(!e)continue;const o=(0,i.r)(t,{area:e.area_id}),s=n.filter(o),c=[];for(const e of s)c.push(h(t.entities,e));c.length>0&&(a.push({heading_style:"subtitle",type:"heading",heading:e.name,tap_action:t.panels.home?{action:"navigate",navigation_path:`/home/areas-${e.area_id}`}:void 0}),a.push(...c))}return a};class _ extends r.mN{static async generate(e,t){const n=Object.values(t.areas),a=Object.values(t.floors),r=(0,s.cs)(a,n),o=[],l=Object.keys(t.states),f=d.map(e=>(0,i.r)(t,e)),u=(0,i.B)(l,f),_=r.floors.length+(r.areas.length?1:0);for(const e of r.floors){const n=e.id,a=e.areas,r=t.floors[n],s={type:"grid",column_span:2,cards:[{type:"heading",heading:_>1?r.name:t.localize("ui.panel.lovelace.strategy.home.areas"),icon:r.icon||(0,c.Dc)(r)}]},i=p(a,t,u);i.length>0&&(s.cards.push(...i),o.push(s))}if(r.areas.length>0){const e={type:"grid",column_span:2,cards:[{type:"heading",heading:_>1?t.localize("ui.panel.lovelace.strategy.maintenance.other_devices"):t.localize("ui.panel.lovelace.strategy.home.areas")}]},n=p(r.areas,t,u);n.length>0&&(e.cards.push(...n),o.push(e))}const m=((e,t)=>{const n=(0,i.r)(e,{area:null}),a=t.filter(n),r=[];for(const t of a)r.push(h(e.entities,t));return r})(t,u);if(m.length>0){const e={type:"grid",column_span:2,cards:[{type:"heading",heading:o.length>0?t.localize("ui.panel.lovelace.strategy.maintenance.other_devices"):t.localize("ui.panel.lovelace.strategy.maintenance.devices")},...m]};o.push(e)}return{type:"sections",max_columns:2,sections:o}}}_=(0,a.Cg)([(0,o.EM)("maintenance-view-strategy")],_)}};