UNPKG

iobroker.lovelace

Version:

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

2 lines 13.4 kB
export const __webpack_ids__=["62058"];export const __webpack_modules__={17705:function(e,t,s){s.d(t,{Cj:()=>u,F7:()=>a,Hs:()=>S,Kd:()=>b,Kj:()=>f,Nw:()=>k,PA:()=>n,Py:()=>d,Qm:()=>w,Z0:()=>v,_Y:()=>h,_m:()=>o,dL:()=>c,dO:()=>D,hN:()=>_,h_:()=>l,j2:()=>g,q6:()=>m,uR:()=>r});s(9359),s(52924);var i=s(47194);let a=function(e){return e[e.NONE=0]="NONE",e[e.ARITHMETIC=1]="ARITHMETIC",e[e.CIRCULAR=2]="CIRCULAR",e}({});const n=99387==s.j?["entity_not_recorded","entity_no_longer_recorded","state_class_removed","units_changed","mean_type_changed","no_state"]:null,o=e=>e.sendMessagePromise({type:"recorder/info"}),r=(e,t)=>e.callWS({type:"recorder/list_statistic_ids",statistic_type:t}),d=(e,t)=>e.callWS({type:"recorder/get_statistics_metadata",statistic_ids:t}),c=(e,t,s,i,a="hour",n,o)=>e.callWS({type:"recorder/statistics_during_period",start_time:t.toISOString(),end_time:s?.toISOString(),statistic_ids:i,period:a,units:n,types:o}),h=(e,t,s,i)=>e.callWS({type:"recorder/statistic_during_period",statistic_id:t,units:i,fixed_period:s.fixed_period?{start_time:s.fixed_period.start instanceof Date?s.fixed_period.start.toISOString():s.fixed_period.start,end_time:s.fixed_period.end instanceof Date?s.fixed_period.end.toISOString():s.fixed_period.end}:void 0,calendar:s.calendar,rolling_window:s.rolling_window}),l=e=>e.callWS({type:"recorder/validate_statistics"}),u=(e,t,s)=>e.callWS({type:"recorder/update_statistics_metadata",statistic_id:t,unit_of_measurement:s}),_=(e,t)=>e.callWS({type:"recorder/clear_statistics",statistic_ids:t}),f=e=>{let t=null;if(!e)return null;for(const s of e)null!==s.change&&void 0!==s.change&&(null===t?t=s.change:t+=s.change);return t},m=(e,t)=>{let s=null;for(const i of t){if(!(i in e))continue;const t=f(e[i]);null!==t&&(null===s?s=t:s+=t)}return s},k=(e,t)=>e.some((e=>void 0!==e[t]&&null!==e[t])),p=["mean","min","max"],y=["sum","state","change"],v=(e,t)=>!(!p.includes(t)||e.mean_type===a.NONE)||!(!y.includes(t)||!e.has_sum),g=(e,t,s,i,a)=>{const n=new Date(s).toISOString();return e.callWS({type:"recorder/adjust_sum_statistics",statistic_id:t,start_time:n,adjustment:i,adjustment_unit_of_measurement:a})},b=(e,t,s)=>{const a=e.states[t];return a?(0,i.C)(a):s?.name||t},D=(e,t,s)=>{let i;return t&&(i=e.states[t]?.attributes.unit_of_measurement),void 0===i?s?.statistics_unit_of_measurement:i},S=e=>e.includes(":"),w=e=>e.callWS({type:"recorder/update_statistics_issues"})},6736:function(e,t,s){s.d(t,{f:()=>o});var i=s(44249),a=s(72621),n=(s(9359),s(52924),s(15093));const o=e=>(0,i.Z)(null,(function(e,t){class s extends t{constructor(...t){super(...t),e(this)}}return{F:s,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,a.Z)(s,"connectedCallback",this,3)([]),this._checkSubscribed()}},{kind:"method",key:"disconnectedCallback",value:function(){if((0,a.Z)(s,"disconnectedCallback",this,3)([]),this.__unsubs){for(;this.__unsubs.length;){const e=this.__unsubs.pop();e instanceof Promise?e.then((e=>e())):e()}this.__unsubs=void 0}}},{kind:"method",key:"updated",value:function(e){if((0,a.Z)(s,"updated",this,3)([e]),e.has("hass"))this._checkSubscribed();else if(this.hassSubscribeRequiredHostProps)for(const t of e.keys())if(this.hassSubscribeRequiredHostProps.includes(t))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((e=>void 0===this[e]))&&(this.__unsubs=this.hassSubscribe())}}]}}),e)},23893:function(e,t,s){s.a(e,(async function(e,i){try{s.r(t),s.d(t,{HuiEnergyDateSelectionCard:()=>h});var a=s(44249),n=s(57243),o=s(15093),r=(s(54977),s(93331)),d=s(3983),c=e([d]);d=(c.then?(await c)():c)[0];let h=(0,a.Z)([(0,o.Mo)("hui-energy-date-selection-card")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_config",value:void 0},{kind:"method",key:"getCardSize",value:function(){return 1}},{kind:"method",key:"getGridOptions",value:function(){return{rows:1,columns:12}}},{kind:"method",key:"setConfig",value:function(e){this._config=e}},{kind:"method",key:"shouldUpdate",value:function(e){return(0,r.SN)(this,e)||e.size>1||!e.has("hass")}},{kind:"method",key:"render",value:function(){return this.hass&&this._config?n.dy` <ha-card> <div class="card-content"> <hui-energy-period-selector .hass="${this.hass}" .collectionKey="${this._config.collection_key}"></hui-energy-period-selector> </div> </ha-card> `:n.Ld}},{kind:"field",static:!0,key:"styles",value:()=>n.iv`ha-card{height:100%;display:flex;flex-direction:column;justify-content:center}`}]}}),n.oi);i()}catch(e){i(e)}}))},3983:function(e,t,s){s.a(e,(async function(e,t){try{var i=s(44249),a=s(72621),n=(s(31622),s(13809)),o=s(86319),r=s(3938),d=s(6542),c=s(7591),h=s(96500),l=s(29558),u=s(30921),_=s(40228),f=s(83389),m=s(57243),k=s(15093),p=s(27486),y=s(97674),v=s(19631),g=s(46467),b=s(22381),D=(s(34273),s(48103),s(12667)),S=(s(4635),s(5828),s(1118)),w=s(6736),C=s(48719),x=e([D,g,C,y,S]);[D,g,C,y,S]=x.then?(await x)():x;const A="M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z",O=["today","yesterday","this_week","this_month","this_quarter","this_year","now-7d","now-30d","now-12m"];(0,i.Z)([(0,k.Mo)("hui-energy-period-selector")],(function(e,t){class s extends t{constructor(...t){super(...t),e(this)}}return{F:s,d:[{kind:"field",decorators:[(0,k.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,k.Cb)({attribute:"collection-key"})],key:"collectionKey",value:void 0},{kind:"field",decorators:[(0,k.Cb)({type:Boolean,reflect:!0})],key:"narrow",value:void 0},{kind:"field",decorators:[(0,k.SB)()],key:"_startDate",value:void 0},{kind:"field",decorators:[(0,k.SB)()],key:"_endDate",value:void 0},{kind:"field",decorators:[(0,k.SB)()],key:"_ranges",value:()=>({})},{kind:"field",decorators:[(0,k.SB)()],key:"_compare",value:()=>!1},{kind:"field",key:"_resizeObserver",value:void 0},{kind:"method",key:"hassSubscribe",value:function(){return[(0,S.UB)(this.hass,{key:this.collectionKey}).subscribe((e=>this._updateDates(e)))]}},{kind:"method",key:"_measure",value:function(){this.narrow=this.offsetWidth<450}},{kind:"method",key:"_attachObserver",value:async function(){this._resizeObserver||(this._resizeObserver=new ResizeObserver((0,b.D)((()=>this._measure()),250,!1))),this._resizeObserver.observe(this)}},{kind:"method",key:"firstUpdated",value:function(){this._attachObserver()}},{kind:"method",key:"connectedCallback",value:function(){(0,a.Z)(s,"connectedCallback",this,3)([]),this.updateComplete.then((()=>this._attachObserver()))}},{kind:"method",key:"disconnectedCallback",value:function(){(0,a.Z)(s,"disconnectedCallback",this,3)([]),this._resizeObserver&&this._resizeObserver.disconnect()}},{kind:"method",key:"willUpdate",value:function(e){(0,a.Z)(s,"willUpdate",this,3)([e]),this.hasUpdated||this._measure(),(!this.hasUpdated||e.has("hass")&&this.hass?.localize!==e.get("hass")?.localize)&&(this._ranges={},O.forEach((e=>{this._ranges[this.hass.localize(`ui.components.date-range-picker.ranges.${e}`)]=(0,C.p)(this.hass,e)})))}},{kind:"method",key:"render",value:function(){if(!this.hass||!this._startDate)return m.Ld;const e=this._simpleRange(this._startDate,this._endDate,this.hass.locale,this.hass.config);return m.dy` <div class="row"> <div class="label"> ${"day"===e?this.narrow?(0,g.mn)(this._startDate,this.hass.locale,this.hass.config):(0,g.p6)(this._startDate,this.hass.locale,this.hass.config):"month"===e?(0,g.NC)(this._startDate,this.hass.locale,this.hass.config):"year"===e?(0,g.yQ)(this._startDate,this.hass.locale,this.hass.config):`${(0,g.ud)(this._startDate,this.hass.locale,this.hass.config)} – ${(0,g.ud)(this._endDate||new Date,this.hass.locale,this.hass.config)}`} </div> <div class="time-handle"> <ha-icon-button-prev .label="${this.hass.localize("ui.panel.lovelace.components.energy_period_selector.previous")}" @click="${this._pickPrevious}"></ha-icon-button-prev> <ha-icon-button-next .label="${this.hass.localize("ui.panel.lovelace.components.energy_period_selector.next")}" @click="${this._pickNext}"></ha-icon-button-next> <ha-date-range-picker .hass="${this.hass}" .startDate="${this._startDate}" .endDate="${this._endDate||new Date}" .ranges="${this._ranges}" @value-changed="${this._dateRangeChanged}" @preset-selected="${this._presetSelected}" minimal header-position></ha-date-range-picker> </div> ${this.narrow?m.Ld:m.dy`<mwc-button dense outlined @click="${this._pickNow}"> ${this.hass.localize("ui.panel.lovelace.components.energy_period_selector.now")} </mwc-button>`} <ha-button-menu> <ha-icon-button slot="trigger" .label="${this.hass.localize("ui.common.menu")}" .path="${A}"></ha-icon-button> <ha-check-list-item left @request-selected="${this._toggleCompare}" .selected="${this._compare}"> ${this.hass.localize("ui.panel.lovelace.components.energy_period_selector.compare")} </ha-check-list-item> <slot name="overflow-menu"></slot> </ha-button-menu> </div> `}},{kind:"field",key:"_simpleRange",value:()=>(0,p.Z)(((e,t,s,i)=>{if(0===(0,n.j)(t,e))return"day";if((0,y.vA)(e,o.b,s,i)&&(0,y.vA)(t,r.h,s,i)){if(0===(0,y.Ai)(t,e,d.d,s,i))return"month";if(2===(0,y.Ai)(t,e,d.d,s,i)&&e.getMonth()%3==0)return"quarter"}return(0,y.vA)(e,o.b,s,i)&&(0,y.vA)(t,r.h,s,i)&&11===(0,y.Ai)(t,e,d.d,s,i)?"year":"other"}))},{kind:"method",key:"_updateCollectionPeriod",value:function(){const e=(0,S.UB)(this.hass,{key:this.collectionKey});e.setPeriod(this._startDate,this._endDate),e.refresh()}},{kind:"method",key:"_dateRangeChanged",value:function(e){const t=(0,v.Bt)(this.hass.locale);this._startDate=(0,y.AH)(e.detail.value.startDate,c.b,this.hass.locale,this.hass.config,{weekStartsOn:t}),this._endDate=(0,y.AH)(e.detail.value.endDate,h.i,this.hass.locale,this.hass.config,{weekStartsOn:t}),this._updateCollectionPeriod()}},{kind:"method",key:"_presetSelected",value:function(e){localStorage.setItem(`energy-default-period-_${this.collectionKey||"energy"}`,O[e.detail.index])}},{kind:"method",key:"_pickNow",value:function(){if(!this._startDate)return;const e=this._simpleRange(this._startDate,this._endDate,this.hass.locale,this.hass.config),t=new Date;if("month"===e)[this._startDate,this._endDate]=(0,C.p)(this.hass,"this_month");else if("quarter"===e)[this._startDate,this._endDate]=(0,C.p)(this.hass,"this_quarter");else if("year"===e)[this._startDate,this._endDate]=(0,C.p)(this.hass,"this_year");else{const e=(0,v.Bt)(this.hass.locale),s=(0,y.AH)(this._endDate,l.z,this.hass.locale,this.hass.config,{weekStartsOn:e}),i=(0,y.AH)(this._endDate,u.v,this.hass.locale,this.hass.config,{weekStartsOn:e});if(this._startDate.getTime()===s.getTime()&&this._endDate.getTime()===i.getTime())[this._startDate,this._endDate]=(0,C.p)(this.hass,"this_week");else{const s=(0,y.Ai)(this._endDate,this._startDate,n.j,this.hass.locale,this.hass.config);this._startDate=(0,y.AH)((0,y.AH)(t,_.k,this.hass.locale,this.hass.config,s),c.b,this.hass.locale,this.hass.config,{weekStartsOn:e}),this._endDate=(0,y.AH)(t,h.i,this.hass.locale,this.hass.config,{weekStartsOn:e})}}this._updateCollectionPeriod()}},{kind:"method",key:"_pickPrevious",value:function(){this._shift(!1)}},{kind:"method",key:"_pickNext",value:function(){this._shift(!0)}},{kind:"method",key:"_shift",value:function(e){if(!this._startDate)return;const{start:t,end:s}=(0,y.Al)(this._startDate,this._endDate,e,this.hass.locale,this.hass.config);this._startDate=t,this._endDate=s,this._updateCollectionPeriod()}},{kind:"method",key:"_updateDates",value:function(e){this._compare=void 0!==e.startCompare,this._startDate=e.start,this._endDate=e.end||(0,f.p)()}},{kind:"method",key:"_toggleCompare",value:function(e){if("interaction"!==e.detail.source)return;this._compare=e.detail.selected;const t=(0,S.UB)(this.hass,{key:this.collectionKey});t.setCompare(this._compare),t.refresh()}},{kind:"field",static:!0,key:"styles",value:()=>m.iv`.row{display:flex;align-items:center}:host .time-handle{display:flex;justify-content:flex-end;align-items:center}:host([narrow]) .time-handle{margin-left:auto;margin-inline-start:auto;margin-inline-end:initial}.label{display:flex;align-items:center;justify-content:flex-end;font-size:20px;margin-left:auto;margin-inline-start:auto;margin-inline-end:initial}:host([narrow]) .label{margin-left:unset;margin-inline-start:unset;margin-inline-end:initial}mwc-button{margin-left:8px;margin-inline-start:8px;margin-inline-end:initial;flex-shrink:0;--mdc-button-outline-color:currentColor;--primary-color:currentColor;--mdc-theme-primary:currentColor;--mdc-theme-on-primary:currentColor;--mdc-button-disabled-outline-color:var(--disabled-text-color);--mdc-button-disabled-ink-color:var(--disabled-text-color)}`}]}}),(0,w.f)(m.oi));t()}catch(e){t(e)}}))},83389:function(e,t,s){s.d(t,{p:()=>a});var i=s(96500);function a(e){return(0,i.i)(Date.now(),e)}}}; //# sourceMappingURL=62058.2ce46dc0dcf8134d.js.map