UNPKG

iobroker.lovelace

Version:

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

1 lines 4.45 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[77547],{80395:function(t,i,s){s.a(t,async function(t,e){try{s.r(i);s(16280),s(3362);var n=s(40445),a=s(5124),o=s(67576),c=s(6412),r=s(63672),h=s(22675),d=s(43248),l=s(19037),u=s(22064),_=s(97176),f=s(784),p=s(79757),g=s(85979),b=t([p,g]);[p,g]=b.then?(await b)():b;let v,y,m,$,x,w,k,C=t=>t;class E extends a.WF{_unsubscribeForecastEvents(){this._subscribed&&(this._subscribed.then(t=>t()),this._subscribed=void 0)}async _subscribeForecastEvents(){if(this._unsubscribeForecastEvents(),!this.hass||!this._config||!this.isConnected)return;const t=this.hass.states[this._config.entity],i=(0,d.JM)(t);i&&(this._subscribed=(0,d.Mu)(this.hass.connection,t.entity_id,i,t=>{this._forecastEvent=t}))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&this._subscribeForecastEvents()}disconnectedCallback(){super.disconnectedCallback(),this._unsubscribeForecastEvents()}setConfig(t){if(null==t||!t.entity)throw new Error("Entity must be specified");this._config=t}shouldUpdate(t){return(0,f.LX)(this,t)||t.size>1||!t.has("hass")}updated(t){super.updated(t),!t.has("_config")&&this._subscribed||this._subscribeForecastEvents()}render(){if(!this.hass||!this._config)return a.s6;const t=this.hass.states[this._config.entity];if(!t)return(0,a.qy)(v||(v=C` <hui-warning .hass="${0}"> ${0} </hui-warning> `),this.hass,(0,g.j)(this.hass,this._config.entity));const i=(0,_.A)(this._config),s=this._config.secondary_info,e=(0,d.L8)(t.state,this,!1,this.hass.auth.accessToken),n=(0,d.yd)(t.attributes,this._forecastEvent),o=null==n?void 0:n.forecast,u=this.hass.formatEntityName(t,this._config.name);return(0,a.qy)(y||(y=C` <div class="icon-image ${0}" @action="${0}" .actionHandler="${0}" tabindex="${0}"> ${0} </div> <div class="info ${0}" @action="${0}" .actionHandler="${0}"> ${0} ${0} </div> <div class="attributes ${0}" @action="${0}" .actionHandler="${0}"> <div> ${0} </div> <div class="secondary"> ${0} </div> </div> `),(0,c.H)({pointer:i}),this._handleAction,(0,l.T)({hasHold:(0,_.h)(this._config.hold_action),hasDoubleClick:(0,_.h)(this._config.double_tap_action)}),(0,r.J)(!this._config.tap_action||(0,_.h)(this._config.tap_action)?"0":void 0),e||(0,a.qy)(m||(m=C` <ha-state-icon class="weather-icon" .stateObj="${0}"></ha-state-icon> `),t),(0,c.H)({pointer:i,"text-content":!s}),this._handleAction,(0,l.T)({hasHold:(0,_.h)(this._config.hold_action),hasDoubleClick:(0,_.h)(this._config.double_tap_action)}),u,s?(0,a.qy)($||($=C` <div class="secondary"> ${0} </div> `),"entity-id"===this._config.secondary_info?t.entity_id:"last-changed"===this._config.secondary_info?(0,a.qy)(x||(x=C` <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> `),this.hass,t.last_changed):"last-updated"===this._config.secondary_info?(0,a.qy)(w||(w=C` <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> `),this.hass,t.last_updated):""):"",(0,c.H)({pointer:i}),this._handleAction,(0,l.T)({hasHold:(0,_.h)(this._config.hold_action),hasDoubleClick:(0,_.h)(this._config.double_tap_action)}),t.state===h.Hh||t.state===h.HV||void 0===t.attributes.temperature||null===t.attributes.temperature?this.hass.formatEntityState(t):this.hass.formatEntityAttributeValue(t,"temperature"),(0,d.nO)(this.hass,t,o))}_handleAction(t){(0,u.$)(this,this.hass,this._config,t.detail.action)}static get styles(){return[d.Ry,(0,a.AH)(k||(k=C`:host{display:flex;align-items:center;flex-direction:row}.info{margin-left:16px;margin-inline-start:16px;margin-inline-end:initial;flex:1 0 60px}.info,.info>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-image{display:flex;align-items:center;min-width:40px}.icon-image>*{flex:0 0 40px;height:40px}.icon-image:focus{outline:0;background-color:var(--divider-color);border-radius:var(--ha-border-radius-circle)}.weather-icon{--mdc-icon-size:40px}.pointer{cursor:pointer}.attributes{display:flex;flex-direction:column;justify-content:center;text-align:right;margin-left:8px;margin-inline-start:8px;margin-inline-end:initial}.secondary{color:var(--secondary-text-color)}`))]}}(0,n.Cg)([(0,o.MZ)({attribute:!1})],E.prototype,"hass",void 0),(0,n.Cg)([(0,o.wk)()],E.prototype,"_config",void 0),(0,n.Cg)([(0,o.wk)()],E.prototype,"_forecastEvent",void 0),(0,n.Cg)([(0,o.wk)()],E.prototype,"_subscribed",void 0),E=(0,n.Cg)([(0,o.EM)("hui-weather-entity-row")],E),e()}catch(v){e(v)}})}}]);