iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 20.8 kB
JavaScript
export const __rspack_esm_id=790;export const __rspack_esm_ids=[790];export const __webpack_modules__={92020(t,e,s){s.a(t,async function(t,a){try{s.d(e,{d:()=>h});var i=s(83309),o=s(12010),n=s(95747),r=s(30162),l=t([r,n]);[r,n]=l.then?(await l)():l;const h=(t,e,s,a)=>{const l=a??new Date;return(0,i.r)(t,l)?(0,r.fU)(t,e,s):(0,o.s)(t,l)?(0,n.ZS)(t,e,s):(0,n.aQ)(t,e,s)};a()}catch(t){a(t)}})},70773(t,e,s){s.a(t,async function(t,e){try{var a=s(62826),i=s(92913),o=s(35932),n=s(83339),r=s(5124),l=s(22441),h=s(92020),c=t([h]);h=(c.then?(await c)():c)[0];const d=5e3;class p 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),s=(0,n.b)(e,t)+d;this._timeout=window.setTimeout(()=>{this._updateNextDay(),this._updateAbsolute()},s)}_updateAbsolute(){this.datetime?this.innerHTML=(0,h.d)(new Date(this.datetime),this.hass.locale,this.hass.config):this.innerHTML=this.hass.localize("ui.components.absolute_time.never")}}(0,a.Cg)([(0,l.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,a.Cg)([(0,l.MZ)({attribute:!1})],p.prototype,"datetime",void 0),p=(0,a.Cg)([(0,l.EM)("ha-absolute-time")],p),e()}catch(t){e(t)}})},28732(t,e,s){var a=s(62826),i=s(27686),o=s(7731),n=s(5124),r=s(22441);class l extends i.J{renderRipple(){return this.noninteractive?"":super.renderRipple()}static get styles(){return[o.R,n.AH`:host{padding-left:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-inline-start:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-right:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px));padding-inline-end:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px))}:host([graphic=avatar]:not([twoLine])),:host([graphic=icon]:not([twoLine])){height:48px}span.material-icons:first-of-type{margin-inline-start:0px!important;margin-inline-end:var(--mdc-list-item-graphic-margin,16px)!important;direction:var(--direction)!important}span.material-icons:last-of-type{margin-inline-start:auto!important;margin-inline-end:0px!important;direction:var(--direction)!important}.mdc-deprecated-list-item__meta{display:var(--mdc-list-item-meta-display);align-items:center;flex-shrink:0}:host([graphic=icon]:not([twoline])) .mdc-deprecated-list-item__graphic{margin-inline-end:var(--mdc-list-item-graphic-margin,20px)!important}:host([multiline-secondary]){height:auto}:host([multiline-secondary]) .mdc-deprecated-list-item__text{padding:8px 0}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text{text-overflow:initial;white-space:normal;overflow:auto;display:inline-block;margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text{margin-top:10px}:host([multiline-secondary]) .mdc-deprecated-list-item__secondary-text::before{display:none}:host([multiline-secondary]) .mdc-deprecated-list-item__primary-text::before{display:none}:host([disabled]){color:var(--disabled-text-color)}:host([noninteractive]){pointer-events:unset}`,"rtl"===document.dir?n.AH`span.material-icons:first-of-type,span.material-icons:last-of-type{direction:rtl!important;--direction:rtl}`:n.AH``]}}l=(0,a.Cg)([(0,r.EM)("ha-list-item")],l)},3688(t,e,s){var a=s(62826),i=s(5124),o=s(22441),n=s(6412);class r extends i.WF{render(){const t=`items-${this.childElementCount}`;return i.qy` <div class="controls"> <div class="controls-scroll ${(0,n.H)({[t]:!0,multiline:this.childElementCount>=4})}"> <slot></slot> </div> </div> `}}r.styles=i.AH`.controls{display:flex;flex-direction:row;justify-content:center}.controls-scroll{display:flex;flex-direction:row;justify-content:flex-start;gap:var(--ha-space-3);margin:auto;overflow:auto;-ms-overflow-style:none;scrollbar-width:none;margin:-2px calc(var(--ha-space-6) * -1);padding:2px var(--ha-space-6)}.controls-scroll::-webkit-scrollbar{display:none}::slotted(*){min-width:120px;max-width:160px;flex:none} all and (hover:hover),all and (min-width:600px) and (min-height:501px){.controls-scroll{justify-content:center;flex-wrap:wrap;width:100%;max-width:450px}.controls-scroll.items-4{max-width:300px}.controls-scroll.items-3 ::slotted(*){max-width:140px}.multiline ::slotted(*){width:140px}}`,r=(0,a.Cg)([(0,o.EM)("ha-more-info-control-select-container")],r)},6531(t,e,s){s.a(t,async function(t,e){try{var a=s(62826),i=s(5124),o=s(22441),n=s(70773),r=s(36158),l=s(22675),h=s(64808),c=s(62688),d=t([n,r,c]);[n,r,c]=d.then?(await d)():d;class p extends i.WF{_localizeState(){return this.stateObj.attributes.device_class===h.Sn&&this.stateObj.state!==l.Hh&&this.stateObj.state!==l.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}}p.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,a.Cg)([(0,o.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],p.prototype,"stateObj",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],p.prototype,"stateOverride",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],p.prototype,"changedOverride",void 0),(0,a.Cg)([(0,o.wk)()],p.prototype,"_absoluteTime",void 0),p=(0,a.Cg)([(0,o.EM)("ha-more-info-state-header")],p),e()}catch(t){e(t)}})},37863(t,e,s){s.d(e,{K:()=>a});const a=s(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)}`},18133(t,e,s){s.a(t,async function(t,a){try{s.r(e);s(18111),s(61701);var i=s(62826),o=s(5124),n=s(22441),r=s(47129),l=s(82286),h=s(36248),c=s(56048),d=(s(28732),s(8889),s(22675)),p=s(84097),u=s(88360),b=s(11018),m=(s(78791),s(3688),s(6531)),g=s(37863),v=t([h,c,b,m]);[h,c,b,m]=v.then?(await v)():v;const f="M6 14H9L5 18L1 14H4C4 11.3 5.7 6.6 11 6.1V8.1C7.6 8.6 6 11.9 6 14M20 14C20 11.3 18.3 6.6 13 6.1V8.1C16.4 8.7 18 11.9 18 14H15L19 18L23 14H20Z",y="M13 8.1V6.1C18.3 6.6 20 11.4 20 14H23L20.1 16.9L17.2 14H18C18 11.9 16.4 8.6 13 8.1M7.8 7.1L2.4 1.7L1.1 3L6.3 8.2C4.7 10 4 12.4 4 14H1L5 18L9 14H6C6 12.7 6.6 11 7.9 9.7L20.9 22.7L22.2 21.4L9.3 8.7L7.8 7.1M11 6.1L9.5 6.4L11 7.8V6.1Z",_="M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z",O="M12.5,2C9.64,2 8.57,4.55 9.29,7.47L15,13.16C15.87,13.37 16.81,13.81 17.28,14.73C18.46,17.1 22.03,17 22.03,12.5C22.03,8.92 18.05,8.13 14.35,10.13C14.03,9.73 13.61,9.42 13.13,9.22C13.32,8.29 13.76,7.24 14.75,6.75C17.11,5.57 17,2 12.5,2M3.28,4L2,5.27L4.47,7.73C3.22,7.74 2,8.87 2,11.5C2,15.07 5.96,15.85 9.65,13.87C9.97,14.27 10.4,14.59 10.89,14.79C10.69,15.71 10.25,16.75 9.27,17.24C6.91,18.42 7,22 11.5,22C13.8,22 14.94,20.36 14.94,18.21L18.73,22L20,20.72L3.28,4Z",x="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",$="M8 13C6.14 13 4.59 14.28 4.14 16H2V18H4.14C4.59 19.72 6.14 21 8 21S11.41 19.72 11.86 18H22V16H11.86C11.41 14.28 9.86 13 8 13M8 19C6.9 19 6 18.1 6 17C6 15.9 6.9 15 8 15S10 15.9 10 17C10 18.1 9.1 19 8 19M19.86 6C19.41 4.28 17.86 3 16 3S12.59 4.28 12.14 6H2V8H12.14C12.59 9.72 14.14 11 16 11S19.41 9.72 19.86 8H22V6H19.86M16 9C14.9 9 14 8.1 14 7C14 5.9 14.9 5 16 5S18 5.9 18 7C18 8.1 17.1 9 16 9Z";class j extends o.WF{_handleDirection(t){const e=t.detail.item.value,s=this.stateObj?.attributes.direction;e&&s!==e&&this.hass.callService("fan","set_direction",{entity_id:this.stateObj.entity_id,direction:e})}_handlePresetMode(t){const e=t.detail.item.value,s=this._presetMode;e&&s!==e&&(this._presetMode=e,this.hass.callService("fan","set_preset_mode",{entity_id:this.stateObj.entity_id,preset_mode:e}))}_handleOscillating(t){const e="true"===t.detail.item.value,s=this.stateObj?.attributes.oscillating;s!==e&&this.hass.callService("fan","oscillate",{entity_id:this.stateObj.entity_id,oscillating:e})}updated(t){t.has("stateObj")&&(this._presetMode=this.stateObj?.attributes.preset_mode)}get _stateOverride(){const t=this.hass.formatEntityState(this.stateObj),e=(0,p.Vh)(this.stateObj,this.hass);return e&&(0,r.a)(this.stateObj)?e:t}render(){if(!this.hass||!this.stateObj)return o.s6;const t=(0,l.$)(this.stateObj,p.ZS.SET_SPEED),e=(0,l.$)(this.stateObj,p.ZS.DIRECTION),s=(0,l.$)(this.stateObj,p.ZS.OSCILLATE),a=(0,l.$)(this.stateObj,p.ZS.PRESET_MODE),i=t&&(0,p.bP)(this.stateObj)>4;return o.qy` <ha-more-info-state-header .hass="${this.hass}" .stateObj="${this.stateObj}" .stateOverride="${this._stateOverride}"></ha-more-info-state-header> <div class="controls"> ${t?o.qy` <ha-state-control-fan-speed .stateObj="${this.stateObj}" .hass="${this.hass}"> </ha-state-control-fan-speed> `:o.qy` <ha-state-control-toggle .stateObj="${this.stateObj}" .hass="${this.hass}" .iconPathOn="${_}" .iconPathOff="${O}"></ha-state-control-toggle> `} ${i?o.qy` <div class="buttons"> ${i?o.qy` <ha-outlined-icon-button .disabled="${this.stateObj.state===d.Hh}" ="${this._toggle}"> <ha-svg-icon .path="${x}"></ha-svg-icon> </ha-outlined-icon-button> `:o.s6} </div> `:o.s6} </div> <ha-more-info-control-select-container> ${a&&this.stateObj.attributes.preset_modes?o.qy` <ha-control-select-menu .hass="${this.hass}" .label="${this.hass.formatEntityAttributeName(this.stateObj,"preset_mode")}" .value="${this.stateObj.attributes.preset_mode}" .disabled="${this.stateObj.state===d.Hh}" -select="${this._handlePresetMode}" .options="${this.stateObj.attributes.preset_modes.map(t=>({value:t,label:this.hass.formatEntityAttributeValue(this.stateObj,"preset_mode",t)}))}" .renderIcon="${this._renderPresetModeIcon}"> <ha-svg-icon slot="icon" .path="${$}"></ha-svg-icon> </ha-control-select-menu> `:o.s6} ${e?o.qy` <ha-control-select-menu .hass="${this.hass}" .label="${this.hass.formatEntityAttributeName(this.stateObj,"direction")}" .value="${this.stateObj.attributes.direction}" .disabled="${this.stateObj.state===d.Hh}" -select="${this._handleDirection}" .options="${["forward","reverse"].map(t=>({value:t,label:this.stateObj?this.hass.formatEntityAttributeValue(this.stateObj,"direction",t):t}))}" .renderIcon="${this._renderDirectionIcon}"> <ha-attribute-icon slot="icon" .hass="${this.hass}" .stateObj="${this.stateObj}" attribute="direction" .attributeValue="${this.stateObj.attributes.direction}"></ha-attribute-icon> </ha-control-select-menu> `:o.s6} ${s?o.qy` <ha-control-select-menu .hass="${this.hass}" .label="${this.hass.formatEntityAttributeName(this.stateObj,"oscillating")}" .value="${this.stateObj.attributes.oscillating?"true":"false"}" .disabled="${this.stateObj.state===d.Hh}" -select="${this._handleOscillating}" .options="${["true","false"].map(t=>({value:t,iconPath:"true"===t?f:y,label:this.stateObj?this.hass.formatEntityAttributeValue(this.stateObj,"oscillating","true"===t):t}))}"> <ha-svg-icon slot="icon" .path="${y}"></ha-svg-icon> </ha-control-select-menu> `:o.s6} </ha-more-info-control-select-container> `}static get styles(){return g.K}constructor(...t){super(...t),this._renderPresetModeIcon=t=>o.qy`<ha-attribute-icon .hass="${this.hass}" .stateObj="${this.stateObj}" attribute="preset_mode" .attributeValue="${t}"></ha-attribute-icon>`,this._renderDirectionIcon=t=>o.qy`<ha-attribute-icon .hass="${this.hass}" .stateObj="${this.stateObj}" attribute="direction" .attributeValue="${t}"></ha-attribute-icon>`,this._toggle=()=>{const t="on"===this.stateObj?.state?"turn_off":"turn_on";(0,u.j)(this,"light"),this.hass.callService("fan",t,{entity_id:this.stateObj.entity_id})}}}(0,i.Cg)([(0,n.MZ)({attribute:!1})],j.prototype,"hass",void 0),(0,i.Cg)([(0,n.MZ)({attribute:!1})],j.prototype,"stateObj",void 0),(0,i.Cg)([(0,n.wk)()],j.prototype,"_presetMode",void 0),j=(0,i.Cg)([(0,n.EM)("more-info-fan")],j),a()}catch(t){a(t)}})},59815(t,e,s){s.d(e,{B:()=>o,e:()=>i});var a=s(5124);const i=a.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=a.AH` pulse{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.pulse{animation:pulse 1s infinite}`},11018(t,e,s){s.a(t,async function(t,e){try{s(18111),s(61701);var a=s(62826),i=s(5124),o=s(22441),n=s(89784),r=s(53610),l=s(47129),h=s(52658),c=(s(43958),s(10223)),d=s(22675),p=s(88827),u=s(84097),b=t([c,r,p]);[c,r,p]=b.then?(await b)():b;class m extends i.WF{updated(t){if(t.has("stateObj")){const t=(0,l.a)(this.stateObj)?this.stateObj.attributes.percentage??0:0;this.sliderValue=Math.max(Math.round(t),0),this.speedValue=(0,u.ud)(this.stateObj,t)}}_speedValueChanged(t){const e=t.detail.value;this.speedValue=e;const s=(0,u.oT)(this.stateObj,e);this.hass.callService("fan","set_percentage",{entity_id:this.stateObj.entity_id,percentage:s})}_valueChanged(t){const{value:e}=t.detail;"number"!=typeof e||isNaN(e)||(this.sliderValue=e,this.hass.callService("fan","set_percentage",{entity_id:this.stateObj.entity_id,percentage:e}))}_localizeSpeed(t){return"on"===t||"off"===t?this.hass.formatEntityState(this.stateObj,t):this.hass.localize(`ui.card.fan.speed.${t}`)||t}render(){const t=(0,h.Se)(this.stateObj),e=(0,u.bP)(this.stateObj);if(e<=4){const s=u.$o[e].map(t=>({value:t,label:this._localizeSpeed(t),path:(0,u.lX)(this.stateObj,t)})).reverse();return i.qy` <ha-control-select vertical .options="${s}" .value="${this.speedValue}" -changed="${this._speedValueChanged}" .label="${(0,r.computeAttributeNameDisplay)(this.hass.localize,this.stateObj,this.hass.entities,"percentage")}" style="${(0,n.W)({"--control-select-color":t,"--control-select-background":t})}" .disabled="${this.stateObj.state===d.Hh}"> </ha-control-select> `}return i.qy` <ha-control-slider touch-action="none" vertical min="0" max="100" .value="${this.sliderValue}" .step="${this.stateObj.attributes.percentage_step??1}" -changed="${this._valueChanged}" .label="${(0,r.computeAttributeNameDisplay)(this.hass.localize,this.stateObj,this.hass.entities,"percentage")}" style="${(0,n.W)({"--control-slider-color":t,"--control-slider-background":t})}" .disabled="${this.stateObj.state===d.Hh}" .unit="${p.rM.fan.percentage}" .locale="${this.hass.locale}"> </ha-control-slider> `}}m.styles=i.AH`ha-control-slider{height:45vh;max-height:320px;min-height:200px;--control-slider-thickness:130px;--control-slider-border-radius:var(--ha-border-radius-6xl);--control-slider-color:var(--primary-color);--control-slider-background:var(--disabled-color);--control-slider-background-opacity:0.2;--control-slider-tooltip-font-size:var(--ha-font-size-xl)}ha-control-select{height:45vh;max-height:320px;min-height:200px;--control-select-thickness:130px;--control-select-border-radius:var(--ha-border-radius-6xl);--control-select-color:var(--primary-color);--control-select-background:var(--disabled-color);--control-select-background-opacity:0.2}`,(0,a.Cg)([(0,o.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],m.prototype,"stateObj",void 0),(0,a.Cg)([(0,o.wk)()],m.prototype,"sliderValue",void 0),(0,a.Cg)([(0,o.wk)()],m.prototype,"speedValue",void 0),m=(0,a.Cg)([(0,o.EM)("ha-state-control-fan-speed")],m),e()}catch(t){e(t)}})},78791(t,e,s){var a=s(62826),i=s(5124),o=s(22441),n=s(6412),r=s(89784),l=s(71727),h=s(47129),c=s(52658),d=(s(48374),s(25094),s(22675)),p=s(88360),u=s(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,p.j)(this,"light");const e=(0,l.m)(this.stateObj.entity_id);let s,a;"group"===e?(s="homeassistant",a=t?"turn_on":"turn_off"):(s=e,a=t?"turn_on":"turn_off"),await this.hass.callService(s,a,{entity_id:this.stateObj.entity_id})}render(){const t=(0,c.Se)(this.stateObj,"on"),e=(0,c.Se)(this.stateObj,"off"),s="on"===this.stateObj.state,a="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:s})}" 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:a})}" 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="${s}" .showHandle="${(0,h.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=[u.e],(0,a.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"stateObj",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"iconPathOn",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],g.prototype,"iconPathOff",void 0),g=(0,a.Cg)([(0,o.EM)("ha-state-control-toggle")],g)},83309(t,e,s){s.d(e,{r:()=>o});var a=s(74816),i=s(35932);function o(t,e,s){const[o,n]=(0,a.x)(s?.in,t,e);return+(0,i.o)(o)===+(0,i.o)(n)}},12010(t,e,s){s.d(e,{s:()=>i});var a=s(74816);function i(t,e,s){const[i,o]=(0,a.x)(s?.in,t,e);return i.getFullYear()===o.getFullYear()}}};