mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
Rename classes in Teslemetry (#144179)
This commit is contained in:
parent
8046684179
commit
87fab1fa14
@ -24,7 +24,7 @@ from .const import TeslemetryState
|
||||
from .entity import (
|
||||
TeslemetryEnergyInfoEntity,
|
||||
TeslemetryEnergyLiveEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .models import TeslemetryEnergyData, TeslemetryVehicleData
|
||||
@ -569,7 +569,7 @@ async def async_setup_entry(
|
||||
|
||||
|
||||
class TeslemetryVehiclePollingBinarySensorEntity(
|
||||
TeslemetryVehicleEntity, BinarySensorEntity
|
||||
TeslemetryVehiclePollingEntity, BinarySensorEntity
|
||||
):
|
||||
"""Base class for Teslemetry vehicle binary sensors."""
|
||||
|
||||
|
@ -13,7 +13,7 @@ from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
||||
|
||||
from . import TeslemetryConfigEntry
|
||||
from .entity import TeslemetryVehicleEntity
|
||||
from .entity import TeslemetryVehiclePollingEntity
|
||||
from .helpers import handle_command, handle_vehicle_command
|
||||
from .models import TeslemetryVehicleData
|
||||
|
||||
@ -73,7 +73,7 @@ async def async_setup_entry(
|
||||
)
|
||||
|
||||
|
||||
class TeslemetryButtonEntity(TeslemetryVehicleEntity, ButtonEntity):
|
||||
class TeslemetryButtonEntity(TeslemetryVehiclePollingEntity, ButtonEntity):
|
||||
"""Base class for Teslemetry buttons."""
|
||||
|
||||
entity_description: TeslemetryButtonEntityDescription
|
||||
|
@ -30,7 +30,7 @@ from . import TeslemetryConfigEntry
|
||||
from .const import DOMAIN, TeslemetryClimateSide
|
||||
from .entity import (
|
||||
TeslemetryRootEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .helpers import handle_vehicle_command
|
||||
@ -64,7 +64,7 @@ async def async_setup_entry(
|
||||
async_add_entities(
|
||||
chain(
|
||||
(
|
||||
TeslemetryPollingClimateEntity(
|
||||
TeslemetryVehiclePollingClimateEntity(
|
||||
vehicle, TeslemetryClimateSide.DRIVER, entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.44.25"
|
||||
@ -74,7 +74,7 @@ async def async_setup_entry(
|
||||
for vehicle in entry.runtime_data.vehicles
|
||||
),
|
||||
(
|
||||
TeslemetryPollingCabinOverheatProtectionEntity(
|
||||
TeslemetryVehiclePollingCabinOverheatProtectionEntity(
|
||||
vehicle, entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.44.25"
|
||||
@ -178,7 +178,9 @@ class TeslemetryClimateEntity(TeslemetryRootEntity, ClimateEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingClimateEntity(TeslemetryClimateEntity, TeslemetryVehicleEntity):
|
||||
class TeslemetryVehiclePollingClimateEntity(
|
||||
TeslemetryClimateEntity, TeslemetryVehiclePollingEntity
|
||||
):
|
||||
"""Polling vehicle climate entity."""
|
||||
|
||||
_attr_supported_features = (
|
||||
@ -430,8 +432,8 @@ class TeslemetryCabinOverheatProtectionEntity(TeslemetryRootEntity, ClimateEntit
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingCabinOverheatProtectionEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryCabinOverheatProtectionEntity
|
||||
class TeslemetryVehiclePollingCabinOverheatProtectionEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryCabinOverheatProtectionEntity
|
||||
):
|
||||
"""Vehicle Cabin Overheat Protection."""
|
||||
|
||||
|
@ -21,7 +21,7 @@ from homeassistant.helpers.restore_state import RestoreEntity
|
||||
from . import TeslemetryConfigEntry
|
||||
from .entity import (
|
||||
TeslemetryRootEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .helpers import handle_vehicle_command
|
||||
@ -43,13 +43,15 @@ async def async_setup_entry(
|
||||
async_add_entities(
|
||||
chain(
|
||||
(
|
||||
TeslemetryPollingWindowEntity(vehicle, entry.runtime_data.scopes)
|
||||
TeslemetryVehiclePollingWindowEntity(vehicle, entry.runtime_data.scopes)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.26"
|
||||
else TeslemetryStreamingWindowEntity(vehicle, entry.runtime_data.scopes)
|
||||
for vehicle in entry.runtime_data.vehicles
|
||||
),
|
||||
(
|
||||
TeslemetryPollingChargePortEntity(vehicle, entry.runtime_data.scopes)
|
||||
TeslemetryVehiclePollingChargePortEntity(
|
||||
vehicle, entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.44.25"
|
||||
else TeslemetryStreamingChargePortEntity(
|
||||
vehicle, entry.runtime_data.scopes
|
||||
@ -57,7 +59,9 @@ async def async_setup_entry(
|
||||
for vehicle in entry.runtime_data.vehicles
|
||||
),
|
||||
(
|
||||
TeslemetryPollingFrontTrunkEntity(vehicle, entry.runtime_data.scopes)
|
||||
TeslemetryVehiclePollingFrontTrunkEntity(
|
||||
vehicle, entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.26"
|
||||
else TeslemetryStreamingFrontTrunkEntity(
|
||||
vehicle, entry.runtime_data.scopes
|
||||
@ -65,7 +69,9 @@ async def async_setup_entry(
|
||||
for vehicle in entry.runtime_data.vehicles
|
||||
),
|
||||
(
|
||||
TeslemetryPollingRearTrunkEntity(vehicle, entry.runtime_data.scopes)
|
||||
TeslemetryVehiclePollingRearTrunkEntity(
|
||||
vehicle, entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.26"
|
||||
else TeslemetryStreamingRearTrunkEntity(
|
||||
vehicle, entry.runtime_data.scopes
|
||||
@ -121,8 +127,8 @@ class TeslemetryWindowEntity(TeslemetryRootEntity, CoverEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingWindowEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryWindowEntity, CoverEntity
|
||||
class TeslemetryVehiclePollingWindowEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryWindowEntity, CoverEntity
|
||||
):
|
||||
"""Polling cover entity for windows."""
|
||||
|
||||
@ -238,8 +244,8 @@ class TeslemetryChargePortEntity(
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingChargePortEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryChargePortEntity
|
||||
class TeslemetryVehiclePollingChargePortEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryChargePortEntity
|
||||
):
|
||||
"""Polling cover entity for the charge port."""
|
||||
|
||||
@ -312,8 +318,8 @@ class TeslemetryFrontTrunkEntity(TeslemetryRootEntity, CoverEntity):
|
||||
# In the future this could be extended to add aftermarket close support through a option flow
|
||||
|
||||
|
||||
class TeslemetryPollingFrontTrunkEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryFrontTrunkEntity
|
||||
class TeslemetryVehiclePollingFrontTrunkEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryFrontTrunkEntity
|
||||
):
|
||||
"""Polling cover entity for the front trunk."""
|
||||
|
||||
@ -381,8 +387,8 @@ class TeslemetryRearTrunkEntity(TeslemetryRootEntity, CoverEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingRearTrunkEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryRearTrunkEntity
|
||||
class TeslemetryVehiclePollingRearTrunkEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryRearTrunkEntity
|
||||
):
|
||||
"""Base class for the rear trunk cover entities."""
|
||||
|
||||
@ -424,7 +430,7 @@ class TeslemetryStreamingRearTrunkEntity(
|
||||
self._attr_is_closed = None if value is None else not value
|
||||
|
||||
|
||||
class TeslemetrySunroofEntity(TeslemetryVehicleEntity, CoverEntity):
|
||||
class TeslemetrySunroofEntity(TeslemetryVehiclePollingEntity, CoverEntity):
|
||||
"""Cover entity for the sunroof."""
|
||||
|
||||
_attr_device_class = CoverDeviceClass.WINDOW
|
||||
|
@ -19,7 +19,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
||||
from homeassistant.helpers.restore_state import RestoreEntity
|
||||
|
||||
from . import TeslemetryConfigEntry
|
||||
from .entity import TeslemetryVehicleEntity, TeslemetryVehicleStreamEntity
|
||||
from .entity import TeslemetryVehiclePollingEntity, TeslemetryVehicleStreamEntity
|
||||
from .models import TeslemetryVehicleData
|
||||
|
||||
PARALLEL_UPDATES = 0
|
||||
@ -74,7 +74,8 @@ async def async_setup_entry(
|
||||
"""Set up the Teslemetry device tracker platform from a config entry."""
|
||||
|
||||
entities: list[
|
||||
TeslemetryPollingDeviceTrackerEntity | TeslemetryStreamingDeviceTrackerEntity
|
||||
TeslemetryVehiclePollingDeviceTrackerEntity
|
||||
| TeslemetryStreamingDeviceTrackerEntity
|
||||
] = []
|
||||
# Only add vehicle location entities if the user has granted vehicle location scope.
|
||||
if Scope.VEHICLE_LOCATION not in entry.runtime_data.scopes:
|
||||
@ -85,7 +86,9 @@ async def async_setup_entry(
|
||||
if vehicle.api.pre2021 or vehicle.firmware < description.streaming_firmware:
|
||||
if description.polling_prefix:
|
||||
entities.append(
|
||||
TeslemetryPollingDeviceTrackerEntity(vehicle, description)
|
||||
TeslemetryVehiclePollingDeviceTrackerEntity(
|
||||
vehicle, description
|
||||
)
|
||||
)
|
||||
else:
|
||||
entities.append(
|
||||
@ -95,7 +98,9 @@ async def async_setup_entry(
|
||||
async_add_entities(entities)
|
||||
|
||||
|
||||
class TeslemetryPollingDeviceTrackerEntity(TeslemetryVehicleEntity, TrackerEntity):
|
||||
class TeslemetryVehiclePollingDeviceTrackerEntity(
|
||||
TeslemetryVehiclePollingEntity, TrackerEntity
|
||||
):
|
||||
"""Base class for Teslemetry Tracker Entities."""
|
||||
|
||||
entity_description: TeslemetryDeviceTrackerEntityDescription
|
||||
|
@ -38,7 +38,7 @@ class TeslemetryRootEntity(Entity):
|
||||
)
|
||||
|
||||
|
||||
class TeslemetryEntity(
|
||||
class TeslemetryPollingEntity(
|
||||
TeslemetryRootEntity,
|
||||
CoordinatorEntity[
|
||||
TeslemetryVehicleDataCoordinator
|
||||
@ -98,7 +98,7 @@ class TeslemetryEntity(
|
||||
"""Update the attributes of the entity."""
|
||||
|
||||
|
||||
class TeslemetryVehicleEntity(TeslemetryEntity):
|
||||
class TeslemetryVehiclePollingEntity(TeslemetryPollingEntity):
|
||||
"""Parent class for Teslemetry Vehicle entities."""
|
||||
|
||||
_last_update: int = 0
|
||||
@ -130,7 +130,7 @@ class TeslemetryVehicleEntity(TeslemetryEntity):
|
||||
return self.coordinator.data.get(self.key)
|
||||
|
||||
|
||||
class TeslemetryEnergyLiveEntity(TeslemetryEntity):
|
||||
class TeslemetryEnergyLiveEntity(TeslemetryPollingEntity):
|
||||
"""Parent class for Teslemetry Energy Site Live entities."""
|
||||
|
||||
api: EnergySite
|
||||
@ -151,7 +151,7 @@ class TeslemetryEnergyLiveEntity(TeslemetryEntity):
|
||||
super().__init__(data.live_coordinator, key)
|
||||
|
||||
|
||||
class TeslemetryEnergyInfoEntity(TeslemetryEntity):
|
||||
class TeslemetryEnergyInfoEntity(TeslemetryPollingEntity):
|
||||
"""Parent class for Teslemetry Energy Site Info Entities."""
|
||||
|
||||
api: EnergySite
|
||||
@ -170,7 +170,7 @@ class TeslemetryEnergyInfoEntity(TeslemetryEntity):
|
||||
super().__init__(data.info_coordinator, key)
|
||||
|
||||
|
||||
class TeslemetryEnergyHistoryEntity(TeslemetryEntity):
|
||||
class TeslemetryEnergyHistoryEntity(TeslemetryPollingEntity):
|
||||
"""Parent class for Teslemetry Energy History Entities."""
|
||||
|
||||
def __init__(
|
||||
@ -189,7 +189,7 @@ class TeslemetryEnergyHistoryEntity(TeslemetryEntity):
|
||||
super().__init__(data.history_coordinator, key)
|
||||
|
||||
|
||||
class TeslemetryWallConnectorEntity(TeslemetryEntity):
|
||||
class TeslemetryWallConnectorEntity(TeslemetryPollingEntity):
|
||||
"""Parent class for Teslemetry Wall Connector Entities."""
|
||||
|
||||
_attr_has_entity_name = True
|
||||
|
@ -17,7 +17,7 @@ from . import TeslemetryConfigEntry
|
||||
from .const import DOMAIN
|
||||
from .entity import (
|
||||
TeslemetryRootEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .helpers import handle_vehicle_command
|
||||
@ -38,7 +38,7 @@ async def async_setup_entry(
|
||||
async_add_entities(
|
||||
chain(
|
||||
(
|
||||
TeslemetryPollingVehicleLockEntity(
|
||||
TeslemetryVehiclePollingVehicleLockEntity(
|
||||
vehicle, Scope.VEHICLE_CMDS in entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.26"
|
||||
@ -48,7 +48,7 @@ async def async_setup_entry(
|
||||
for vehicle in entry.runtime_data.vehicles
|
||||
),
|
||||
(
|
||||
TeslemetryPollingCableLockEntity(
|
||||
TeslemetryVehiclePollingCableLockEntity(
|
||||
vehicle, Scope.VEHICLE_CMDS in entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.26"
|
||||
@ -81,8 +81,8 @@ class TeslemetryVehicleLockEntity(TeslemetryRootEntity, LockEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingVehicleLockEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryVehicleLockEntity
|
||||
class TeslemetryVehiclePollingVehicleLockEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryVehicleLockEntity
|
||||
):
|
||||
"""Polling vehicle lock entity for Teslemetry."""
|
||||
|
||||
@ -152,8 +152,8 @@ class TeslemetryCableLockEntity(TeslemetryRootEntity, LockEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingCableLockEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryCableLockEntity
|
||||
class TeslemetryVehiclePollingCableLockEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryCableLockEntity
|
||||
):
|
||||
"""Polling cable lock entity for Teslemetry."""
|
||||
|
||||
|
@ -18,7 +18,7 @@ from homeassistant.helpers.restore_state import RestoreEntity
|
||||
from . import TeslemetryConfigEntry
|
||||
from .entity import (
|
||||
TeslemetryRootEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .helpers import handle_vehicle_command
|
||||
@ -52,7 +52,7 @@ async def async_setup_entry(
|
||||
"""Set up the Teslemetry Media platform from a config entry."""
|
||||
|
||||
async_add_entities(
|
||||
TeslemetryPollingMediaEntity(vehicle, entry.runtime_data.scopes)
|
||||
TeslemetryVehiclePollingMediaEntity(vehicle, entry.runtime_data.scopes)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2025.2.6"
|
||||
else TeslemetryStreamingMediaEntity(vehicle, entry.runtime_data.scopes)
|
||||
for vehicle in entry.runtime_data.vehicles
|
||||
@ -107,7 +107,9 @@ class TeslemetryMediaEntity(TeslemetryRootEntity, MediaPlayerEntity):
|
||||
await handle_vehicle_command(self.api.media_prev_track())
|
||||
|
||||
|
||||
class TeslemetryPollingMediaEntity(TeslemetryVehicleEntity, TeslemetryMediaEntity):
|
||||
class TeslemetryVehiclePollingMediaEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryMediaEntity
|
||||
):
|
||||
"""Polling vehicle media player class."""
|
||||
|
||||
def __init__(
|
||||
|
@ -33,7 +33,7 @@ from . import TeslemetryConfigEntry
|
||||
from .entity import (
|
||||
TeslemetryEnergyInfoEntity,
|
||||
TeslemetryRootEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .helpers import handle_command, handle_vehicle_command
|
||||
@ -140,7 +140,7 @@ async def async_setup_entry(
|
||||
async_add_entities(
|
||||
chain(
|
||||
(
|
||||
TeslemetryPollingNumberEntity(
|
||||
TeslemetryVehiclePollingNumberEntity(
|
||||
vehicle,
|
||||
description,
|
||||
entry.runtime_data.scopes,
|
||||
@ -183,8 +183,8 @@ class TeslemetryVehicleNumberEntity(TeslemetryRootEntity, NumberEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingNumberEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryVehicleNumberEntity
|
||||
class TeslemetryVehiclePollingNumberEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryVehicleNumberEntity
|
||||
):
|
||||
"""Vehicle polling number entity."""
|
||||
|
||||
|
@ -20,7 +20,7 @@ from . import TeslemetryConfigEntry
|
||||
from .entity import (
|
||||
TeslemetryEnergyInfoEntity,
|
||||
TeslemetryRootEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .helpers import handle_command, handle_vehicle_command
|
||||
@ -177,7 +177,7 @@ async def async_setup_entry(
|
||||
async_add_entities(
|
||||
chain(
|
||||
(
|
||||
TeslemetryPollingSelectEntity(
|
||||
TeslemetryVehiclePollingSelectEntity(
|
||||
vehicle, description, entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021
|
||||
@ -223,7 +223,9 @@ class TeslemetrySelectEntity(TeslemetryRootEntity, SelectEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingSelectEntity(TeslemetryVehicleEntity, TeslemetrySelectEntity):
|
||||
class TeslemetryVehiclePollingSelectEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetrySelectEntity
|
||||
):
|
||||
"""Base polling vehicle select entity class."""
|
||||
|
||||
def __init__(
|
||||
|
@ -41,7 +41,7 @@ from .entity import (
|
||||
TeslemetryEnergyHistoryEntity,
|
||||
TeslemetryEnergyInfoEntity,
|
||||
TeslemetryEnergyLiveEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
TeslemetryWallConnectorEntity,
|
||||
)
|
||||
@ -1633,7 +1633,7 @@ class TeslemetryStreamSensorEntity(TeslemetryVehicleStreamEntity, RestoreSensor)
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryVehicleSensorEntity(TeslemetryVehicleEntity, SensorEntity):
|
||||
class TeslemetryVehicleSensorEntity(TeslemetryVehiclePollingEntity, SensorEntity):
|
||||
"""Base class for Teslemetry vehicle metric sensors."""
|
||||
|
||||
entity_description: TeslemetryVehicleSensorEntityDescription
|
||||
@ -1696,7 +1696,7 @@ class TeslemetryStreamTimeSensorEntity(TeslemetryVehicleStreamEntity, SensorEnti
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryVehicleTimeSensorEntity(TeslemetryVehicleEntity, SensorEntity):
|
||||
class TeslemetryVehicleTimeSensorEntity(TeslemetryVehiclePollingEntity, SensorEntity):
|
||||
"""Base class for Teslemetry vehicle time sensors."""
|
||||
|
||||
entity_description: TeslemetryTimeEntityDescription
|
||||
|
@ -25,7 +25,7 @@ from . import TeslemetryConfigEntry
|
||||
from .entity import (
|
||||
TeslemetryEnergyInfoEntity,
|
||||
TeslemetryRootEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .helpers import handle_command, handle_vehicle_command
|
||||
@ -134,7 +134,7 @@ async def async_setup_entry(
|
||||
async_add_entities(
|
||||
chain(
|
||||
(
|
||||
TeslemetryPollingVehicleSwitchEntity(
|
||||
TeslemetryVehiclePollingVehicleSwitchEntity(
|
||||
vehicle, description, entry.runtime_data.scopes
|
||||
)
|
||||
if vehicle.api.pre2021
|
||||
@ -184,8 +184,8 @@ class TeslemetryVehicleSwitchEntity(TeslemetryRootEntity, SwitchEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingVehicleSwitchEntity(
|
||||
TeslemetryVehicleEntity, TeslemetryVehicleSwitchEntity
|
||||
class TeslemetryVehiclePollingVehicleSwitchEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryVehicleSwitchEntity
|
||||
):
|
||||
"""Base class for Teslemetry polling vehicle switch entities."""
|
||||
|
||||
|
@ -15,7 +15,7 @@ from homeassistant.helpers.restore_state import RestoreEntity
|
||||
from . import TeslemetryConfigEntry
|
||||
from .entity import (
|
||||
TeslemetryRootEntity,
|
||||
TeslemetryVehicleEntity,
|
||||
TeslemetryVehiclePollingEntity,
|
||||
TeslemetryVehicleStreamEntity,
|
||||
)
|
||||
from .helpers import handle_vehicle_command
|
||||
@ -38,7 +38,7 @@ async def async_setup_entry(
|
||||
"""Set up the Teslemetry update platform from a config entry."""
|
||||
|
||||
async_add_entities(
|
||||
TeslemetryPollingUpdateEntity(vehicle, entry.runtime_data.scopes)
|
||||
TeslemetryVehiclePollingUpdateEntity(vehicle, entry.runtime_data.scopes)
|
||||
if vehicle.api.pre2021 or vehicle.firmware < "2024.44.25"
|
||||
else TeslemetryStreamingUpdateEntity(vehicle, entry.runtime_data.scopes)
|
||||
for vehicle in entry.runtime_data.vehicles
|
||||
@ -62,7 +62,9 @@ class TeslemetryUpdateEntity(TeslemetryRootEntity, UpdateEntity):
|
||||
self.async_write_ha_state()
|
||||
|
||||
|
||||
class TeslemetryPollingUpdateEntity(TeslemetryVehicleEntity, TeslemetryUpdateEntity):
|
||||
class TeslemetryVehiclePollingUpdateEntity(
|
||||
TeslemetryVehiclePollingEntity, TeslemetryUpdateEntity
|
||||
):
|
||||
"""Teslemetry Updates entity."""
|
||||
|
||||
def __init__(
|
||||
|
Loading…
x
Reference in New Issue
Block a user