"""The Teslemetry integration models.""" from __future__ import annotations import asyncio from dataclasses import dataclass from tesla_fleet_api import EnergySpecific, VehicleSpecific from .coordinator import ( TeslemetryEnergyDataCoordinator, TeslemetryVehicleDataCoordinator, ) @dataclass class TeslemetryData: """Data for the Teslemetry integration.""" vehicles: list[TeslemetryVehicleData] energysites: list[TeslemetryEnergyData] @dataclass class TeslemetryVehicleData: """Data for a vehicle in the Teslemetry integration.""" api: VehicleSpecific coordinator: TeslemetryVehicleDataCoordinator vin: str wakelock = asyncio.Lock() @dataclass class TeslemetryEnergyData: """Data for a vehicle in the Teslemetry integration.""" api: EnergySpecific coordinator: TeslemetryEnergyDataCoordinator id: int info: dict[str, str]