UNPKG

iobroker.lovelace

Version:

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

2 lines 3.85 kB
export const __webpack_ids__=["7618"];export const __webpack_modules__={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:()=>d,mK:()=>c,aT:()=>a,mZ:()=>r,eF:()=>s,WH:()=>o});i(9359),i(70104);var n=i(43537);const a=t=>t.callWS({type:"timer/list"}),s=(t,e)=>t.callWS({type:"timer/create",...e}),r=(t,e,i)=>t.callWS({type:"timer/update",timer_id:e,...i}),o=(t,e)=>t.callWS({type:"timer/delete",timer_id:e}),c=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},d=(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(44249),s=i(57243),r=i(15093),o=(i(52478),i(93331)),c=i(8069),d=i(62577),u=t([c]);c=(u.then?(await u)():u)[0];(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?s.dy` <hui-generic-entity-row .hass="${this.hass}" .config="${this._config}"> <div class="text-content"> <ha-timer-remaining-time .hass="${this.hass}" .stateObj="${t}"></ha-timer-remaining-time> </div> </hui-generic-entity-row> `:s.dy` <hui-warning> ${(0,d.i)(this.hass,this._config.entity)} </hui-warning> `}},{kind:"method",key:"shouldUpdate",value:function(t){return(0,o.G2)(this,t)}}]}}),s.oi);n()}catch(t){n(t)}}))},52478:function(t,e,i){i.r(e);var n=i(44249),a=i(72621),s=i(57243),r=i(15093),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){(0,a.Z)(i,"update",this,3)([t]),this.innerHTML=(0,o.rv)(this.hass,this.stateObj,this.timeRemaining)??"-"}},{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.999d4c25355d68cc.js.map