UNPKG

iobroker.lovelace

Version:

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

2 lines 12.6 kB
export const __webpack_ids__=["61217"];export const __webpack_modules__={50875:function(t,e,a){a.d(e,{Eu:()=>r,hZ:()=>o,o9:()=>d});var s=a(27486),i=a(11259);const n=["#4269d0","#f4bd4a","#ff725c","#6cc5b0","#a463f2","#ff8ab7","#9c6b4e","#97bbf5","#01ab63","#9498a0","#094bad","#c99000","#d84f3e","#49a28f","#048732","#d96895","#8043ce","#7599d1","#7a4c31","#74787f","#6989f4","#ffd444","#ff957c","#8fe9d3","#62cc71","#ffadda","#c884ff","#badeff","#bf8b6d","#b6bac2","#927acc","#97ee3f","#bf3947","#9f5b00","#f48758","#8caed6","#f2b94f","#eff26e","#e43872","#d9b100","#9d7a00","#698cff","#d9d9d9","#00d27e","#d06800","#009f82","#c49200","#cbe8ff","#fecddf","#c27eb6","#8cd2ce","#c4b8d9","#f883b0","#a49100","#f48800","#27d0df","#a04a9b"];function r(t){return n[t%n.length]}function o(t,e){const a=e.getPropertyValue(`--graph-color-${t+1}`)||r(t);return(0,i.Rq)(a)}const d=(0,s.Z)((t=>n.map(((e,a)=>o(a,t)))),((t,e)=>t[0].getPropertyValue("--graph-color-1")===e[0].getPropertyValue("--graph-color-1")))},17705:function(t,e,a){a.d(e,{Cj:()=>h,F7:()=>i,Hs:()=>x,Kd:()=>k,Kj:()=>_,Nw:()=>m,PA:()=>n,Py:()=>d,Qm:()=>C,Z0:()=>b,_Y:()=>u,_m:()=>r,dL:()=>c,dO:()=>S,hN:()=>f,h_:()=>l,j2:()=>v,q6:()=>p,uR:()=>o});a(9359),a(52924);var s=a(47194);let i=function(t){return t[t.NONE=0]="NONE",t[t.ARITHMETIC=1]="ARITHMETIC",t[t.CIRCULAR=2]="CIRCULAR",t}({});const n=99387==a.j?["entity_not_recorded","entity_no_longer_recorded","state_class_removed","units_changed","mean_type_changed","no_state"]:null,r=t=>t.sendMessagePromise({type:"recorder/info"}),o=(t,e)=>t.callWS({type:"recorder/list_statistic_ids",statistic_type:e}),d=(t,e)=>t.callWS({type:"recorder/get_statistics_metadata",statistic_ids:e}),c=(t,e,a,s,i="hour",n,r)=>t.callWS({type:"recorder/statistics_during_period",start_time:e.toISOString(),end_time:a?.toISOString(),statistic_ids:s,period:i,units:n,types:r}),u=(t,e,a,s)=>t.callWS({type:"recorder/statistic_during_period",statistic_id:e,units:s,fixed_period:a.fixed_period?{start_time:a.fixed_period.start instanceof Date?a.fixed_period.start.toISOString():a.fixed_period.start,end_time:a.fixed_period.end instanceof Date?a.fixed_period.end.toISOString():a.fixed_period.end}:void 0,calendar:a.calendar,rolling_window:a.rolling_window}),l=t=>t.callWS({type:"recorder/validate_statistics"}),h=(t,e,a)=>t.callWS({type:"recorder/update_statistics_metadata",statistic_id:e,unit_of_measurement:a}),f=(t,e)=>t.callWS({type:"recorder/clear_statistics",statistic_ids:e}),_=t=>{let e=null;if(!t)return null;for(const a of t)null!==a.change&&void 0!==a.change&&(null===e?e=a.change:e+=a.change);return e},p=(t,e)=>{let a=null;for(const s of e){if(!(s in t))continue;const e=_(t[s]);null!==e&&(null===a?a=e:a+=e)}return a},m=(t,e)=>t.some((t=>void 0!==t[e]&&null!==t[e])),g=["mean","min","max"],y=["sum","state","change"],b=(t,e)=>!(!g.includes(e)||t.mean_type===i.NONE)||!(!y.includes(e)||!t.has_sum),v=(t,e,a,s,i)=>{const n=new Date(a).toISOString();return t.callWS({type:"recorder/adjust_sum_statistics",statistic_id:e,start_time:n,adjustment:s,adjustment_unit_of_measurement:i})},k=(t,e,a)=>{const i=t.states[e];return i?(0,s.C)(i):a?.name||e},S=(t,e,a)=>{let s;return e&&(s=t.states[e]?.attributes.unit_of_measurement),void 0===s?a?.statistics_unit_of_measurement:s},x=t=>t.includes(":"),C=t=>t.callWS({type:"recorder/update_statistics_issues"})},6736:function(t,e,a){a.d(e,{f:()=>r});var s=a(44249),i=a(72621),n=(a(9359),a(52924),a(15093));const r=t=>(0,s.Z)(null,(function(t,e){class a extends e{constructor(...e){super(...e),t(this)}}return{F:a,d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",key:"hassSubscribeRequiredHostProps",value:void 0},{kind:"field",key:"__unsubs",value:void 0},{kind:"method",key:"connectedCallback",value:function(){(0,i.Z)(a,"connectedCallback",this,3)([]),this._checkSubscribed()}},{kind:"method",key:"disconnectedCallback",value:function(){if((0,i.Z)(a,"disconnectedCallback",this,3)([]),this.__unsubs){for(;this.__unsubs.length;){const t=this.__unsubs.pop();t instanceof Promise?t.then((t=>t())):t()}this.__unsubs=void 0}}},{kind:"method",key:"updated",value:function(t){if((0,i.Z)(a,"updated",this,3)([t]),t.has("hass"))this._checkSubscribed();else if(this.hassSubscribeRequiredHostProps)for(const e of t.keys())if(this.hassSubscribeRequiredHostProps.includes(e))return void this._checkSubscribed()}},{kind:"method",key:"hassSubscribe",value:function(){return[]}},{kind:"method",key:"_checkSubscribed",value:function(){void 0===this.__unsubs&&this.isConnected&&void 0!==this.hass&&!this.hassSubscribeRequiredHostProps?.some((t=>void 0===this[t]))&&(this.__unsubs=this.hassSubscribe())}}]}}),t)},20548:function(t,e,a){a.d(e,{H:()=>n});var s=a(11259),i=a(4643);function n(t,e,a,n,r,o){const d=t.getPropertyValue(r+"-"+o).trim(),c=d.length>0?d:t.getPropertyValue(r).trim();let u=(0,s.Rq)(c);return 0===d.length&&o&&(u=(0,s.CO)((0,s.p3)(e?(0,i.C)((0,s.Rw)((0,s.wK)(u)),o):(0,i.W)((0,s.Rw)((0,s.wK)(u)),o)))),n?u+=a?"32":"7F":a&&(u+="7F"),u}},53259:function(t,e,a){a.a(t,(async function(t,s){try{a.d(e,{J:()=>v,MC:()=>y,Zx:()=>S,b4:()=>b,kT:()=>x});a(92745),a(9359),a(56475),a(31526),a(70104),a(92519),a(42179),a(89256),a(24931),a(88463),a(57449),a(19814);var i=a(21893),n=a(13809),r=a(38836),o=a(84775),d=a(80951),c=a(13730),u=a(6542),l=a(83204),h=a(23459),f=a(23711),_=a(50602),p=a(46467),m=a(33570),g=t([p,m,_]);function y(t,e){let a=new Date(e);return t>2&&0===a.getHours()&&(a=(0,i.b)(a,1)),a.setMinutes(0,0,0),t>35&&a.setDate(1),t>2&&a.setHours(0),a.getTime()}function b(t){return t>35?"month":t>2?"day":"hour"}function v(t,e,a,s,i,r,o,d){const c=(0,n.j)(e,t),u=void 0!==r&&void 0!==o;return{xAxis:{type:"time",min:t,max:y(c,e)},yAxis:{type:"value",name:i,nameGap:2,nameTextStyle:{align:"left"},axisLabel:{formatter:t=>(0,_.uf)(Math.abs(t),a)},splitLine:{show:!0}},grid:{top:15,bottom:0,left:1,right:1,containLabel:!0},tooltip:{trigger:"axis",formatter:t=>{if(Array.isArray(t)){const e=[],n=[];return t.forEach((t=>{t.seriesId?.startsWith("compare-")?n.push(t):e.push(t)})),[e,n].map((t=>k(t,a,s,c,u,i,d))).filter(Boolean).join("<br><br>")}return k([t],a,s,c,u,i,d)}}}}function k(t,e,a,s,i,n,o){if(!t[0]?.value)return"";const d=new Date(t[0].value?.[2]??t[0].value?.[0]);let c;c=s>89?`${(0,p.NC)(d,e,a)}`:s>0?`${(0,p.ud)(d,e,a)}`:`${i?`${(0,p.ud)(d,e,a)}: `:""}${(0,m.mr)(d,e,a)}${(0,m.mr)((0,r.T)(d,1),e,a)}`;const u=`<h4 style="text-align: center; margin: 0;">${c}</h4>`;let l=0,h=0,f=0,g=0;const y=t.map((t=>{const a=t.value?.[1],s=(0,_.uf)(a,e);return"0"!==s&&("bar"===t.componentSubType&&(a>0?(l+=a,h++):(f+=a,g++)),`${t.marker} ${t.seriesName}: ${s} ${n}`)})).filter(Boolean);let b="";return 0!==l&&h>1&&o&&(b+=`<br><b>${o(l)}</b>`),0!==f&&g>1&&o&&(b+=`<br><b>${o(f)}</b>`),y.length>0?`${u}${y.join("<br>")}${b}`:""}function S(t){Array.from(new Set(t.map((t=>t.data.map((t=>Number(t[0]))))).flat())).sort(((t,e)=>t-e)).forEach(((e,a)=>{const s={},i={};for(let n=t.length-1;n>=0;n--){const r=t[n].data[a],o=r&&"object"==typeof r&&"value"in r?r:{value:r},d=o.value?.[0],c=t[n].stack??"";void 0!==d&&(Number(d)!==e?t[n].data?.splice(a,0,{value:[e,0],itemStyle:{borderWidth:0}}):0===o.value?.[1]?t[n].data[a]={...o,itemStyle:{...o.itemStyle,borderWidth:0}}:!s[c]&&o.value?.[1]>0?(t[n].data[a]={...o,itemStyle:{...o.itemStyle,borderRadius:[4,4,0,0]}},s[c]=!0):!i[c]&&o.value?.[1]<0&&(t[n].data[a]={...o,itemStyle:{...o.itemStyle,borderRadius:[0,0,4,4]}},i[c]=!0))}}))}function x(t,e){if(!e)return t=>t;const a=(0,o.o)(t,e);if(0!==a&&t.getTime()===(0,d.e)(t).getTime())return t=>(0,c.B)(t,a);const s=(0,u.d)(t,e);if(0!==s&&t.getTime()===(0,l.N)(t).getTime())return t=>(0,h.z)(t,s);const i=t.getTime()-e.getTime();return t=>(0,f.n)(t,i)}[p,m,_]=g.then?(await g)():g,s()}catch(C){s(C)}}))},74257:function(t,e,a){a.a(t,(async function(t,s){try{a.r(e),a.d(e,{HuiEnergyGasGraphCard:()=>k});var i=a(44249),n=(a(92745),a(9359),a(56475),a(31526),a(42625)),r=a(83389),o=a(16444),d=a(57243),c=a(15093),u=a(35359),l=a(27486),h=a(20548),f=a(50602),_=a(25179),p=(a(54977),a(1118)),m=a(17705),g=a(6736),y=a(93331),b=a(53259),v=t([_,f,p,b]);[_,f,p,b]=v.then?(await v)():v;let k=(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:()=>[]},{kind:"field",decorators:[(0,c.SB)()],key:"_start",value:()=>(0,n.I)()},{kind:"field",decorators:[(0,c.SB)()],key:"_end",value:()=>(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:()=>["_config"]},{kind:"method",key:"hassSubscribe",value:function(){return[(0,p.UB)(this.hass,{key:this._config?.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,y.SN)(this,t)||t.size>1||!t.has("hass")}},{kind:"method",key:"render",value:function(){return this.hass&&this._config?d.dy` <ha-card> ${this._config.title?d.dy`<h1 class="card-header">${this._config.title}</h1>`:""} <div class="content ${(0,u.$)({"has-header":!!this._config.title})}"> <ha-chart-base .hass="${this.hass}" .data="${this._chartData}" .options="${this._createOptions(this._start,this._end,this.hass.locale,this.hass.config,this._unit,this._compareStart,this._compareEnd)}" chart-type="bar"></ha-chart-base> ${this._chartData.length?"":d.dy`<div class="no-data"> ${(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")} </div>`} </div> </ha-card> `: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,b.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{const t=e[0]?.stat_energy_from??"placeholder";a.push({id:"compare-"+t,type:"bar",stack:"gas",data:[]})}a.push(...this._processDataSet(t.stats,t.statsMetadata,e,s)),(0,b.Zx)(a),this._chartData=a}},{kind:"method",key:"_processDataSet",value:function(t,e,a,s,i=!1){const n=[],r=(0,b.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,m.Kd)(this.hass,a.stat_energy_from,e[a.stat_energy_from]),barMaxWidth:50,itemStyle:{borderColor:(0,h.H)(s,this.hass.themes.darkMode,!1,i,"--energy-gas-color",o)},color:(0,h.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:()=>d.iv`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,g.f)(d.oi));s()}catch(t){s(t)}}))},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});var s=a(18492),i=a(7591);function n(t,e,a){const[n,r]=(0,s.d)(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)(e?.in||t,t),(0,i.y)(e?.in||t))}}}; //# sourceMappingURL=61217.7504c44b9c46366a.js.map