Fix history coordinator in Tesla Fleet and Teslemetry (#153068)

Co-authored-by: Robert Resch <robert@resch.dev>
This commit is contained in:
Brett Adams
2025-10-24 21:03:24 +10:00
committed by Franck Nijhof
parent d135f1c110
commit dbd8b1bc19
3 changed files with 16 additions and 10 deletions

View File

@@ -251,11 +251,14 @@ class TeslaFleetEnergySiteHistoryCoordinator(DataUpdateCoordinator[dict[str, Any
raise UpdateFailed("Received invalid data")
# Add all time periods together
output = dict.fromkeys(ENERGY_HISTORY_FIELDS, 0)
output = dict.fromkeys(ENERGY_HISTORY_FIELDS, None)
for period in data.get("time_series", []):
for key in ENERGY_HISTORY_FIELDS:
if key in period:
output[key] += period[key]
if output[key] is None:
output[key] = period[key]
else:
output[key] += period[key]
return output

View File

@@ -199,10 +199,13 @@ class TeslemetryEnergyHistoryCoordinator(DataUpdateCoordinator[dict[str, Any]]):
raise UpdateFailed("Received invalid data")
# Add all time periods together
output = dict.fromkeys(ENERGY_HISTORY_FIELDS, 0)
for period in data["time_series"]:
output = dict.fromkeys(ENERGY_HISTORY_FIELDS, None)
for period in data.get("time_series", []):
for key in ENERGY_HISTORY_FIELDS:
if key in period:
output[key] += period[key]
if output[key] is None:
output[key] = period[key]
else:
output[key] += period[key]
return output

View File

@@ -71,7 +71,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_battery_discharged-entry]
@@ -146,7 +146,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_battery_exported-entry]
@@ -1121,7 +1121,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_grid_exported_from_battery-entry]
@@ -1881,7 +1881,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_load_power-entry]
@@ -2178,7 +2178,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_solar_power-entry]