1 """The Teslemetry integration models."""
3 from __future__
import annotations
6 from collections.abc
import Callable
7 from dataclasses
import dataclass
9 from tesla_fleet_api
import EnergySpecific, VehicleSpecific
10 from tesla_fleet_api.const
import Scope
11 from teslemetry_stream
import TeslemetryStream
15 from .coordinator
import (
16 TeslemetryEnergyHistoryCoordinator,
17 TeslemetryEnergySiteInfoCoordinator,
18 TeslemetryEnergySiteLiveCoordinator,
19 TeslemetryVehicleDataCoordinator,
25 """Data for the Teslemetry integration."""
27 vehicles: list[TeslemetryVehicleData]
28 energysites: list[TeslemetryEnergyData]
34 """Data for a vehicle in the Teslemetry integration."""
37 coordinator: TeslemetryVehicleDataCoordinator
38 stream: TeslemetryStream
40 wakelock = asyncio.Lock()
42 remove_listener: Callable
47 """Data for a vehicle in the Teslemetry integration."""
50 live_coordinator: TeslemetryEnergySiteLiveCoordinator
51 info_coordinator: TeslemetryEnergySiteInfoCoordinator
52 history_coordinator: TeslemetryEnergyHistoryCoordinator |
None