iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 6.5 kB
JavaScript
export const __rspack_esm_id=39591;export const __rspack_esm_ids=[39591];export const __webpack_modules__={5242(t,e,s){s.a(t,async function(t,a){try{s.r(e),s.d(e,{DialogEnergyBatterySettings:()=>C});s(44114),s(18111),s(7588);var i=s(62826),o=s(5124),r=s(22441),_=s(1087),h=s(81423),n=s(18350),c=s(72554),l=(s(93444),s(91485)),g=s(38114),p=s(23528),u=s(64808),d=s(14503),y=s(66902),f=t([h,n,c,l,y,g]);[h,n,c,l,y,g]=f.then?(await f)():f;const m=["energy"],w=["%"],$="battery";class C extends o.WF{async showDialog(t){this._params=t,this._source=t.source?{...t.source}:(0,g.oU)(),this._powerType=(0,y.S9)(t.source?.power_config,t.source?.stat_rate),this._powerConfig=(0,y.us)(t.source?.power_config,t.source?.stat_rate),this._energy_units=(await(0,u.j4)(this.hass,"energy")).units;const e=[];this._params.battery_sources.forEach(t=>{e.push(t.stat_energy_from),e.push(t.stat_energy_to)}),this._excludeList=e.filter(t=>t!==this._source?.stat_energy_from&&t!==this._source?.stat_energy_to),this._excludeListPower=(0,y.A_)(this._params.battery_sources,this._powerConfig,t.source?.stat_rate),this._open=!0}closeDialog(){return this._open=!1,!0}_dialogClosed(){this._params=void 0,this._source=void 0,this._powerType="none",this._powerConfig={},this._error=void 0,this._excludeList=void 0,this._excludeListPower=void 0,(0,_.r)(this,"dialog-closed",{dialog:this.localName})}render(){return this._params&&this._source?o.qy` <ha-dialog .open="${this._open}" header-title="${this.hass.localize("ui.panel.config.energy.battery.dialog.header")}" prevent-scrim-close ="${this._dialogClosed}"> ${this._error?o.qy`<p class="error">${this._error}</p>`:o.s6} <ha-statistic-picker .hass="${this.hass}" .helpMissingEntityUrl="${g.X4}" .includeUnitClass="${m}" .value="${this._source.stat_energy_to}" .label="${this.hass.localize("ui.panel.config.energy.battery.dialog.energy_into_battery")}" .excludeStatistics="${[...this._excludeList||[],this._source.stat_energy_from]}" -changed="${this._statisticToChanged}" .helper="${this.hass.localize("ui.panel.config.energy.battery.dialog.energy_helper_into",{unit:this._energy_units?.join(", ")||""})}" autofocus></ha-statistic-picker> <ha-statistic-picker .hass="${this.hass}" .helpMissingEntityUrl="${g.X4}" .includeUnitClass="${m}" .value="${this._source.stat_energy_from}" .label="${this.hass.localize("ui.panel.config.energy.battery.dialog.energy_out_of_battery")}" .excludeStatistics="${[...this._excludeList||[],this._source.stat_energy_to]}" -changed="${this._statisticFromChanged}" .helper="${this.hass.localize("ui.panel.config.energy.battery.dialog.energy_helper_out",{unit:this._energy_units?.join(", ")||""})}"></ha-statistic-picker> <ha-input .label="${this.hass.localize("ui.panel.config.energy.battery.dialog.display_name")}" type="text" .disabled="${!(this._source?.stat_energy_from||this._source?.stat_energy_to)}" .value="${this._source?.name||""}" .placeholder="${this._source?.stat_energy_from?(0,p.$O)(this.hass,this._source.stat_energy_from,this._params?.statsMetadata?.[this._source.stat_energy_from]):this._source?.stat_energy_to?(0,p.$O)(this.hass,this._source.stat_energy_to,this._params?.statsMetadata?.[this._source.stat_energy_to]):""}" ="${this._nameChanged}"> </ha-input> <ha-energy-power-config .hass="${this.hass}" .powerType="${this._powerType}" .powerConfig="${this._powerConfig}" .excludeList="${this._excludeListPower}" .localizeBaseKey="${"ui.panel.config.energy.battery.dialog"}" -config-changed="${this._handlePowerConfigChanged}"></ha-energy-power-config> <ha-statistic-picker .hass="${this.hass}" .helpMissingEntityUrl="${g.X4}" .value="${this._source.stat_soc}" .includeStatisticsUnitOfMeasurement="${w}" .includeDeviceClass="${$}" .label="${this.hass.localize("ui.panel.config.energy.battery.dialog.state_of_charge")}" .helper="${this.hass.localize("ui.panel.config.energy.battery.dialog.state_of_charge_helper")}" -changed="${this._statisticSocChanged}"></ha-statistic-picker> <ha-dialog-footer slot="footer"> <ha-button appearance="plain" ="${this.closeDialog}" slot="secondaryAction"> ${this.hass.localize("ui.common.cancel")} </ha-button> <ha-button ="${this._save}" .disabled="${!this._isValid()}" slot="primaryAction"> ${this.hass.localize("ui.common.save")} </ha-button> </ha-dialog-footer> </ha-dialog> `:o.s6}_isValid(){return!(!this._source?.stat_energy_from||!this._source?.stat_energy_to)&&!(this._powerConfigEl&&!this._powerConfigEl.isValid())}async _updateMetadata(t){if(t&&(0,p.OQ)(t)&&this._params?.statsMetadata&&!(t in this._params.statsMetadata)){const[e]=await(0,p.Wr)(this.hass,[t]);e&&(this._params.statsMetadata[t]=e,this.requestUpdate("_params"))}}_statisticToChanged(t){this._source={...this._source,stat_energy_to:t.detail.value},this._updateMetadata(t.detail.value)}_statisticFromChanged(t){this._source={...this._source,stat_energy_from:t.detail.value},this._updateMetadata(t.detail.value)}_nameChanged(t){this._source={...this._source,name:t.target.value},this._source.name||delete this._source.name}_handlePowerConfigChanged(t){this._powerType=t.detail.powerType,this._powerConfig=t.detail.powerConfig}_statisticSocChanged(t){this._source={...this._source,stat_soc:t.detail.value||void 0}}async _save(){try{const t={type:"battery",stat_energy_from:this._source.stat_energy_from,stat_energy_to:this._source.stat_energy_to};this._source?.name&&(t.name=this._source.name),"none"!==this._powerType&&(t.power_config={...this._powerConfig}),this._source.stat_soc&&(t.stat_soc=this._source.stat_soc),await this._params.saveCallback(t),this.closeDialog()}catch(t){this._error=t.message}}static get styles(){return[d.RF,d.nA,o.AH`ha-energy-power-config,ha-statistic-picker{display:block;margin-bottom:var(--ha-space-4)}ha-statistic-picker:last-of-type{margin-bottom:0}`]}constructor(...t){super(...t),this._open=!1,this._powerType="none",this._powerConfig={}}}(0,i.Cg)([(0,r.MZ)({attribute:!1})],C.prototype,"hass",void 0),(0,i.Cg)([(0,r.wk)()],C.prototype,"_params",void 0),(0,i.Cg)([(0,r.wk)()],C.prototype,"_open",void 0),(0,i.Cg)([(0,r.wk)()],C.prototype,"_source",void 0),(0,i.Cg)([(0,r.wk)()],C.prototype,"_powerType",void 0),(0,i.Cg)([(0,r.wk)()],C.prototype,"_powerConfig",void 0),(0,i.Cg)([(0,r.wk)()],C.prototype,"_energy_units",void 0),(0,i.Cg)([(0,r.wk)()],C.prototype,"_error",void 0),(0,i.Cg)([(0,r.P)("ha-energy-power-config")],C.prototype,"_powerConfigEl",void 0),C=(0,i.Cg)([(0,r.EM)("dialog-energy-battery-settings")],C),a()}catch(t){a(t)}})}};