Remove history first refresh from Teslemetry (#148531)

This commit is contained in:
Brett Adams 2025-07-13 21:01:38 +10:00 committed by GitHub
parent d22dd68119
commit bb17f34bae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 35 additions and 42 deletions

View File

@ -215,11 +215,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: TeslemetryConfigEntry) -
energysite.info_coordinator.async_config_entry_first_refresh()
for energysite in energysites
),
*(
energysite.history_coordinator.async_config_entry_first_refresh()
for energysite in energysites
if energysite.history_coordinator
),
)
# Add energy device models

View File

@ -183,6 +183,7 @@ class TeslemetryEnergyHistoryCoordinator(DataUpdateCoordinator[dict[str, Any]]):
update_interval=ENERGY_HISTORY_INTERVAL,
)
self.api = api
self.data = {}
async def _async_update_data(self) -> dict[str, Any]:
"""Update energy site data using Teslemetry API."""

View File

@ -55,7 +55,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.684',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_battery_charged-statealt]
@ -130,7 +130,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.036',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_battery_discharged-statealt]
@ -205,7 +205,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.036',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_battery_exported-statealt]
@ -280,7 +280,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_battery_imported_from_generator-statealt]
@ -355,7 +355,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_battery_imported_from_grid-statealt]
@ -430,7 +430,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.684',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_battery_imported_from_solar-statealt]
@ -580,7 +580,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.036',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_consumer_imported_from_battery-statealt]
@ -655,7 +655,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_consumer_imported_from_generator-statealt]
@ -730,7 +730,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_consumer_imported_from_grid-statealt]
@ -805,7 +805,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.038',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_consumer_imported_from_solar-statealt]
@ -955,7 +955,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_generator_exported-statealt]
@ -1105,7 +1105,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.002',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_grid_exported-statealt]
@ -1180,7 +1180,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-statealt]
@ -1255,7 +1255,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_grid_exported_from_generator-statealt]
@ -1330,7 +1330,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.002',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_grid_exported_from_solar-statealt]
@ -1405,7 +1405,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_grid_imported-statealt]
@ -1555,7 +1555,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_grid_services_exported-statealt]
@ -1630,7 +1630,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_grid_services_imported-statealt]
@ -1780,7 +1780,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.074',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_home_usage-statealt]
@ -2087,7 +2087,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.724',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_solar_exported-statealt]
@ -2162,7 +2162,7 @@
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.724',
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.energy_site_solar_generated-statealt]

View File

@ -1,11 +1,14 @@
"""Test the Telemetry Diagnostics."""
from freezegun.api import FrozenDateTimeFactory
from syrupy.assertion import SnapshotAssertion
from homeassistant.components.teslemetry.coordinator import VEHICLE_INTERVAL
from homeassistant.core import HomeAssistant
from . import setup_platform
from tests.common import async_fire_time_changed
from tests.components.diagnostics import get_diagnostics_for_config_entry
from tests.typing import ClientSessionGenerator
@ -14,10 +17,16 @@ async def test_diagnostics(
hass: HomeAssistant,
hass_client: ClientSessionGenerator,
snapshot: SnapshotAssertion,
freezer: FrozenDateTimeFactory,
) -> None:
"""Test diagnostics."""
entry = await setup_platform(hass)
# Wait for coordinator refresh
freezer.tick(VEHICLE_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
diag = await get_diagnostics_for_config_entry(hass, hass_client, entry)
assert diag == snapshot

View File

@ -107,20 +107,6 @@ async def test_energy_site_refresh_error(
assert entry.state is state
# Test Energy History Coordinator
@pytest.mark.parametrize(("side_effect", "state"), ERRORS)
async def test_energy_history_refresh_error(
hass: HomeAssistant,
mock_energy_history: AsyncMock,
side_effect: TeslaFleetError,
state: ConfigEntryState,
) -> None:
"""Test coordinator refresh with an error."""
mock_energy_history.side_effect = side_effect
entry = await setup_platform(hass)
assert entry.state is state
async def test_vehicle_stream(
hass: HomeAssistant,
mock_add_listener: AsyncMock,

View File

@ -9,7 +9,7 @@ from teslemetry_stream import Signal
from homeassistant.components.teslemetry.coordinator import VEHICLE_INTERVAL
from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import STATE_UNAVAILABLE, Platform
from homeassistant.const import STATE_UNAVAILABLE, STATE_UNKNOWN, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
@ -30,6 +30,8 @@ async def test_sensors(
"""Tests that the sensor entities with the legacy polling are correct."""
freezer.move_to("2024-01-01 00:00:00+00:00")
async_fire_time_changed(hass)
await hass.async_block_till_done()
# Force the vehicle to use polling
with patch("tesla_fleet_api.teslemetry.Vehicle.pre2021", return_value=True):
@ -117,7 +119,7 @@ async def test_energy_history_no_time_series(
entity_id = "sensor.energy_site_battery_discharged"
state = hass.states.get(entity_id)
assert state.state == "0.036"
assert state.state == STATE_UNKNOWN
mock_energy_history.return_value = ENERGY_HISTORY_EMPTY