UNPKG

iobroker.lovelace

Version:

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

2 lines 5.24 kB
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["6427"],{74257:function(t,e,a){a.a(t,(async function(t,s){try{a.r(e),a.d(e,{HuiEnergyGasGraphCard:()=>$});var i=a(61701),n=(a(71695),a(92745),a(9359),a(56475),a(31526),a(40251),a(47021),a(42625)),r=a(83389),o=a(16444),d=a(57243),c=a(50778),h=a(35359),l=a(27486),u=a(20548),f=a(50602),_=a(25179),p=(a(54977),a(1118)),g=a(17705),y=a(6736),k=a(93331),v=a(53259),m=t([_,f,p,v]);[_,f,p,v]=m.then?(await m)():m;let b,S,C,x,D=t=>t,$=(0,i.Z)([(0,c.Mo)("hui-energy-gas-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,n.I)()}},{kind:"field",decorators:[(0,c.SB)()],key:"_end",value(){return(0,r.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,p.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,k.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=D` <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=D`<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)(C||(C=D`<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_gas_graph.total_consumed",{num:(0,f.uf)(t,this.hass.locale),unit:this._unit})}},{kind:"field",key:"_createOptions",value(){return(0,l.Z)(((t,e,a,s,i,n,r)=>(0,v.J)(t,e,a,s,i,n,r,this._formatTotal)))}},{kind:"method",key:"_getStatistics",value:async function(t){this._start=t.start,this._end=t.end||(0,r.p)(),this._compareStart=t.startCompare,this._compareEnd=t.endCompare;const e=t.prefs.energy_sources.filter((t=>"gas"===t.type));this._unit=(0,p.vE)(this.hass,t.prefs,t.statsMetadata);const a=[],s=getComputedStyle(this);if(t.statsCompare)a.push(...this._processDataSet(t.statsCompare,t.statsMetadata,e,s,!0));else{var i,n;const t=null!==(i=null===(n=e[0])||void 0===n?void 0:n.stat_energy_from)&&void 0!==i?i:"placeholder";a.push({id:"compare-"+t,type:"bar",stack:"gas",data:[]})}a.push(...this._processDataSet(t.stats,t.statsMetadata,e,s)),(0,v.Zx)(a),this._chartData=a}},{kind:"method",key:"_processDataSet",value:function(t,e,a,s,i=!1){const n=[],r=(0,v.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]=r(new Date(t.start))),c.push(e),d=t.start}}n.push({type:"bar",cursor:"default",id:i?"compare-"+a.stat_energy_from:a.stat_energy_from,name:(0,g.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-gas-color",o)},color:(0,u.H)(s,this.hass.themes.darkMode,!0,i,"--energy-gas-color",o),data:c,stack:i?"compare-gas":"gas"})})),n}},{kind:"field",static:!0,key:"styles",value(){return(0,d.iv)(x||(x=D`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:()=>n});a(71695),a(47021);var s=a(18492),i=a(7591);function n(t,e,a){const[n,r]=(0,s.d)(null==a?void 0:a.in,t,e);return+(0,i.b)(n)==+(0,i.b)(r)}},16444:function(t,e,a){a.d(e,{z:()=>r});var s=a(53907),i=a(41924),n=a(97836);function r(t,e){return(0,n.K)((0,s.L)((null==e?void 0:e.in)||t,t),(0,i.y)((null==e?void 0:e.in)||t))}}}]); //# sourceMappingURL=6427.1474282caa3abb8a.js.map