iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 8.95 kB
JavaScript
export const __rspack_esm_id=64656;export const __rspack_esm_ids=[64656];export const __webpack_modules__={92020(t,e,a){a.a(t,async function(t,s){try{a.d(e,{d:()=>c});var i=a(83309),o=a(12010),n=a(95747),r=a(30162),h=t([r,n]);[r,n]=h.then?(await h)():h;const c=(t,e,a,s)=>{const h=s??new Date;return(0,i.r)(t,h)?(0,r.fU)(t,e,a):(0,o.s)(t,h)?(0,n.ZS)(t,e,a):(0,n.aQ)(t,e,a)};s()}catch(t){s(t)}})},70773(t,e,a){a.a(t,async function(t,e){try{var s=a(62826),i=a(92913),o=a(35932),n=a(83339),r=a(5124),h=a(22441),c=a(92020),l=t([c]);c=(l.then?(await l)():l)[0];const d=5e3;class u extends r.mN{disconnectedCallback(){super.disconnectedCallback(),this._clearTimeout()}connectedCallback(){super.connectedCallback(),this.datetime&&this._updateNextDay()}createRenderRoot(){return this}firstUpdated(t){super.firstUpdated(t),this._updateAbsolute()}update(t){super.update(t),this._updateAbsolute()}_clearTimeout(){this._timeout&&(window.clearTimeout(this._timeout),this._timeout=void 0)}_updateNextDay(){this._clearTimeout();const t=new Date,e=(0,i.f)((0,o.o)(t),1),a=(0,n.b)(e,t)+d;this._timeout=window.setTimeout(()=>{this._updateNextDay(),this._updateAbsolute()},a)}_updateAbsolute(){this.datetime?this.innerHTML=(0,c.d)(new Date(this.datetime),this.hass.locale,this.hass.config):this.innerHTML=this.hass.localize("ui.components.absolute_time.never")}}(0,s.Cg)([(0,h.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,s.Cg)([(0,h.MZ)({attribute:!1})],u.prototype,"datetime",void 0),u=(0,s.Cg)([(0,h.EM)("ha-absolute-time")],u),e()}catch(t){e(t)}})},6531(t,e,a){a.a(t,async function(t,e){try{var s=a(62826),i=a(5124),o=a(22441),n=a(70773),r=a(36158),h=a(22675),c=a(64808),l=a(62688),d=t([n,r,l]);[n,r,l]=d.then?(await d)():d;class u extends i.WF{_localizeState(){return this.stateObj.attributes.device_class===c.Sn&&this.stateObj.state!==h.Hh&&this.stateObj.state!==h.HV?i.qy` <hui-timestamp-display .hass="${this.hass}" .ts="${new Date(this.stateObj.state)}" format="relative" capitalize></hui-timestamp-display> `:this.hass.formatEntityState(this.stateObj)}_toggleAbsolute(){this._absoluteTime=!this._absoluteTime}render(){const t=this.stateOverride??this._localizeState();return i.qy` <p class="state">${t}</p> <div class="time-row"> <p class="last-changed" ="${this._toggleAbsolute}"> ${this._absoluteTime?i.qy` <ha-absolute-time .hass="${this.hass}" .datetime="${this.changedOverride??this.stateObj.last_changed}"></ha-absolute-time> `:i.qy` <ha-relative-time .hass="${this.hass}" .datetime="${this.changedOverride??this.stateObj.last_changed}" capitalize></ha-relative-time> `} </p> <slot name="after-time"></slot> </div> `}constructor(...t){super(...t),this._absoluteTime=!1}}u.styles=i.AH`p{text-align:center;margin:0}.state{font-style:normal;font-weight:var(--ha-font-weight-normal);font-size:36px;line-height:var(--ha-line-height-condensed)}.time-row{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:var(--ha-space-5)}::slotted([slot=after-time]){position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%)}.last-changed{font-style:normal;font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);line-height:var(--ha-line-height-normal);letter-spacing:.1px;padding:var(--ha-space-1) 0;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}`,(0,s.Cg)([(0,o.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],u.prototype,"stateObj",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],u.prototype,"stateOverride",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],u.prototype,"changedOverride",void 0),(0,s.Cg)([(0,o.wk)()],u.prototype,"_absoluteTime",void 0),u=(0,s.Cg)([(0,o.EM)("ha-more-info-state-header")],u),e()}catch(t){e(t)}})},37863(t,e,a){a.d(e,{K:()=>s});const s=a(5124).AH`:host{display:flex;flex-direction:column;flex:1;justify-content:space-between}.controls{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.controls:not(:last-child){margin-bottom:var(--ha-space-6)}.controls>:not(:last-child){margin-bottom:var(--ha-space-6)}.buttons{display:flex;align-items:center;justify-content:center;margin-bottom:var(--ha-space-3)}.buttons>*{margin:var(--ha-space-2)}ha-attributes{display:block;width:100%}ha-more-info-control-select-container+ha-attributes:not([empty]){margin-top:var(--ha-space-4)}`},62387(t,e,a){a.a(t,async function(t,s){try{a.r(e);var i=a(62826),o=a(5124),n=a(22441),r=(a(78791),a(6531)),h=a(37863),c=t([r]);r=(c.then?(await c)():c)[0];const l="M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13",d="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19Z";class u extends o.WF{render(){return this.hass&&this.stateObj?o.qy` <ha-more-info-state-header .hass="${this.hass}" .stateObj="${this.stateObj}"></ha-more-info-state-header> <div class="controls"> <ha-state-control-toggle .stateObj="${this.stateObj}" .hass="${this.hass}" .iconPathOn="${l}" .iconPathOff="${d}"></ha-state-control-toggle> </div> `:o.s6}static get styles(){return h.K}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],u.prototype,"stateObj",void 0),u=(0,i.Cg)([(0,n.EM)("more-info-input_boolean")],u),s()}catch(t){s(t)}})},59815(t,e,a){a.d(e,{B:()=>o,e:()=>i});var s=a(5124);const i=s.AH`ha-control-switch{height:45vh;max-height:320px;min-height:200px;--control-switch-thickness:130px;--control-switch-border-radius:var(--ha-border-radius-6xl);--control-switch-padding:6px;--mdc-icon-size:24px}.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:var(--ha-border-radius-6xl);--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=s.AH` pulse{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.pulse{animation:pulse 1s infinite}`},78791(t,e,a){var s=a(62826),i=a(5124),o=a(22441),n=a(6412),r=a(89784),h=a(71727),c=a(47129),l=a(52658),d=(a(48374),a(25094),a(22675)),u=a(88360),p=a(59815);const b="M7,2V13H10V22L17,10H13L17,2H7Z",m="M17,10H13L17,2H7V4.18L15.46,12.64M3.27,3L2,4.27L7,9.27V13H10V22L13.58,15.86L17.73,20L19,18.73L3.27,3Z";class g extends i.WF{_valueChanged(t){t.target.checked?this._turnOn():this._turnOff()}_turnOn(){this._callService(!0)}_turnOff(){this._callService(!1)}async _callService(t){if(!this.hass||!this.stateObj)return;(0,u.j)(this,"light");const e=(0,h.m)(this.stateObj.entity_id);let a,s;"group"===e?(a="homeassistant",s=t?"turn_on":"turn_off"):(a=e,s=t?"turn_on":"turn_off"),await this.hass.callService(a,s,{entity_id:this.stateObj.entity_id})}render(){const t=(0,l.Se)(this.stateObj,"on"),e=(0,l.Se)(this.stateObj,"off"),a="on"===this.stateObj.state,s="off"===this.stateObj.state;return this.stateObj.attributes.assumed_state||this.stateObj.state===d.HV?i.qy` <div class="buttons"> <ha-control-button .label="${this.hass.localize("ui.card.common.turn_on")}" ="${this._turnOn}" .disabled="${this.stateObj.state===d.Hh}" class="${(0,n.H)({active:a})}" style="${(0,r.W)({"--color":t})}"> <ha-svg-icon .path="${this.iconPathOn||b}"></ha-svg-icon> </ha-control-button> <ha-control-button .label="${this.hass.localize("ui.card.common.turn_off")}" ="${this._turnOff}" .disabled="${this.stateObj.state===d.Hh}" class="${(0,n.H)({active:s})}" style="${(0,r.W)({"--color":e})}"> <ha-svg-icon .path="${this.iconPathOff||m}"></ha-svg-icon> </ha-control-button> </div> `:i.qy` <ha-control-switch touch-action="none" .pathOn="${this.iconPathOn||b}" .pathOff="${this.iconPathOff||m}" vertical reversed .checked="${a}" .showHandle="${(0,c.a)(this.stateObj)}" ="${this._valueChanged}" .label="${this.hass.localize("ui.card.common.toggle")}" style="${(0,r.W)({"--control-switch-on-color":t,"--control-switch-off-color":e})}" .disabled="${this.stateObj.state===d.Hh}"> </ha-control-switch> `}}g.styles=[p.e],(0,s.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"stateObj",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"iconPathOn",void 0),(0,s.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"iconPathOff",void 0),g=(0,s.Cg)([(0,o.EM)("ha-state-control-toggle")],g)},83309(t,e,a){a.d(e,{r:()=>o});var s=a(74816),i=a(35932);function o(t,e,a){const[o,n]=(0,s.x)(a?.in,t,e);return+(0,i.o)(o)===+(0,i.o)(n)}},12010(t,e,a){a.d(e,{s:()=>i});var s=a(74816);function i(t,e,a){const[i,o]=(0,s.x)(a?.in,t,e);return i.getFullYear()===o.getFullYear()}}};