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