iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 4.06 kB
JavaScript
webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["7618"],{43537:function(t,e,i){i.d(e,{Z:()=>a});const n=t=>t<10?`0${t}`:t;function a(t){const e=Math.floor(t/3600),i=Math.floor(t%3600/60),a=Math.floor(t%3600%60);return e>0?`${e}:${n(i)}:${n(a)}`:i>0?`${i}:${n(a)}`:a>0?""+a:null}},84428:function(t,e,i){i.d(e,{rv:()=>c,mK:()=>u,aT:()=>a,mZ:()=>r,eF:()=>s,WH:()=>o});i(19423),i(9359),i(70104);var n=i(43537);const a=t=>t.callWS({type:"timer/list"}),s=(t,e)=>t.callWS(Object.assign({type:"timer/create"},e)),r=(t,e,i)=>t.callWS(Object.assign({type:"timer/update",timer_id:e},i)),o=(t,e)=>t.callWS({type:"timer/delete",timer_id:e}),u=t=>{if(!t.attributes.remaining)return;let e=function(t){const e=t.split(":").map(Number);return 3600*e[0]+60*e[1]+e[2]}(t.attributes.remaining);if("active"===t.state){const i=(new Date).getTime(),n=new Date(t.attributes.finishes_at).getTime();e=Math.max((n-i)/1e3,0)}return e},c=(t,e,i)=>{if(!e)return null;if("idle"===e.state||0===i)return t.formatEntityState(e);let a=(0,n.Z)(i||0)||"0";return"paused"===e.state&&(a=`${a} (${t.formatEntityState(e)})`),a}},45363:function(t,e,i){i.a(t,(async function(t,n){try{i.r(e);var a=i(61701),s=(i(52247),i(71695),i(47021),i(57243)),r=i(50778),o=(i(52478),i(93331)),u=i(8069),c=i(62577),l=t([u]);u=(l.then?(await l)():l)[0];let d,h,m=t=>t;(0,a.Z)([(0,r.Mo)("hui-timer-entity-row")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_config",value:void 0},{kind:"method",key:"setConfig",value:function(t){if(!t)throw new Error("Invalid configuration");this._config=t}},{kind:"method",key:"render",value:function(){if(!this._config||!this.hass)return s.Ld;const t=this.hass.states[this._config.entity];return t?(0,s.dy)(h||(h=m` <hui-generic-entity-row .hass="${0}" .config="${0}"> <div class="text-content"> <ha-timer-remaining-time .hass="${0}" .stateObj="${0}"></ha-timer-remaining-time> </div> </hui-generic-entity-row> `),this.hass,this._config,this.hass,t):(0,s.dy)(d||(d=m` <hui-warning> ${0} </hui-warning> `),(0,c.i)(this.hass,this._config.entity))}},{kind:"method",key:"shouldUpdate",value:function(t){return(0,o.G2)(this,t)}}]}}),s.oi);n()}catch(d){n(d)}}))},52478:function(t,e,i){i.r(e);var n=i(61701),a=i(72621),s=(i(71695),i(47021),i(57243)),r=i(50778),o=i(84428);(0,n.Z)([(0,r.Mo)("ha-timer-remaining-time")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"timeRemaining",value:void 0},{kind:"field",key:"_updateRemaining",value:void 0},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"update",value:function(t){var e;(0,a.Z)(i,"update",this,3)([t]),this.innerHTML=null!==(e=(0,o.rv)(this.hass,this.stateObj,this.timeRemaining))&&void 0!==e?e:"-"}},{kind:"method",key:"connectedCallback",value:function(){(0,a.Z)(i,"connectedCallback",this,3)([]),this.stateObj&&this._startInterval(this.stateObj)}},{kind:"method",key:"disconnectedCallback",value:function(){(0,a.Z)(i,"disconnectedCallback",this,3)([]),this._clearInterval()}},{kind:"method",key:"willUpdate",value:function(t){(0,a.Z)(i,"willUpdate",this,3)([t]),t.has("stateObj")&&this._startInterval(this.stateObj)}},{kind:"method",key:"_clearInterval",value:function(){this._updateRemaining&&(clearInterval(this._updateRemaining),this._updateRemaining=null)}},{kind:"method",key:"_startInterval",value:function(t){this._clearInterval(),this._calculateRemaining(t),"active"===t.state&&(this._updateRemaining=setInterval((()=>this._calculateRemaining(this.stateObj)),1e3))}},{kind:"method",key:"_calculateRemaining",value:function(t){this.timeRemaining=(0,o.mK)(t)}}]}}),s.fl)}}]);
//# sourceMappingURL=7618.1c5d4ec4bae6877d.js.map
;(self.