iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 16.7 kB
JavaScript
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["51539"],{57724:function(t,e,i){i.a(t,(async function(t,a){try{i.d(e,{w:()=>r});var s=i(97836),o=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=null!=a?a:new Date;return(0,s.K)(t,l)?(0,c.mr)(t,e,i):(0,o.F)(t,l)?(0,n.yD)(t,e,i):(0,n.DG)(t,e,i)};a()}catch(r){a(r)}}))},40087:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(61701),s=i(72621),o=(i(71695),i(47021),i(32424)),n=i(7591),c=i(14276),l=i(57243),r=i(50778),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,s.Z)(i,"disconnectedCallback",this,3)([]),this._clearTimeout()}},{kind:"method",key:"connectedCallback",value:function(){(0,s.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,s.Z)(i,"firstUpdated",this,3)([t]),this._updateAbsolute()}},{kind:"method",key:"update",value:function(t){(0,s.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,o.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(u){e(u)}}))},12763:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(61701),s=(i(22152),i(71695),i(9359),i(56475),i(70104),i(47021),i(57243)),o=i(50778),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;let d,u,b,k,p,f=t=>t;(0,a.Z)([(0,o.Mo)("ha-attributes")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:"extra-filters"})],key:"extraFilters",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_expanded",value(){return!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 s.Ld;const t=this._filteredAttributes;return 0===t.length?s.Ld:(0,s.dy)(d||(d=f` <ha-expansion-panel .header="${0}" outlined -will-change="${0}"> <div class="attribute-container"> ${0} </div> </ha-expansion-panel> ${0} `),this.hass.localize("ui.components.attributes.expansion_header"),this._expandedChanged,this._expanded?(0,s.dy)(u||(u=f` ${0} `),t.map((t=>(0,s.dy)(b||(b=f` <div class="data-entry"> <div class="key"> ${0} </div> <div class="value"> <ha-attribute-value .hass="${0}" .attribute="${0}" .stateObj="${0}"></ha-attribute-value> </div> </div> `),(0,n.computeAttributeNameDisplay)(this.hass.localize,this.stateObj,this.hass.entities,t),this.hass,t,this.stateObj)))):"",this.stateObj.attributes.attribution?(0,s.dy)(k||(k=f` <div class="attribution"> ${0} </div> `),this.stateObj.attributes.attribution):"")}},{kind:"get",static:!0,key:"styles",value:function(){return[l.Qx,(0,s.iv)(p||(p=f`.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}}]}}),s.oi);e()}catch(d){e(d)}}))},92947:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(61701),s=(i(71695),i(47021),i(57243)),o=i(50778),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;let u,b,k,p,f,v=t=>t;(0,a.Z)([(0,o.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,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"stateObj",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"stateOverride",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"changedOverride",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_absoluteTime",value(){return!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):(0,s.dy)(u||(u=v` <hui-timestamp-display .hass="${0}" .ts="${0}" format="relative" capitalize></hui-timestamp-display> `),this.hass,new Date(this.stateObj.state))}},{kind:"method",key:"_toggleAbsolute",value:function(){this._absoluteTime=!this._absoluteTime}},{kind:"method",key:"render",value:function(){var t,e,i;const a=null!==(t=this.stateOverride)&&void 0!==t?t:this._localizeState();return(0,s.dy)(b||(b=v` <p class="state">${0}</p> <p class="last-changed" ="${0}"> ${0} </p> `),a,this._toggleAbsolute,this._absoluteTime?(0,s.dy)(k||(k=v` <ha-absolute-time .hass="${0}" .datetime="${0}"></ha-absolute-time> `),this.hass,null!==(e=this.changedOverride)&&void 0!==e?e:this.stateObj.last_changed):(0,s.dy)(p||(p=v` <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> `),this.hass,null!==(i=this.changedOverride)&&void 0!==i?i:this.stateObj.last_changed))}},{kind:"field",static:!0,key:"styles",value(){return(0,s.iv)(f||(f=v`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}`))}}]}}),s.oi);e()}catch(u){e(u)}}))},12173:function(t,e,i){i.d(e,{b:()=>s});let a;const s=(0,i(57243).iv)(a||(a=(t=>t)`: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 s=i(61701),o=i(72621),n=(i(71695),i(40251),i(47021),i(57243)),c=i(50778),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;let m,y,g,x,_,O,$,j,w=t=>t;const C="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",z=5,S=2;(0,s.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(){return"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",S)):this._setButtonState("confirm",z)}},{kind:"method",key:"_resetButtonState",value:function(){this._setButtonState("normal")}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.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(0,n.dy)(m||(m=w` <ha-more-info-state-header .hass="${0}" .stateObj="${0}"></ha-more-info-state-header> <div class="controls" style="${0}"> ${0} ${0} </div> <div> ${0} <ha-attributes .hass="${0}" .stateObj="${0}" extra-filters="code_format"></ha-attributes> </div> `),this.hass,this.stateObj,(0,l.V)(e),(0,b.GY)(this.stateObj)?(0,n.dy)(y||(y=w` <div class="status"> <span></span> <div class="icon"> <ha-state-icon .hass="${0}" .stateObj="${0}"></ha-state-icon> </div> </div> `),this.hass,this.stateObj):(0,n.dy)(g||(g=w` <ha-state-control-lock-toggle -service-called="${0}" .stateObj="${0}" .hass="${0}"> </ha-state-control-lock-toggle> `),this._resetButtonState,this.stateObj,this.hass),t?(0,n.dy)(x||(x=w` <div class="buttons"> ${0} </div> `),"done"===this._buttonState?(0,n.dy)(_||(_=w` <p class="open-done"> <ha-svg-icon path="${0}"></ha-svg-icon> ${0} </p> `),C,this.hass.localize("ui.card.lock.open_door_done")):(0,n.dy)(O||(O=w` <ha-control-button .disabled="${0}" class="open-button ${0}" ="${0}"> ${0} </ha-control-button> `),!(0,b.g6)(this.stateObj),this._buttonState,this._open,"confirm"===this._buttonState?this.hass.localize("ui.card.lock.open_door_confirm"):this.hass.localize("ui.card.lock.open_door"))):n.Ld,(0,b.GY)(this.stateObj)?(0,n.dy)($||($=w` <ha-control-button-group class="jammed"> <ha-control-button ="${0}"> ${0} </ha-control-button> <ha-control-button ="${0}"> ${0} </ha-control-button> </ha-control-button-group> `),this._unlock,this.hass.localize("ui.card.lock.unlock"),this._lock,this.hass.localize("ui.card.lock.lock")):n.Ld,this.hass,this.stateObj)}},{kind:"get",static:!0,key:"styles",value:function(){return[f.b,(0,n.iv)(j||(j=w`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} 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(m){a(m)}}))},20645:function(t,e,i){i.a(t,(async function(t,e){try{var a=i(61701),s=i(72621),o=(i(71695),i(40251),i(47021),i(57243)),n=i(50778),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];let f,v,m,y=t=>t;(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(){return!1}},{kind:"method",key:"willUpdate",value:function(t){(0,s.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?(0,o.dy)(f||(f=y` <div class="buttons"> <ha-control-button .label="${0}" ="${0}"> <ha-state-icon .hass="${0}" .stateObj="${0}" .stateValue="${0}"></ha-state-icon> </ha-control-button> <ha-control-button .label="${0}" ="${0}"> <ha-state-icon .hass="${0}" .stateObj="${0}" .stateValue="${0}"></ha-state-icon> </ha-control-button> </div> `),this.hass.localize("ui.card.lock.lock"),this._turnOn,this.hass,this.stateObj,t?"locking":"locked",this.hass.localize("ui.card.lock.unlock"),this._turnOff,this.hass,this.stateObj,e?"unlocking":"unlocked"):(0,o.dy)(v||(v=y` <ha-control-switch touch-action="none" vertical reversed .checked="${0}" ="${0}" .ariaLabel="${0}" style="${0}" .disabled="${0}"> <ha-state-icon slot="icon-on" .hass="${0}" .stateObj="${0}" .stateValue="${0}" class="${0}"></ha-state-icon> <ha-state-icon slot="icon-off" .hass="${0}" .stateObj="${0}" .stateValue="${0}" class="${0}"></ha-state-icon> </ha-control-switch> `),this._isOn,this._valueChanged,this._isOn?this.hass.localize("ui.card.lock.unlock"):this.hass.localize("ui.card.lock.lock"),(0,l.V)({"--control-switch-on-color":i,"--control-switch-off-color":i}),this.stateObj.state===d.nZ,this.hass,this.stateObj,t?"locking":"locked",(0,c.$)({pulse:t}),this.hass,this.stateObj,e?"unlocking":"unlocked",(0,c.$)({pulse:e}))}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)(m||(m=y` 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}`))}}]}}),o.oi);e()}catch(f){e(f)}}))},32424:function(t,e,i){i.d(e,{E:()=>o});var a=i(53907),s=i(18112);function o(t,e,i){const o=(0,s.Q)(t,null==i?void 0:i.in);return isNaN(e)?(0,a.L)((null==i?void 0:i.in)||t,NaN):e?(o.setDate(o.getDate()+e),o):o}},14276:function(t,e,i){i.d(e,{_:()=>s});var a=i(18112);function s(t,e){return+(0,a.Q)(t)-+(0,a.Q)(e)}},97836:function(t,e,i){i.d(e,{K:()=>o});i(71695),i(47021);var a=i(18492),s=i(7591);function o(t,e,i){const[o,n]=(0,a.d)(null==i?void 0:i.in,t,e);return+(0,s.b)(o)==+(0,s.b)(n)}},61985:function(t,e,i){i.d(e,{F:()=>s});i(71695),i(47021);var a=i(18492);function s(t,e,i){const[s,o]=(0,a.d)(null==i?void 0:i.in,t,e);return s.getFullYear()===o.getFullYear()}}}]);
//# sourceMappingURL=51539.c40bdf7c0ffa9fbb.js.map