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