iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 5.23 kB
JavaScript
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["10187"],{52081:function(t,e,a){a.a(t,(async function(t,s){try{a.r(e),a.d(e,{HuiEnergyWaterGraphCard:()=>D});var i=a(61701),r=(a(71695),a(92745),a(9359),a(56475),a(31526),a(40251),a(47021),a(42625)),n=a(83389),o=a(16444),d=a(57243),c=a(50778),h=a(35359),l=a(27486),u=a(20548),f=a(25179),_=(a(54977),a(1118)),p=a(17705),y=a(6736),g=a(93331),k=a(53259),v=a(50602),m=t([f,v,_,k]);[f,v,_,k]=m.then?(await m)():m;let b,S,w,C,x=t=>t,D=(0,i.Z)([(0,c.Mo)("hui-energy-water-graph-card")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",decorators:[(0,c.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,c.SB)()],key:"_config",value:void 0},{kind:"field",decorators:[(0,c.SB)()],key:"_chartData",value(){return[]}},{kind:"field",decorators:[(0,c.SB)()],key:"_start",value(){return(0,r.I)()}},{kind:"field",decorators:[(0,c.SB)()],key:"_end",value(){return(0,n.p)()}},{kind:"field",decorators:[(0,c.SB)()],key:"_compareStart",value:void 0},{kind:"field",decorators:[(0,c.SB)()],key:"_compareEnd",value:void 0},{kind:"field",decorators:[(0,c.SB)()],key:"_unit",value:void 0},{kind:"field",key:"hassSubscribeRequiredHostProps",value(){return["_config"]}},{kind:"method",key:"hassSubscribe",value:function(){var t;return[(0,_.UB)(this.hass,{key:null===(t=this._config)||void 0===t?void 0:t.collection_key}).subscribe((t=>this._getStatistics(t)))]}},{kind:"method",key:"getCardSize",value:function(){return 3}},{kind:"method",key:"setConfig",value:function(t){this._config=t}},{kind:"method",key:"shouldUpdate",value:function(t){return(0,g.SN)(this,t)||t.size>1||!t.has("hass")}},{kind:"method",key:"render",value:function(){return this.hass&&this._config?(0,d.dy)(b||(b=x` <ha-card> ${0} <div class="content ${0}"> <ha-chart-base .hass="${0}" .data="${0}" .options="${0}" chart-type="bar"></ha-chart-base> ${0} </div> </ha-card> `),this._config.title?(0,d.dy)(S||(S=x`<h1 class="card-header">${0}</h1>`),this._config.title):"",(0,h.$)({"has-header":!!this._config.title}),this.hass,this._chartData,this._createOptions(this._start,this._end,this.hass.locale,this.hass.config,this._unit,this._compareStart,this._compareEnd),this._chartData.length?"":(0,d.dy)(w||(w=x`<div class="no-data"> ${0} </div>`),(0,o.z)(this._start)?this.hass.localize("ui.panel.lovelace.cards.energy.no_data"):this.hass.localize("ui.panel.lovelace.cards.energy.no_data_period"))):d.Ld}},{kind:"field",key:"_formatTotal",value(){return t=>this.hass.localize("ui.panel.lovelace.cards.energy.energy_water_graph.total_consumed",{num:(0,v.uf)(t,this.hass.locale),unit:this._unit})}},{kind:"field",key:"_createOptions",value(){return(0,l.Z)(((t,e,a,s,i,r,n)=>(0,k.J)(t,e,a,s,i,r,n,this._formatTotal)))}},{kind:"method",key:"_getStatistics",value:async function(t){this._start=t.start,this._end=t.end||(0,n.p)(),this._compareStart=t.startCompare,this._compareEnd=t.endCompare;const e=t.prefs.energy_sources.filter((t=>"water"===t.type));this._unit=(0,_.b)(this.hass);const a=[],s=getComputedStyle(this);if(t.statsCompare)a.push(...this._processDataSet(t.statsCompare,t.statsMetadata,e,s,!0));else{var i,r;const t=null!==(i=null===(r=e[0])||void 0===r?void 0:r.stat_energy_from)&&void 0!==i?i:"placeholder";a.push({id:"compare-"+t,type:"bar",stack:"water",data:[]})}a.push(...this._processDataSet(t.stats,t.statsMetadata,e,s)),(0,k.Zx)(a),this._chartData=a}},{kind:"method",key:"_processDataSet",value:function(t,e,a,s,i=!1){const r=[],n=(0,k.kT)(this._start,this._compareStart);return a.forEach(((a,o)=>{let d=null;const c=[];if(a.stat_energy_from in t){const e=t[a.stat_energy_from];for(const t of e){if(null===t.change||void 0===t.change||0===t.change)continue;if(d===t.start)continue;const e=[t.start,t.change];i&&(e[2]=e[0],e[0]=n(new Date(t.start))),c.push(e),d=t.start}}r.push({type:"bar",cursor:"default",id:i?"compare-"+a.stat_energy_from:a.stat_energy_from,name:(0,p.Kd)(this.hass,a.stat_energy_from,e[a.stat_energy_from]),barMaxWidth:50,itemStyle:{borderColor:(0,u.H)(s,this.hass.themes.darkMode,!1,i,"--energy-water-color",o)},color:(0,u.H)(s,this.hass.themes.darkMode,!0,i,"--energy-water-color",o),data:c,stack:i?"compare":"water"})})),r}},{kind:"field",static:!0,key:"styles",value(){return(0,d.iv)(C||(C=x`ha-card{height:100%}.card-header{padding-bottom:0}.content{padding:16px}.has-header{padding-top:0}.no-data{position:absolute;height:100%;top:0;left:0;right:0;display:flex;justify-content:center;align-items:center;padding:20%;margin-left:32px;margin-inline-start:32px;margin-inline-end:initial;box-sizing:border-box}`))}}]}}),(0,y.f)(d.oi));s()}catch(b){s(b)}}))},41924:function(t,e,a){a.d(e,{y:()=>i});var s=a(53907);function i(t){return(0,s.L)(t,Date.now())}},97836:function(t,e,a){a.d(e,{K:()=>r});a(71695),a(47021);var s=a(18492),i=a(7591);function r(t,e,a){const[r,n]=(0,s.d)(null==a?void 0:a.in,t,e);return+(0,i.b)(r)==+(0,i.b)(n)}},16444:function(t,e,a){a.d(e,{z:()=>n});var s=a(53907),i=a(41924),r=a(97836);function n(t,e){return(0,r.K)((0,s.L)((null==e?void 0:e.in)||t,t),(0,i.y)((null==e?void 0:e.in)||t))}}}]);
//# sourceMappingURL=10187.7c06ee79caf729fe.js.map