UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

1 lines 3.82 kB
export const __rspack_esm_id=27800;export const __rspack_esm_ids=[27800];export const __webpack_modules__={4423(e,t,n){n.d(t,{B:()=>c,r:()=>r});n(44114),n(18111),n(13579),n(17642),n(58004),n(33853),n(45876),n(32475),n(15024),n(31698);var i=n(44537),o=n(71727),a=n(28455);const s=e=>{if(void 0!==e)return null===e?new Set([null]):new Set((0,i.e)(e))},r=(e,t)=>{const n=t.domain?new Set((0,i.e)(t.domain)):void 0,r=t.hidden_domains?new Set((0,i.e)(t.hidden_domains)):void 0,c=t.device_class?new Set((0,i.e)(t.device_class)):void 0,l=s(t.floor),d=s(t.area),_=s(t.device),u=t.entity_category?new Set((0,i.e)(t.entity_category)):void 0,f=t.label?new Set((0,i.e)(t.label)):void 0,h=t.hidden_platform?new Set((0,i.e)(t.hidden_platform)):void 0;return t=>{const i=e.states[t];if(!i)return!1;if(n||r){const e=(0,o.m)(t);if(n&&!n.has(e))return!1;if(r&&r.has(e))return!1}if(c){const e=i.attributes.device_class||"none";if(!c.has(e))return!1}const{area:s,floor:m,device:p,entity:v}=(0,a.ln)(i,e.entities,e.devices,e.areas,e.floors);if(v&&v.hidden)return!1;if(l){const e=m?.floor_id??null;if(!l.has(e))return!1}if(d){const e=s?.area_id??null;if(!d.has(e))return!1}if(_){const e=p?.id??null;if(!_.has(e))return!1}if(f){if(!v)return!1;if(!v.labels.some(e=>f.has(e)))return!1}if(u){const e=v?.entity_category||"none";if(!u.has(e))return!1}if(h){if(!v)return!1;if(v.platform&&h.has(v.platform))return!1}return!0}},c=(e,t)=>{const n=new Set,i=[];for(const o of t)for(const t of e)o(t)&&!n.has(t)&&(n.add(t),i.push(t));return i}},63004(e,t,n){n.d(t,{O:()=>o,q:()=>i});const i=(e,t,n)=>Math.min(Math.max(e,t),n),o=(e,t,n)=>{let i;return i=null!=t?Math.max(e,t):e,i=null!=n?Math.min(i,n):i,i}},48441(e,t,n){n.d(t,{B:()=>i});const i=[{area:null,hidden_platform:["automation","script","hassio","backup","mobile_app","zone","person"],hidden_domains:["ai_task","automation","configurator","device_tracker","event","geo_location","notify","persistent_notification","script","sun","tag","todo","zone",...n(46190).gt]}]},78859(e,t,n){n.r(t),n.d(t,{HomeOtherDevicesViewStrategy:()=>_});n(44114),n(18111),n(22489),n(61701);var i=n(62826),o=n(5124),a=n(22441),s=n(37981),r=n(28455),c=n(4423),l=n(63004),d=n(48441);class _ extends o.mN{static async generate(e,t){const n=Object.keys(t.states),i=d.B.map(e=>(0,c.r)(t,e)),o=(0,c.B)(n,i),a=[],_={};for(const e of o){const n=t.states[e];if(!n)continue;const{device:i}=(0,r.ln)(n,t.entities,t.devices,t.areas,t.floors);i&&(i.id in _||(_[i.id]=[]),_[i.id].push(e))}const u=Object.entries(_).map(([e,t])=>({device_id:e,entities:t})),f=(0,c.r)(t,{entity_category:"none"});for(const n of u){if(0===n.entities.length)continue;const i=n.entities.filter(e=>f(e));if(0===i.length)continue;const o=n.device_id,r=t.devices[o];let c="";r&&(c=(0,s.xn)(r)||t.localize("ui.panel.lovelace.strategy.home.unnamed_device")),a.push({type:"grid",cards:[{type:"heading",heading:c,tap_action:r&&t.user?.is_admin?{action:"navigate",navigation_path:`/config/devices/device/${r.id}`}:{action:"none"},badges:[...e.home_panel&&r&&t.user?.is_admin?[{type:"button",icon:"mdi:home-plus",text:t.localize("ui.panel.lovelace.strategy.home-other-devices.assign_area"),tap_action:{action:"fire-dom-event",home_panel:{type:"assign_area",device_id:r.id}}}]:[]]},{type:"entities",entities:i.map(e=>({entity:e,name:{type:"entity"}}))}]})}const h=(0,l.q)(a.length,2,3);return 0===a.length?{type:"panel",cards:[{type:"empty-state",icon:"mdi:check-all",icon_color:"primary",content_only:!0,title:t.localize("ui.panel.lovelace.strategy.home-other-devices.all_organized_title"),content:t.localize("ui.panel.lovelace.strategy.home-other-devices.all_organized_content")}]}:(1===a.length&&(a[0].column_span=2),{type:"sections",header:{badges_position:"bottom"},max_columns:h,sections:a})}}_=(0,i.Cg)([(0,a.EM)("home-other-devices-view-strategy")],_)}};