Create stream on demand in Teslemetry (#144777)

Create stream on demand
This commit is contained in:
Brett Adams 2025-05-13 16:05:33 +10:00 committed by GitHub
parent eec617b391
commit d4c2356c70
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -95,13 +95,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: TeslemetryConfigEntry) -
energysites: list[TeslemetryEnergyData] = []
# Create the stream
stream = TeslemetryStream(
session,
access_token,
server=f"{region.lower()}.teslemetry.com",
parse_timestamp=True,
manual=True,
)
stream: TeslemetryStream | None = None
for product in products:
if (
@ -123,6 +117,16 @@ async def async_setup_entry(hass: HomeAssistant, entry: TeslemetryConfigEntry) -
serial_number=vin,
)
# Create stream if required
if not stream:
stream = TeslemetryStream(
session,
access_token,
server=f"{region.lower()}.teslemetry.com",
parse_timestamp=True,
manual=True,
)
remove_listener = stream.async_add_listener(
create_handle_vehicle_stream(vin, coordinator),
{"vin": vin},
@ -240,6 +244,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: TeslemetryConfigEntry) -
entry.runtime_data = TeslemetryData(vehicles, energysites, scopes)
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
if stream:
entry.async_create_background_task(hass, stream.listen(), "Teslemetry Stream")
return True