UNPKG

iobroker.lovelace

Version:

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

1 lines 6.97 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[18673],{54706:function(s,t,i){i.d(t,{E:function(){return n}});i(74423),i(18111),i(13579),i(3362),i(62953);var e=i(40445),a=i(67576);const n=s=>{class t extends s{connectedCallback(){super.connectedCallback(),this._checkSubscribed()}disconnectedCallback(){if(super.disconnectedCallback(),this.__unsubs){for(;this.__unsubs.length;){const s=this.__unsubs.pop();s instanceof Promise?s.then(s=>s()):s()}this.__unsubs=void 0}}updated(s){if(super.updated(s),s.has("hass"))this._checkSubscribed();else if(this.hassSubscribeRequiredHostProps)for(const t of s.keys())if(this.hassSubscribeRequiredHostProps.includes(t))return void this._checkSubscribed()}hassSubscribe(){return[]}_checkSubscribed(){var s;void 0!==this.__unsubs||!this.isConnected||void 0===this.hass||null!==(s=this.hassSubscribeRequiredHostProps)&&void 0!==s&&s.some(s=>void 0===this[s])||(this.__unsubs=this.hassSubscribe())}}return(0,e.Cg)([(0,a.MZ)({attribute:!1})],t.prototype,"hass",void 0),t}},51687:function(s,t,i){i.a(s,async function(s,e){try{i.r(t),i.d(t,{HuiHomeSummaryCard:function(){return w}});i(18111),i(22489),i(61701),i(62953);var a=i(40445),n=i(35932),o=i(73983),r=i(5124),h=i(67576),c=i(89784),l=i(22786),u=i(78870),d=i(91069),m=i(71727),_=i(4423),g=i(20058),v=(i(76776),i(22573),i(80933),i(32248),i(38114)),f=i(54706),y=i(22064),p=i(97176),b=i(8537),k=i(78030),S=i(51989),C=s([d,g,v,b]);[d,g,v,b]=C.then?(await C)():C;let D,$,z=s=>s;class w extends((0,f.E)(r.WF)){hassSubscribe(){var s;if("energy"!==(null===(s=this._config)||void 0===s?void 0:s.summary))return[];const t=(0,v.tb)(this.hass,{key:"energy_home_dashboard"});return t.setPeriod((0,d.ol)(new Date,n.o,this.hass.locale,this.hass.config),(0,d.ol)(new Date,o.D,this.hass.locale,this.hass.config)),[t.subscribe(s=>{this._energyData=s})]}setConfig(s){this._config=s}getCardSize(){var s;return null!==(s=this._config)&&void 0!==s&&s.vertical?2:1}getGridOptions(){var s;let t=6,i=1;return null!==(s=this._config)&&void 0!==s&&s.vertical&&(i++,t=3),{columns:6,rows:i,min_columns:t,min_rows:i}}_handleAction(s){(0,y.$)(this,this.hass,this._config,s.detail.action)}get _hasCardAction(){var s,t,i;return(0,p.h)(null===(s=this._config)||void 0===s?void 0:s.tap_action)||(0,p.h)(null===(t=this._config)||void 0===t?void 0:t.hold_action)||(0,p.h)(null===(i=this._config)||void 0===i?void 0:i.double_tap_action)}_computeSummaryState(){if(!this._config||!this.hass)return"";const s=Object.keys(this.hass.states),t=Object.values(this.hass.areas);switch(this._config.summary){case"light":{const t=b.vV.light.map(s=>(0,_.r)(this.hass,s)),i=(0,_.B)(s,t).filter(s=>{var t;return"on"===(null===(t=this.hass.states[s])||void 0===t?void 0:t.state)});return i.length?this.hass.localize("ui.card.home-summary.count_lights_on",{count:i.length}):this.hass.localize("ui.card.home-summary.all_lights_off")}case"climate":{var i,e;const s=t.map(s=>s.temperature_entity_id).filter(Boolean).map(s=>{var t;return parseFloat(null===(t=this.hass.states[s])||void 0===t?void 0:t.state)||NaN}).filter(s=>!isNaN(s));if(0===s.length)return"";const a=Math.min(...s),n=Math.max(...s);if(isNaN(a)||isNaN(n))return"";const o=(0,g.ZV)(a,null===(i=this.hass)||void 0===i?void 0:i.locale,{minimumFractionDigits:1,maximumFractionDigits:1}),r=(0,g.ZV)(n,null===(e=this.hass)||void 0===e?void 0:e.locale,{minimumFractionDigits:1,maximumFractionDigits:1});return o===r?`${o}°`:`${o} - ${r}°`}case"security":{const t=b.vV.security.map(s=>(0,_.r)(this.hass,s)),i=(0,_.B)(s,t),e=i.filter(s=>"lock"===(0,m.m)(s)),a=i.filter(s=>"alarm_control_panel"===(0,m.m)(s)),n=a.filter(s=>{var t;return"disarmed"===(null===(t=this.hass.states[s])||void 0===t?void 0:t.state)});if(!e.length&&!a.length)return"";const o=e.filter(s=>{var t;const i=null===(t=this.hass.states[s])||void 0===t?void 0:t.state;return"unlocked"===i||"jammed"===i||"open"===i});return o.length?this.hass.localize("ui.card.home-summary.count_locks_unlocked",{count:o.length}):n.length?this.hass.localize("ui.card.home-summary.count_alarms_disarmed",{count:n.length}):this.hass.localize("ui.card.home-summary.all_secure")}case"media_players":{const t=b.vV.media_players.map(s=>(0,_.r)(this.hass,s)),i=(0,_.B)(s,t).filter(s=>{var t;return"playing"===(null===(t=this.hass.states[s])||void 0===t?void 0:t.state)});return i.length?this.hass.localize("ui.card.home-summary.count_media_playing",{count:i.length}):this.hass.localize("ui.card.home-summary.no_media_playing")}case"maintenance":{const t=b.vV.maintenance.map(s=>(0,_.r)(this.hass,s)),i=(0,_.B)(s,t),e=(0,k.filterLowBatteryEntities)(this.hass,i),a=(0,k.filterUnavailableBatteryEntities)(this.hass,i),n=e.length>0?this.hass.localize("ui.card.home-summary.count_maintenance_low_battery_issues",{count:e.length}):void 0,o=a.length>0?this.hass.localize("ui.card.home-summary.count_maintenance_issues_unavailable_battery_entities",{count:a.length}):void 0;return n&&o?`${n}, ${o}`:n||(o||this.hass.localize("ui.card.home-summary.all_maintenance_good"))}case"energy":{if(!this._energyData)return"";const{summedData:s}=(0,v.gv)(this._energyData),{consumption:t}=(0,v.DR)(s,void 0),i=t.total.used_total;return(0,v.n3)(this.hass,i,"kWh")}case"persons":{const t=b.vV.persons.map(s=>(0,_.r)(this.hass,s)),i=(0,_.B)(s,t).filter(s=>{var t;return"home"===(null===(t=this.hass.states[s])||void 0===t?void 0:t.state)});return i.length?this.hass.localize("ui.card.home-summary.count_persons_home",{count:i.length}):this.hass.localize("ui.card.home-summary.nobody_home")}}return""}render(){if(!this._config||!this.hass)return r.s6;const s={"--tile-color":(0,u.MP)(b.uN[this._config.summary])},t=this._computeSummaryState(),i=this._computeSecondaryLoading(this._config.summary,this._energyData),e=(0,b.rh)(this.hass.localize,this._config.summary),a=b.It[this._config.summary];return(0,r.qy)(D||(D=z` <ha-card style="${0}"> <ha-tile-container .vertical="${0}" .interactive="${0}" .actionHandlerOptions="${0}" @action="${0}"> <ha-tile-icon slot="icon" .icon="${0}"></ha-tile-icon> <ha-tile-info slot="info" .primary="${0}" .secondary="${0}" .secondaryLoading="${0}"></ha-tile-info> </ha-tile-container> </ha-card> `),(0,c.W)(s),Boolean(this._config.vertical),this._hasCardAction,{hasHold:(0,p.h)(this._config.hold_action),hasDoubleClick:(0,p.h)(this._config.double_tap_action)},this._handleAction,a,e,t,i)}constructor(...s){super(...s),this.hassSubscribeRequiredHostProps=["_config"],this._computeSecondaryLoading=(0,l.A)((s,t)=>"energy"===s&&!t)}}w.styles=[S.c,(0,r.AH)($||($=z`:host{--tile-color:var(--state-inactive-color)}`))],(0,a.Cg)([(0,h.MZ)({attribute:!1})],w.prototype,"hass",void 0),(0,a.Cg)([(0,h.wk)()],w.prototype,"_config",void 0),(0,a.Cg)([(0,h.wk)()],w.prototype,"_energyData",void 0),w=(0,a.Cg)([(0,h.EM)("hui-home-summary-card")],w),e()}catch(D){e(D)}})},56434:function(s,t,i){i.d(t,{e:function(){return a}});var e=i(81977);function a(s,t,i){return(0,e.P)(s,12*t,i)}}}]);