Skip to content

Commit

Permalink
Add checks to energy dashboard for when preferences are empty (#19765)
Browse files Browse the repository at this point in the history
* Forbid completing energy dashboard setup unless at least one statistic is selected
* If energy setup was completed but there are no sources available, start setup wizard again
  • Loading branch information
codyc1515 authored May 13, 2024
1 parent 3ebe602 commit 099ea61
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
15 changes: 15 additions & 0 deletions src/panels/energy/cards/energy-setup-wizard-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,21 @@ export class EnergySetupWizard extends LitElement implements LovelaceCard {
if (!this._preferences) {
return;
}
// User made no selections during setup
if (
this._preferences.device_consumption.length === 0 &&
this._preferences.energy_sources.length === 0
) {
showAlertDialog(this, {
title: this.hass.localize(
"ui.panel.energy.setup.no_statistics_selected_title"
),
text: this.hass.localize(
"ui.panel.energy.setup.no_statistics_selected_description"
),
});
return;
}
try {
this._preferences = await saveEnergyPreferences(
this.hass,
Expand Down
8 changes: 8 additions & 0 deletions src/panels/energy/strategies/energy-view-strategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,14 @@ export class EnergyViewStrategy extends ReactiveElement {
return view;
}

// No energy sources available, start from scratch
if (
prefs!.device_consumption.length === 0 &&
prefs!.energy_sources.length === 0
) {
return setupWizard();
}

view.type = "sidebar";

const hasGrid = prefs.energy_sources.find(
Expand Down
4 changes: 3 additions & 1 deletion src/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -6929,7 +6929,9 @@
"next": "Next",
"back": "Back",
"done": "Show me my energy dashboard!",
"step": "Step {step} of {steps}"
"step": "Step {step} of {steps}",
"no_statistics_selected_title": "No statistics selected",
"no_statistics_selected_description": "You must select at least one statistic to finish setting up your Energy dashboard."
},
"charts": {
"stat_house_energy_meter": "Total energy consumption",
Expand Down

0 comments on commit 099ea61

Please sign in to comment.