Include future statistics in history/list_statistic_ids (#52942)
* Include future statistics in history/list_statistic_ids * Improve tests
This commit is contained in:
parent
30d465e9dd
commit
ddc788bf8e
4 changed files with 149 additions and 18 deletions
|
@ -196,6 +196,7 @@ def list_statistic_ids(
|
|||
) -> list[dict[str, str] | None]:
|
||||
"""Return statistic_ids and meta data."""
|
||||
units = hass.config.units
|
||||
statistic_ids = {}
|
||||
with session_scope(hass=hass) as session:
|
||||
metadata = _get_metadata(hass, session, None, statistic_type)
|
||||
|
||||
|
@ -203,7 +204,26 @@ def list_statistic_ids(
|
|||
unit = _configured_unit(meta["unit_of_measurement"], units)
|
||||
meta["unit_of_measurement"] = unit
|
||||
|
||||
return list(metadata.values())
|
||||
statistic_ids = {
|
||||
meta["statistic_id"]: meta["unit_of_measurement"]
|
||||
for meta in metadata.values()
|
||||
}
|
||||
|
||||
for platform in hass.data[DOMAIN].values():
|
||||
if not hasattr(platform, "list_statistic_ids"):
|
||||
continue
|
||||
platform_statistic_ids = platform.list_statistic_ids(hass, statistic_type)
|
||||
|
||||
for statistic_id, unit in platform_statistic_ids.items():
|
||||
unit = _configured_unit(unit, units)
|
||||
platform_statistic_ids[statistic_id] = unit
|
||||
|
||||
statistic_ids = {**statistic_ids, **platform_statistic_ids}
|
||||
|
||||
return [
|
||||
{"statistic_id": _id, "unit_of_measurement": unit}
|
||||
for _id, unit in statistic_ids.items()
|
||||
]
|
||||
|
||||
|
||||
def statistics_during_period(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue