diff --git a/src/components/entity/ha-statistic-picker.ts b/src/components/entity/ha-statistic-picker.ts
index 7cc6be7542..080a78a252 100644
--- a/src/components/entity/ha-statistic-picker.ts
+++ b/src/components/entity/ha-statistic-picker.ts
@@ -102,7 +102,12 @@ export class HaStatisticPicker extends LitElement {
-
+ ${item.state
+ ? html``
+ : ""}
${item.name}
@@ -85,7 +84,6 @@ export class DialogEnergyBatterySettings
.label=${this.hass.localize(
"ui.panel.config.energy.battery.dialog.energy_out_of_battery"
)}
- entities-only
@value-changed=${this._statisticFromChanged}
>
diff --git a/src/panels/config/energy/dialogs/dialog-energy-device-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-device-settings.ts
index 4a7002a8e3..e0ac123065 100644
--- a/src/panels/config/energy/dialogs/dialog-energy-device-settings.ts
+++ b/src/panels/config/energy/dialogs/dialog-energy-device-settings.ts
@@ -74,7 +74,6 @@ export class DialogEnergyDeviceSettings
.label=${this.hass.localize(
"ui.panel.config.energy.device_consumption.dialog.device_consumption_energy"
)}
- entities-only
@value-changed=${this._statisticChanged}
>
diff --git a/src/panels/config/energy/dialogs/dialog-energy-gas-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-gas-settings.ts
index e4a4bf98ce..fa5c9062f7 100644
--- a/src/panels/config/energy/dialogs/dialog-energy-gas-settings.ts
+++ b/src/panels/config/energy/dialogs/dialog-energy-gas-settings.ts
@@ -106,7 +106,6 @@ export class DialogEnergyGasSettings
? "kWh"
: "m³"
})`}
- entities-only
@value-changed=${this._statisticChanged}
>
diff --git a/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts
index 822470debe..0bb1ebf34e 100644
--- a/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts
+++ b/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts
@@ -103,7 +103,6 @@ export class DialogEnergyGridFlowSettings
.label=${this.hass.localize(
`ui.panel.config.energy.grid.flow_dialog.${this._params.direction}.energy_stat`
)}
- entities-only
@value-changed=${this._statisticChanged}
>
diff --git a/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts
index bcb5786097..320f94b1c0 100644
--- a/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts
+++ b/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts
@@ -85,7 +85,6 @@ export class DialogEnergySolarSettings
.label=${this.hass.localize(
"ui.panel.config.energy.solar.dialog.solar_production_energy"
)}
- entities-only
@value-changed=${this._statisticChanged}
>
diff --git a/src/panels/developer-tools/statistics/developer-tools-statistics.ts b/src/panels/developer-tools/statistics/developer-tools-statistics.ts
index 71963bfe6e..9c056b0fa5 100644
--- a/src/panels/developer-tools/statistics/developer-tools-statistics.ts
+++ b/src/panels/developer-tools/statistics/developer-tools-statistics.ts
@@ -50,21 +50,21 @@ class HaPanelDevStatistics extends LitElement {
private _columns = memoizeOne(
(localize): DataTableColumnContainer => ({
state: {
- title: "Entity",
+ title: "Name",
sortable: true,
filterable: true,
grows: true,
template: (entityState, data: any) =>
html`${entityState
? computeStateName(entityState)
- : data.statistic_id}`,
+ : data.name || data.statistic_id}`,
},
statistic_id: {
title: "Statistic id",
sortable: true,
filterable: true,
hidden: this.narrow,
- width: "30%",
+ width: "20%",
},
unit_of_measurement: {
title: "Unit",
@@ -72,6 +72,12 @@ class HaPanelDevStatistics extends LitElement {
filterable: true,
width: "10%",
},
+ source: {
+ title: "Source",
+ sortable: true,
+ filterable: true,
+ width: "10%",
+ },
issues: {
title: "Issue",
sortable: true,
@@ -146,6 +152,7 @@ class HaPanelDevStatistics extends LitElement {
this._data.push({
statistic_id: statisticId,
unit_of_measurement: "",
+ source: "",
state: this.hass.states[statisticId],
issues: issues[statisticId],
});
diff --git a/src/panels/lovelace/cards/hui-statistics-graph-card.ts b/src/panels/lovelace/cards/hui-statistics-graph-card.ts
index 01ac71e297..f82b650394 100644
--- a/src/panels/lovelace/cards/hui-statistics-graph-card.ts
+++ b/src/panels/lovelace/cards/hui-statistics-graph-card.ts
@@ -78,7 +78,7 @@ export class HuiStatisticsGraphCard extends LitElement implements LovelaceCard {
}
const configEntities = config.entities
- ? processConfigEntities(config.entities)
+ ? processConfigEntities(config.entities, false)
: [];
this._entities = [];
diff --git a/src/panels/lovelace/common/has-changed.ts b/src/panels/lovelace/common/has-changed.ts
index 1675f49e20..a9d5fab797 100644
--- a/src/panels/lovelace/common/has-changed.ts
+++ b/src/panels/lovelace/common/has-changed.ts
@@ -52,7 +52,7 @@ export function hasConfigOrEntitiesChanged(
const oldHass = changedProps.get("hass") as HomeAssistant;
- const entities = processConfigEntities(element._config!.entities);
+ const entities = processConfigEntities(element._config!.entities, false);
return entities.some(
(entity) =>
diff --git a/src/panels/lovelace/common/process-config-entities.ts b/src/panels/lovelace/common/process-config-entities.ts
index f17e2799d0..2dfa9a92a7 100644
--- a/src/panels/lovelace/common/process-config-entities.ts
+++ b/src/panels/lovelace/common/process-config-entities.ts
@@ -5,7 +5,8 @@ import { EntityConfig, LovelaceRowConfig } from "../entity-rows/types";
export const processConfigEntities = <
T extends EntityConfig | LovelaceRowConfig
>(
- entities: Array
+ entities: Array,
+ checkEntityId = true
): T[] => {
if (!entities || !Array.isArray(entities)) {
throw new Error("Entities need to be an array");
@@ -35,7 +36,7 @@ export const processConfigEntities = <
throw new Error(`Invalid entity specified at position ${index}.`);
}
- if (!isValidEntityId((config as EntityConfig).entity!)) {
+ if (checkEntityId && !isValidEntityId((config as EntityConfig).entity!)) {
throw new Error(
`Invalid entity ID at position ${index}: ${
(config as EntityConfig).entity
diff --git a/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts
index 9eab0ed1d7..962d548981 100644
--- a/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts
+++ b/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts
@@ -61,7 +61,7 @@ export class HuiStatisticsGraphCardEditor
assert(config, cardConfigStruct);
this._config = config;
this._configEntities = config.entities
- ? processConfigEntities(config.entities).map((cfg) => cfg.entity)
+ ? processConfigEntities(config.entities, false).map((cfg) => cfg.entity)
: [];
}