UNPKG

iobroker.lovelace

Version:

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

1 lines 3.61 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[71523],{12284:function(t,e,s){s.d(e,{BJ:function(){return r},KY:function(){return i},MG:function(){return a},d_:function(){return u},m4:function(){return n}});const i=(t,e,s)=>t.callService(e.split(".",1)[0],"set_value",{value:s,entity_id:e}),a=t=>t.callWS({type:"input_text/list"}),n=(t,e)=>t.callWS(Object.assign({type:"input_text/create"},e)),r=(t,e,s)=>t.callWS(Object.assign({type:"input_text/update",input_text_id:e},s)),u=(t,e)=>t.callWS({type:"input_text/delete",input_text_id:e})},57198:function(t,e,s){s.a(t,async function(t,i){try{s.r(e);var a=s(69235),n=(s(16280),s(3362),s(40445)),r=s(5124),u=s(67576),h=s(9899),d=s(70759),l=s(91485),c=s(22675),o=s(12284),p=s(784),_=s(79757),b=s(85979),m=t([a,d,l,_,b]);[a,d,l,_,b]=m.then?(await m)():m;let f,g,y,v,x,C=t=>t;class $ extends r.WF{setConfig(t){if(!t)throw new Error("Invalid configuration");this._config=t}connectedCallback(){super.connectedCallback(),this._updated&&!this._loaded&&this._initialLoad(),this._attachObserver()}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._resizeObserver)||void 0===t||t.disconnect()}firstUpdated(){this._updated=!0,this.isConnected&&!this._loaded&&this._initialLoad(),this._attachObserver()}shouldUpdate(t){return(0,p.LX)(this,t)}render(){if(!this._config||!this.hass)return r.s6;const t=this.hass.states[this._config.entity];return t?(0,r.qy)(g||(g=C` <hui-generic-entity-row .hass="${0}" .config="${0}"> ${0} </hui-generic-entity-row> `),this.hass,this._config,"slider"===t.attributes.mode||"auto"===t.attributes.mode&&(Number(t.attributes.max)-Number(t.attributes.min))/Number(t.attributes.step)<=256?(0,r.qy)(y||(y=C` <div class="flex"> <ha-slider labeled .disabled="${0}" .step="${0}" .min="${0}" .max="${0}" .value="${0}" @change="${0}"></ha-slider> <span class="state"> ${0} </span> </div> `),t.state===c.Hh,Number(t.attributes.step),Number(t.attributes.min),Number(t.attributes.max),Number(t.state),this._selectedValueChanged,this.hass.formatEntityState(t)):(0,r.qy)(v||(v=C` <div class="flex state"> <ha-input auto-validate .disabled="${0}" pattern="[0-9]+([\\.][0-9]+)?" .step="${0}" .min="${0}" .max="${0}" .value="${0}" type="number" @change="${0}"> <span slot="end">${0}</span> </ha-input> </div> `),t.state===c.Hh,Number(t.attributes.step),Number(t.attributes.min),Number(t.attributes.max),t.state,this._selectedValueChanged,t.attributes.unit_of_measurement)):(0,r.qy)(f||(f=C` <hui-warning .hass="${0}"> ${0} </hui-warning> `),this.hass,(0,b.j)(this.hass,this._config.entity))}async _initialLoad(){this._loaded=!0,await this.updateComplete,this._measureCard()}_measureCard(){if(!this.isConnected)return;const t=this.shadowRoot.querySelector(".state");t&&(t.hidden=this.clientWidth<=300)}async _attachObserver(){this._resizeObserver||(this._resizeObserver=new ResizeObserver((0,h.s)(()=>this._measureCard(),250,!1))),this.isConnected&&this._resizeObserver.observe(this)}_selectedValueChanged(t){const e=this.hass.states[this._config.entity];t.target.value!==e.state&&(0,o.KY)(this.hass,e.entity_id,t.target.value)}}$.styles=(0,r.AH)(x||(x=C`:host{display:block}.flex{display:flex;align-items:center;justify-content:flex-end;flex-grow:2}.state{min-width:45px;text-align:end}ha-input::part(wa-input){text-align:end;direction:ltr!important}ha-slider{width:100%;max-width:200px}`)),(0,n.Cg)([(0,u.MZ)({attribute:!1})],$.prototype,"hass",void 0),(0,n.Cg)([(0,u.wk)()],$.prototype,"_config",void 0),$=(0,n.Cg)([(0,u.EM)("hui-number-entity-row")],$),i()}catch(f){i(f)}})}}]);