UNPKG

iobroker.lovelace

Version:

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

2 lines 15.8 kB
export const __webpack_ids__=["51539"];export const __webpack_modules__={57724:function(t,e,i){i.a(t,(async function(t,a){try{i.d(e,{w:()=>r});var o=i(97836),s=i(61985),n=i(64214),c=i(33570),l=t([c,n]);[c,n]=l.then?(await l)():l;const r=(t,e,i,a)=>{const l=a??new Date;return(0,o.K)(t,l)?(0,c.mr)(t,e,i):(0,s.F)(t,l)?(0,n.yD)(t,e,i):(0,n.DG)(t,e,i)};a()}catch(t){a(t)}}))},40087:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(44249),o=i(72621),s=i(32424),n=i(7591),c=i(14276),l=i(57243),r=i(15093),h=i(57724),d=t([h]);h=(d.then?(await d)():d)[0];const u=5e3;(0,a.Z)([(0,r.Mo)("ha-absolute-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:"datetime",value:void 0},{kind:"field",key:"_timeout",value:void 0},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(i,"disconnectedCallback",this,3)([]),this._clearTimeout()}},{kind:"method",key:"connectedCallback",value:function(){(0,o.Z)(i,"connectedCallback",this,3)([]),this.datetime&&this._updateNextDay()}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"firstUpdated",value:function(t){(0,o.Z)(i,"firstUpdated",this,3)([t]),this._updateAbsolute()}},{kind:"method",key:"update",value:function(t){(0,o.Z)(i,"update",this,3)([t]),this._updateAbsolute()}},{kind:"method",key:"_clearTimeout",value:function(){this._timeout&&(window.clearTimeout(this._timeout),this._timeout=void 0)}},{kind:"method",key:"_updateNextDay",value:function(){this._clearTimeout();const t=new Date,e=(0,s.E)((0,n.b)(t),1),i=(0,c._)(e,t)+u;this._timeout=window.setTimeout((()=>{this._updateNextDay(),this._updateAbsolute()}),i)}},{kind:"method",key:"_updateAbsolute",value:function(){this.datetime?this.innerHTML=(0,h.w)(new Date(this.datetime),this.hass.locale,this.hass.config):this.innerHTML=this.hass.localize("ui.components.absolute_time.never")}}]}}),l.fl);e()}catch(t){e(t)}}))},12763:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(44249),o=(i(9359),i(56475),i(70104),i(57243)),s=i(15093),n=i(25904),c=i(59519),l=i(28008),r=i(59389),h=(i(41307),t([r,c,n]));[r,c,n]=h.then?(await h)():h;(0,a.Z)([(0,s.Mo)("ha-attributes")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"extra-filters"})],key:"extraFilters",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_expanded",value:()=>!1},{kind:"get",key:"_filteredAttributes",value:function(){return this._computeDisplayAttributes(c.wk.concat(this.extraFilters?this.extraFilters.split(","):[]))}},{kind:"method",key:"willUpdate",value:function(t){(t.has("extraFilters")||t.has("stateObj"))&&this.toggleAttribute("empty",0===this._filteredAttributes.length)}},{kind:"method",key:"render",value:function(){if(!this.stateObj)return o.Ld;const t=this._filteredAttributes;return 0===t.length?o.Ld:o.dy` <ha-expansion-panel .header="${this.hass.localize("ui.components.attributes.expansion_header")}" outlined @expanded-will-change="${this._expandedChanged}"> <div class="attribute-container"> ${this._expanded?o.dy` ${t.map((t=>o.dy` <div class="data-entry"> <div class="key"> ${(0,n.computeAttributeNameDisplay)(this.hass.localize,this.stateObj,this.hass.entities,t)} </div> <div class="value"> <ha-attribute-value .hass="${this.hass}" .attribute="${t}" .stateObj="${this.stateObj}"></ha-attribute-value> </div> </div> `))} `:""} </div> </ha-expansion-panel> ${this.stateObj.attributes.attribution?o.dy` <div class="attribution"> ${this.stateObj.attributes.attribution} </div> `:""} `}},{kind:"get",static:!0,key:"styles",value:function(){return[l.Qx,o.iv`.attribute-container{margin-bottom:8px;direction:ltr}.data-entry{display:flex;flex-direction:row;justify-content:space-between}.data-entry .value{max-width:60%;overflow-wrap:break-word;text-align:right}.key{flex-grow:1}.attribution{color:var(--secondary-text-color);text-align:center;margin-top:16px}hr{border-color:var(--divider-color);border-bottom:none;margin:16px 0}`]}},{kind:"method",key:"_computeDisplayAttributes",value:function(t){return this.stateObj?Object.keys(this.stateObj.attributes).filter((e=>-1===t.indexOf(e))):[]}},{kind:"method",key:"_expandedChanged",value:function(t){this._expanded=t.detail.expanded}}]}}),o.oi);e()}catch(t){e(t)}}))},92947:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(44249),o=i(57243),s=i(15093),n=i(40087),c=i(95975),l=i(96194),r=i(96309),h=i(94333),d=t([n,c,h]);[n,c,h]=d.then?(await d)():d;(0,a.Z)([(0,s.Mo)("ha-more-info-state-header")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"stateOverride",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"changedOverride",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_absoluteTime",value:()=>!1},{kind:"method",key:"_localizeState",value:function(){return this.stateObj.attributes.device_class!==r.Ft||(0,l.rk)(this.stateObj.state)?this.hass.formatEntityState(this.stateObj):o.dy` <hui-timestamp-display .hass="${this.hass}" .ts="${new Date(this.stateObj.state)}" format="relative" capitalize></hui-timestamp-display> `}},{kind:"method",key:"_toggleAbsolute",value:function(){this._absoluteTime=!this._absoluteTime}},{kind:"method",key:"render",value:function(){const t=this.stateOverride??this._localizeState();return o.dy` <p class="state">${t}</p> <p class="last-changed" @click="${this._toggleAbsolute}"> ${this._absoluteTime?o.dy` <ha-absolute-time .hass="${this.hass}" .datetime="${this.changedOverride??this.stateObj.last_changed}"></ha-absolute-time> `:o.dy` <ha-relative-time .hass="${this.hass}" .datetime="${this.changedOverride??this.stateObj.last_changed}" capitalize></ha-relative-time> `} </p> `}},{kind:"field",static:!0,key:"styles",value:()=>o.iv`p{text-align:center;margin:0}.state{font-style:normal;font-weight:400;font-size:36px;line-height:44px}.last-changed{font-style:normal;font-weight:500;font-size:16px;line-height:24px;letter-spacing:.1px;padding:4px 0;margin-bottom:20px;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}`}]}}),o.oi);e()}catch(t){e(t)}}))},12173:function(t,e,i){i.d(e,{b:()=>a});const a=i(57243).iv`:host{display:flex;flex-direction:column;flex:1;justify-content:space-between}.controls{display:flex;flex-direction:column;align-items:center}.controls:not(:last-child){margin-bottom:24px}.controls>:not(:last-child){margin-bottom:24px}.buttons{display:flex;align-items:center;justify-content:center;margin-bottom:12px}.buttons>*{margin:8px}ha-attributes{display:block;width:100%}ha-more-info-control-select-container+ha-attributes:not([empty]){margin-top:16px}`},1563:function(t,e,i){i.a(t,(async function(t,a){try{i.r(e);var o=i(44249),s=i(72621),n=i(57243),c=i(15093),l=i(69634),r=i(42818),h=i(75278),d=i(12763),u=(i(70413),i(91375),i(75138),i(51223)),b=i(45038),k=i(20645),p=i(92947),f=i(12173),v=t([d,u,k,p]);[d,u,k,p]=v.then?(await v)():v;const m="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",y=5,g=2;(0,o.Z)([(0,c.Mo)("more-info-lock")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,c.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,c.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,c.SB)()],key:"_buttonState",value:()=>"normal"},{kind:"field",key:"_buttonTimeout",value:void 0},{kind:"method",key:"_setButtonState",value:function(t,e){clearTimeout(this._buttonTimeout),this._buttonState=t,e&&(this._buttonTimeout=window.setTimeout((()=>{this._buttonState="normal"}),1e3*e))}},{kind:"method",key:"_open",value:async function(){"confirm"===this._buttonState?((0,b.WW)(this,this.hass,this.stateObj,"open"),this._setButtonState("done",g)):this._setButtonState("confirm",y)}},{kind:"method",key:"_resetButtonState",value:function(){this._setButtonState("normal")}},{kind:"method",key:"disconnectedCallback",value:function(){(0,s.Z)(i,"disconnectedCallback",this,3)([]),this._resetButtonState()}},{kind:"method",key:"_lock",value:async function(){(0,b.WW)(this,this.hass,this.stateObj,"lock")}},{kind:"method",key:"_unlock",value:async function(){(0,b.WW)(this,this.hass,this.stateObj,"unlock")}},{kind:"method",key:"render",value:function(){if(!this.hass||!this.stateObj)return n.Ld;const t=(0,h.e)(this.stateObj,b.fN.OPEN),e={"--state-color":(0,r.Hh)(this.stateObj)};return n.dy` <ha-more-info-state-header .hass="${this.hass}" .stateObj="${this.stateObj}"></ha-more-info-state-header> <div class="controls" style="${(0,l.V)(e)}"> ${(0,b.GY)(this.stateObj)?n.dy` <div class="status"> <span></span> <div class="icon"> <ha-state-icon .hass="${this.hass}" .stateObj="${this.stateObj}"></ha-state-icon> </div> </div> `:n.dy` <ha-state-control-lock-toggle @lock-service-called="${this._resetButtonState}" .stateObj="${this.stateObj}" .hass="${this.hass}"> </ha-state-control-lock-toggle> `} ${t?n.dy` <div class="buttons"> ${"done"===this._buttonState?n.dy` <p class="open-done"> <ha-svg-icon path="${m}"></ha-svg-icon> ${this.hass.localize("ui.card.lock.open_door_done")} </p> `:n.dy` <ha-control-button .disabled="${!(0,b.g6)(this.stateObj)}" class="open-button ${this._buttonState}" @click="${this._open}"> ${"confirm"===this._buttonState?this.hass.localize("ui.card.lock.open_door_confirm"):this.hass.localize("ui.card.lock.open_door")} </ha-control-button> `} </div> `:n.Ld} </div> <div> ${(0,b.GY)(this.stateObj)?n.dy` <ha-control-button-group class="jammed"> <ha-control-button @click="${this._unlock}"> ${this.hass.localize("ui.card.lock.unlock")} </ha-control-button> <ha-control-button @click="${this._lock}"> ${this.hass.localize("ui.card.lock.lock")} </ha-control-button> </ha-control-button-group> `:n.Ld} <ha-attributes .hass="${this.hass}" .stateObj="${this.stateObj}" extra-filters="code_format"></ha-attributes> </div> `}},{kind:"get",static:!0,key:"styles",value:function(){return[f.b,n.iv`ha-control-button{font-size:14px;height:60px;--control-button-border-radius:24px}.open-button{width:130px;--control-button-background-color:var(--state-color)}.open-button.confirm{--control-button-background-color:var(--warning-color)}.open-done{line-height:60px;display:flex;align-items:center;flex-direction:row;gap:8px;font-weight:500;color:var(--success-color)}ha-control-button-group.jammed{--control-button-group-thickness:60px;width:100%;max-width:400px;margin:0 auto}ha-control-button-group+ha-attributes:not([empty]){margin-top:16px}@keyframes pulse{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.status{display:flex;align-items:center;flex-direction:column;justify-content:center;height:45vh;max-height:320px;min-height:200px}.status .icon{position:relative;--mdc-icon-size:80px;animation:pulse 1s infinite;color:var(--state-color);border-radius:50%;width:144px;height:144px;display:flex;align-items:center;justify-content:center}.status .icon::before{content:"";position:absolute;top:0;left:0;height:100%;width:100%;border-radius:50%;background-color:var(--state-color);transition:background-color 180ms ease-in-out;opacity:.2}`]}}]}}),n.oi);a()}catch(t){a(t)}}))},20645:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(44249),o=i(72621),s=i(57243),n=i(15093),c=i(35359),l=i(69634),r=i(42818),h=(i(70413),i(3476),i(51223)),d=i(96194),u=i(13560),b=i(45038),k=i(36522),p=t([h]);h=(p.then?(await p)():p)[0];(0,a.Z)([(0,n.Mo)("ha-state-control-lock-toggle")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,n.SB)()],key:"_isOn",value:()=>!1},{kind:"method",key:"willUpdate",value:function(t){(0,o.Z)(i,"willUpdate",this,3)([t]),t.has("stateObj")&&(this._isOn="locked"===this.stateObj.state||"locking"===this.stateObj.state)}},{kind:"method",key:"_valueChanged",value:function(t){t.target.checked?this._turnOn():this._turnOff()}},{kind:"method",key:"_turnOn",value:async function(){this._isOn=!0;try{await this._callService(!0)}catch(t){this._isOn=!1}}},{kind:"method",key:"_turnOff",value:async function(){this._isOn=!1;try{await this._callService(!1)}catch(t){this._isOn=!0}}},{kind:"method",key:"_callService",value:async function(t){this.hass&&this.stateObj&&((0,u.j)("light"),(0,k.B)(this,"lock-service-called"),(0,b.WW)(this,this.hass,this.stateObj,t?"lock":"unlock"))}},{kind:"method",key:"render",value:function(){const t="locking"===this.stateObj.state,e="unlocking"===this.stateObj.state,i=(0,r.Hh)(this.stateObj);return this.stateObj.state===d.lz?s.dy` <div class="buttons"> <ha-control-button .label="${this.hass.localize("ui.card.lock.lock")}" @click="${this._turnOn}"> <ha-state-icon .hass="${this.hass}" .stateObj="${this.stateObj}" .stateValue="${t?"locking":"locked"}"></ha-state-icon> </ha-control-button> <ha-control-button .label="${this.hass.localize("ui.card.lock.unlock")}" @click="${this._turnOff}"> <ha-state-icon .hass="${this.hass}" .stateObj="${this.stateObj}" .stateValue="${e?"unlocking":"unlocked"}"></ha-state-icon> </ha-control-button> </div> `:s.dy` <ha-control-switch touch-action="none" vertical reversed .checked="${this._isOn}" @change="${this._valueChanged}" .ariaLabel="${this._isOn?this.hass.localize("ui.card.lock.unlock"):this.hass.localize("ui.card.lock.lock")}" style="${(0,l.V)({"--control-switch-on-color":i,"--control-switch-off-color":i})}" .disabled="${this.stateObj.state===d.nZ}"> <ha-state-icon slot="icon-on" .hass="${this.hass}" .stateObj="${this.stateObj}" .stateValue="${t?"locking":"locked"}" class="${(0,c.$)({pulse:t})}"></ha-state-icon> <ha-state-icon slot="icon-off" .hass="${this.hass}" .stateObj="${this.stateObj}" .stateValue="${e?"unlocking":"unlocked"}" class="${(0,c.$)({pulse:e})}"></ha-state-icon> </ha-control-switch> `}},{kind:"field",static:!0,key:"styles",value:()=>s.iv`@keyframes pulse{0%{opacity:1}50%{opacity:0}100%{opacity:1}}ha-control-switch{height:45vh;max-height:320px;min-height:200px;--control-switch-thickness:130px;--control-switch-border-radius:36px;--control-switch-padding:6px;--mdc-icon-size:24px}.pulse{animation:pulse 1s infinite}.buttons{display:flex;flex-direction:column;width:130px;height:45vh;max-height:320px;min-height:200px;padding:6px;box-sizing:border-box}ha-control-button{flex:1;width:100%;--control-button-border-radius:36px;--mdc-icon-size:24px}ha-control-button.active{--control-button-icon-color:white;--control-button-background-color:var(--color);--control-button-focus-color:var(--color);--control-button-background-opacity:1}ha-control-button:not(:last-child){margin-bottom:6px}`}]}}),s.oi);e()}catch(t){e(t)}}))},32424:function(t,e,i){i.d(e,{E:()=>s});var a=i(53907),o=i(18112);function s(t,e,i){const s=(0,o.Q)(t,i?.in);return isNaN(e)?(0,a.L)(i?.in||t,NaN):e?(s.setDate(s.getDate()+e),s):s}},14276:function(t,e,i){i.d(e,{_:()=>o});var a=i(18112);function o(t,e){return+(0,a.Q)(t)-+(0,a.Q)(e)}},97836:function(t,e,i){i.d(e,{K:()=>s});var a=i(18492),o=i(7591);function s(t,e,i){const[s,n]=(0,a.d)(i?.in,t,e);return+(0,o.b)(s)==+(0,o.b)(n)}},61985:function(t,e,i){i.d(e,{F:()=>o});var a=i(18492);function o(t,e,i){const[o,s]=(0,a.d)(i?.in,t,e);return o.getFullYear()===s.getFullYear()}}}; //# sourceMappingURL=51539.9241427018aa2275.js.map