From 9d32d70788fd0cc459992b8943162c2cd5859daa Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Tue, 29 Sep 2026 22:03:09 +1000 Subject: [PATCH] Skip Teslemetry streaming setup for polling vehicles (#183455) --- homeassistant/components/teslemetry/__init__.py | 6 +++++- tests/components/teslemetry/test_init.py | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/teslemetry/__init__.py b/homeassistant/components/teslemetry/__init__.py index 1502297d9b51..7657e5a9c28b 100644 --- a/homeassistant/components/teslemetry/__init__.py +++ b/homeassistant/components/teslemetry/__init__.py @@ -807,7 +807,11 @@ async def async_setup_entry(hass: HomeAssistant, entry: TeslemetryConfigEntry) - # Run all first refreshes await asyncio.gather( - *(async_setup_stream(hass, entry, vehicle) for vehicle in vehicles), + *( + async_setup_stream(hass, entry, vehicle) + for vehicle in vehicles + if not vehicle.poll + ), *( vehicle.coordinator.async_config_entry_first_refresh() for vehicle in vehicles diff --git a/tests/components/teslemetry/test_init.py b/tests/components/teslemetry/test_init.py index 0268a28f8a16..655c75a0e146 100644 --- a/tests/components/teslemetry/test_init.py +++ b/tests/components/teslemetry/test_init.py @@ -869,6 +869,20 @@ async def test_vehicle_polling_version_update( assert device.sw_version == "2026.2.0" +@pytest.mark.usefixtures("mock_legacy") +async def test_polling_vehicle_skips_stream_setup( + hass: HomeAssistant, + mock_stream_get_config: AsyncMock, + mock_stream_update_config: AsyncMock, +) -> None: + """A polling vehicle never reads or changes its streaming config.""" + entry = await setup_platform(hass) + assert entry.state is ConfigEntryState.LOADED + + mock_stream_get_config.assert_not_called() + mock_stream_update_config.assert_not_called() + + @pytest.mark.parametrize( ("keep_one_enabled", "expected_polled"), [