mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 23:27:37 +00:00
Remove history first refresh from Teslemetry (#148531)
This commit is contained in:
parent
d22dd68119
commit
bb17f34bae
@ -215,11 +215,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: TeslemetryConfigEntry) -
|
|||||||
energysite.info_coordinator.async_config_entry_first_refresh()
|
energysite.info_coordinator.async_config_entry_first_refresh()
|
||||||
for energysite in energysites
|
for energysite in energysites
|
||||||
),
|
),
|
||||||
*(
|
|
||||||
energysite.history_coordinator.async_config_entry_first_refresh()
|
|
||||||
for energysite in energysites
|
|
||||||
if energysite.history_coordinator
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add energy device models
|
# Add energy device models
|
||||||
|
@ -183,6 +183,7 @@ class TeslemetryEnergyHistoryCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|||||||
update_interval=ENERGY_HISTORY_INTERVAL,
|
update_interval=ENERGY_HISTORY_INTERVAL,
|
||||||
)
|
)
|
||||||
self.api = api
|
self.api = api
|
||||||
|
self.data = {}
|
||||||
|
|
||||||
async def _async_update_data(self) -> dict[str, Any]:
|
async def _async_update_data(self) -> dict[str, Any]:
|
||||||
"""Update energy site data using Teslemetry API."""
|
"""Update energy site data using Teslemetry API."""
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.684',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_battery_charged-statealt]
|
# name: test_sensors[sensor.energy_site_battery_charged-statealt]
|
||||||
@ -130,7 +130,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.036',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_battery_discharged-statealt]
|
# name: test_sensors[sensor.energy_site_battery_discharged-statealt]
|
||||||
@ -205,7 +205,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.036',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_battery_exported-statealt]
|
# name: test_sensors[sensor.energy_site_battery_exported-statealt]
|
||||||
@ -280,7 +280,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_battery_imported_from_generator-statealt]
|
# name: test_sensors[sensor.energy_site_battery_imported_from_generator-statealt]
|
||||||
@ -355,7 +355,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_battery_imported_from_grid-statealt]
|
# name: test_sensors[sensor.energy_site_battery_imported_from_grid-statealt]
|
||||||
@ -430,7 +430,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.684',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_battery_imported_from_solar-statealt]
|
# name: test_sensors[sensor.energy_site_battery_imported_from_solar-statealt]
|
||||||
@ -580,7 +580,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.036',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_consumer_imported_from_battery-statealt]
|
# name: test_sensors[sensor.energy_site_consumer_imported_from_battery-statealt]
|
||||||
@ -655,7 +655,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_consumer_imported_from_generator-statealt]
|
# name: test_sensors[sensor.energy_site_consumer_imported_from_generator-statealt]
|
||||||
@ -730,7 +730,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_consumer_imported_from_grid-statealt]
|
# name: test_sensors[sensor.energy_site_consumer_imported_from_grid-statealt]
|
||||||
@ -805,7 +805,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.038',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_consumer_imported_from_solar-statealt]
|
# name: test_sensors[sensor.energy_site_consumer_imported_from_solar-statealt]
|
||||||
@ -955,7 +955,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_generator_exported-statealt]
|
# name: test_sensors[sensor.energy_site_generator_exported-statealt]
|
||||||
@ -1105,7 +1105,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.002',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_grid_exported-statealt]
|
# name: test_sensors[sensor.energy_site_grid_exported-statealt]
|
||||||
@ -1180,7 +1180,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_grid_exported_from_battery-statealt]
|
# name: test_sensors[sensor.energy_site_grid_exported_from_battery-statealt]
|
||||||
@ -1255,7 +1255,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_grid_exported_from_generator-statealt]
|
# name: test_sensors[sensor.energy_site_grid_exported_from_generator-statealt]
|
||||||
@ -1330,7 +1330,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.002',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_grid_exported_from_solar-statealt]
|
# name: test_sensors[sensor.energy_site_grid_exported_from_solar-statealt]
|
||||||
@ -1405,7 +1405,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_grid_imported-statealt]
|
# name: test_sensors[sensor.energy_site_grid_imported-statealt]
|
||||||
@ -1555,7 +1555,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_grid_services_exported-statealt]
|
# name: test_sensors[sensor.energy_site_grid_services_exported-statealt]
|
||||||
@ -1630,7 +1630,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.0',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_grid_services_imported-statealt]
|
# name: test_sensors[sensor.energy_site_grid_services_imported-statealt]
|
||||||
@ -1780,7 +1780,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.074',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_home_usage-statealt]
|
# name: test_sensors[sensor.energy_site_home_usage-statealt]
|
||||||
@ -2087,7 +2087,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.724',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_solar_exported-statealt]
|
# name: test_sensors[sensor.energy_site_solar_exported-statealt]
|
||||||
@ -2162,7 +2162,7 @@
|
|||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
'state': '0.724',
|
'state': 'unknown',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_sensors[sensor.energy_site_solar_generated-statealt]
|
# name: test_sensors[sensor.energy_site_solar_generated-statealt]
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
"""Test the Telemetry Diagnostics."""
|
"""Test the Telemetry Diagnostics."""
|
||||||
|
|
||||||
|
from freezegun.api import FrozenDateTimeFactory
|
||||||
from syrupy.assertion import SnapshotAssertion
|
from syrupy.assertion import SnapshotAssertion
|
||||||
|
|
||||||
|
from homeassistant.components.teslemetry.coordinator import VEHICLE_INTERVAL
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from . import setup_platform
|
from . import setup_platform
|
||||||
|
|
||||||
|
from tests.common import async_fire_time_changed
|
||||||
from tests.components.diagnostics import get_diagnostics_for_config_entry
|
from tests.components.diagnostics import get_diagnostics_for_config_entry
|
||||||
from tests.typing import ClientSessionGenerator
|
from tests.typing import ClientSessionGenerator
|
||||||
|
|
||||||
@ -14,10 +17,16 @@ async def test_diagnostics(
|
|||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
hass_client: ClientSessionGenerator,
|
hass_client: ClientSessionGenerator,
|
||||||
snapshot: SnapshotAssertion,
|
snapshot: SnapshotAssertion,
|
||||||
|
freezer: FrozenDateTimeFactory,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test diagnostics."""
|
"""Test diagnostics."""
|
||||||
|
|
||||||
entry = await setup_platform(hass)
|
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)
|
diag = await get_diagnostics_for_config_entry(hass, hass_client, entry)
|
||||||
assert diag == snapshot
|
assert diag == snapshot
|
||||||
|
@ -107,20 +107,6 @@ async def test_energy_site_refresh_error(
|
|||||||
assert entry.state is state
|
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(
|
async def test_vehicle_stream(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_add_listener: AsyncMock,
|
mock_add_listener: AsyncMock,
|
||||||
|
@ -9,7 +9,7 @@ from teslemetry_stream import Signal
|
|||||||
|
|
||||||
from homeassistant.components.teslemetry.coordinator import VEHICLE_INTERVAL
|
from homeassistant.components.teslemetry.coordinator import VEHICLE_INTERVAL
|
||||||
from homeassistant.config_entries import ConfigEntryState
|
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.core import HomeAssistant
|
||||||
from homeassistant.helpers import entity_registry as er
|
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."""
|
"""Tests that the sensor entities with the legacy polling are correct."""
|
||||||
|
|
||||||
freezer.move_to("2024-01-01 00:00:00+00:00")
|
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
|
# Force the vehicle to use polling
|
||||||
with patch("tesla_fleet_api.teslemetry.Vehicle.pre2021", return_value=True):
|
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"
|
entity_id = "sensor.energy_site_battery_discharged"
|
||||||
state = hass.states.get(entity_id)
|
state = hass.states.get(entity_id)
|
||||||
assert state.state == "0.036"
|
assert state.state == STATE_UNKNOWN
|
||||||
|
|
||||||
mock_energy_history.return_value = ENERGY_HISTORY_EMPTY
|
mock_energy_history.return_value = ENERGY_HISTORY_EMPTY
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user