mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
Migrate Tractive to new entity naming style (#75184)
This commit is contained in:
parent
d8f3044ffa
commit
cd223d91bb
@ -31,13 +31,14 @@ TRACKERS_WITH_BUILTIN_BATTERY = ("TRNJA4", "TRAXL1")
|
|||||||
class TractiveBinarySensor(TractiveEntity, BinarySensorEntity):
|
class TractiveBinarySensor(TractiveEntity, BinarySensorEntity):
|
||||||
"""Tractive sensor."""
|
"""Tractive sensor."""
|
||||||
|
|
||||||
|
_attr_has_entity_name = True
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, user_id: str, item: Trackables, description: BinarySensorEntityDescription
|
self, user_id: str, item: Trackables, description: BinarySensorEntityDescription
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize sensor entity."""
|
"""Initialize sensor entity."""
|
||||||
super().__init__(user_id, item.trackable, item.tracker_details)
|
super().__init__(user_id, item.trackable, item.tracker_details)
|
||||||
|
|
||||||
self._attr_name = f"{item.trackable['details']['name']} {description.name}"
|
|
||||||
self._attr_unique_id = f"{item.trackable['_id']}_{description.key}"
|
self._attr_unique_id = f"{item.trackable['_id']}_{description.key}"
|
||||||
self.entity_description = description
|
self.entity_description = description
|
||||||
|
|
||||||
@ -76,7 +77,7 @@ class TractiveBinarySensor(TractiveEntity, BinarySensorEntity):
|
|||||||
|
|
||||||
SENSOR_TYPE = BinarySensorEntityDescription(
|
SENSOR_TYPE = BinarySensorEntityDescription(
|
||||||
key=ATTR_BATTERY_CHARGING,
|
key=ATTR_BATTERY_CHARGING,
|
||||||
name="Battery Charging",
|
name="Tracker battery charging",
|
||||||
device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
|
device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
)
|
)
|
||||||
|
@ -40,7 +40,9 @@ async def async_setup_entry(
|
|||||||
class TractiveDeviceTracker(TractiveEntity, TrackerEntity):
|
class TractiveDeviceTracker(TractiveEntity, TrackerEntity):
|
||||||
"""Tractive device tracker."""
|
"""Tractive device tracker."""
|
||||||
|
|
||||||
|
_attr_has_entity_name = True
|
||||||
_attr_icon = "mdi:paw"
|
_attr_icon = "mdi:paw"
|
||||||
|
_attr_name = "Tracker"
|
||||||
|
|
||||||
def __init__(self, user_id: str, item: Trackables) -> None:
|
def __init__(self, user_id: str, item: Trackables) -> None:
|
||||||
"""Initialize tracker entity."""
|
"""Initialize tracker entity."""
|
||||||
@ -51,8 +53,6 @@ class TractiveDeviceTracker(TractiveEntity, TrackerEntity):
|
|||||||
self._longitude: float = item.pos_report["latlong"][1]
|
self._longitude: float = item.pos_report["latlong"][1]
|
||||||
self._accuracy: int = item.pos_report["pos_uncertainty"]
|
self._accuracy: int = item.pos_report["pos_uncertainty"]
|
||||||
self._source_type: str = item.pos_report["sensor_used"]
|
self._source_type: str = item.pos_report["sensor_used"]
|
||||||
|
|
||||||
self._attr_name = f"{self._tracker_id} {item.trackable['details']['name']}"
|
|
||||||
self._attr_unique_id = item.trackable["_id"]
|
self._attr_unique_id = item.trackable["_id"]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -18,7 +18,7 @@ class TractiveEntity(Entity):
|
|||||||
self._attr_device_info = DeviceInfo(
|
self._attr_device_info = DeviceInfo(
|
||||||
configuration_url="https://my.tractive.com/",
|
configuration_url="https://my.tractive.com/",
|
||||||
identifiers={(DOMAIN, tracker_details["_id"])},
|
identifiers={(DOMAIN, tracker_details["_id"])},
|
||||||
name=f"Tractive ({tracker_details['_id']})",
|
name=trackable["details"]["name"],
|
||||||
manufacturer="Tractive GmbH",
|
manufacturer="Tractive GmbH",
|
||||||
sw_version=tracker_details["fw_version"],
|
sw_version=tracker_details["fw_version"],
|
||||||
model=tracker_details["model_number"],
|
model=tracker_details["model_number"],
|
||||||
|
@ -48,6 +48,8 @@ class TractiveSensorEntityDescription(
|
|||||||
class TractiveSensor(TractiveEntity, SensorEntity):
|
class TractiveSensor(TractiveEntity, SensorEntity):
|
||||||
"""Tractive sensor."""
|
"""Tractive sensor."""
|
||||||
|
|
||||||
|
_attr_has_entity_name = True
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
user_id: str,
|
user_id: str,
|
||||||
@ -57,7 +59,6 @@ class TractiveSensor(TractiveEntity, SensorEntity):
|
|||||||
"""Initialize sensor entity."""
|
"""Initialize sensor entity."""
|
||||||
super().__init__(user_id, item.trackable, item.tracker_details)
|
super().__init__(user_id, item.trackable, item.tracker_details)
|
||||||
|
|
||||||
self._attr_name = f"{item.trackable['details']['name']} {description.name}"
|
|
||||||
self._attr_unique_id = f"{item.trackable['_id']}_{description.key}"
|
self._attr_unique_id = f"{item.trackable['_id']}_{description.key}"
|
||||||
self.entity_description = description
|
self.entity_description = description
|
||||||
|
|
||||||
@ -133,7 +134,7 @@ class TractiveActivitySensor(TractiveSensor):
|
|||||||
SENSOR_TYPES: tuple[TractiveSensorEntityDescription, ...] = (
|
SENSOR_TYPES: tuple[TractiveSensorEntityDescription, ...] = (
|
||||||
TractiveSensorEntityDescription(
|
TractiveSensorEntityDescription(
|
||||||
key=ATTR_BATTERY_LEVEL,
|
key=ATTR_BATTERY_LEVEL,
|
||||||
name="Battery Level",
|
name="Tracker battery level",
|
||||||
native_unit_of_measurement=PERCENTAGE,
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
device_class=SensorDeviceClass.BATTERY,
|
device_class=SensorDeviceClass.BATTERY,
|
||||||
entity_class=TractiveHardwareSensor,
|
entity_class=TractiveHardwareSensor,
|
||||||
@ -149,14 +150,14 @@ SENSOR_TYPES: tuple[TractiveSensorEntityDescription, ...] = (
|
|||||||
),
|
),
|
||||||
TractiveSensorEntityDescription(
|
TractiveSensorEntityDescription(
|
||||||
key=ATTR_MINUTES_ACTIVE,
|
key=ATTR_MINUTES_ACTIVE,
|
||||||
name="Minutes Active",
|
name="Minutes active",
|
||||||
icon="mdi:clock-time-eight-outline",
|
icon="mdi:clock-time-eight-outline",
|
||||||
native_unit_of_measurement=TIME_MINUTES,
|
native_unit_of_measurement=TIME_MINUTES,
|
||||||
entity_class=TractiveActivitySensor,
|
entity_class=TractiveActivitySensor,
|
||||||
),
|
),
|
||||||
TractiveSensorEntityDescription(
|
TractiveSensorEntityDescription(
|
||||||
key=ATTR_DAILY_GOAL,
|
key=ATTR_DAILY_GOAL,
|
||||||
name="Daily Goal",
|
name="Daily goal",
|
||||||
icon="mdi:flag-checkered",
|
icon="mdi:flag-checkered",
|
||||||
native_unit_of_measurement=TIME_MINUTES,
|
native_unit_of_measurement=TIME_MINUTES,
|
||||||
entity_class=TractiveActivitySensor,
|
entity_class=TractiveActivitySensor,
|
||||||
|
@ -47,7 +47,7 @@ class TractiveSwitchEntityDescription(
|
|||||||
SWITCH_TYPES: tuple[TractiveSwitchEntityDescription, ...] = (
|
SWITCH_TYPES: tuple[TractiveSwitchEntityDescription, ...] = (
|
||||||
TractiveSwitchEntityDescription(
|
TractiveSwitchEntityDescription(
|
||||||
key=ATTR_BUZZER,
|
key=ATTR_BUZZER,
|
||||||
name="Tracker Buzzer",
|
name="Tracker buzzer",
|
||||||
icon="mdi:volume-high",
|
icon="mdi:volume-high",
|
||||||
method="async_set_buzzer",
|
method="async_set_buzzer",
|
||||||
entity_category=EntityCategory.CONFIG,
|
entity_category=EntityCategory.CONFIG,
|
||||||
@ -61,7 +61,7 @@ SWITCH_TYPES: tuple[TractiveSwitchEntityDescription, ...] = (
|
|||||||
),
|
),
|
||||||
TractiveSwitchEntityDescription(
|
TractiveSwitchEntityDescription(
|
||||||
key=ATTR_LIVE_TRACKING,
|
key=ATTR_LIVE_TRACKING,
|
||||||
name="Live Tracking",
|
name="Live tracking",
|
||||||
icon="mdi:map-marker-path",
|
icon="mdi:map-marker-path",
|
||||||
method="async_set_live_tracking",
|
method="async_set_live_tracking",
|
||||||
entity_category=EntityCategory.CONFIG,
|
entity_category=EntityCategory.CONFIG,
|
||||||
@ -88,6 +88,7 @@ async def async_setup_entry(
|
|||||||
class TractiveSwitch(TractiveEntity, SwitchEntity):
|
class TractiveSwitch(TractiveEntity, SwitchEntity):
|
||||||
"""Tractive switch."""
|
"""Tractive switch."""
|
||||||
|
|
||||||
|
_attr_has_entity_name = True
|
||||||
entity_description: TractiveSwitchEntityDescription
|
entity_description: TractiveSwitchEntityDescription
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
@ -99,7 +100,6 @@ class TractiveSwitch(TractiveEntity, SwitchEntity):
|
|||||||
"""Initialize switch entity."""
|
"""Initialize switch entity."""
|
||||||
super().__init__(user_id, item.trackable, item.tracker_details)
|
super().__init__(user_id, item.trackable, item.tracker_details)
|
||||||
|
|
||||||
self._attr_name = f"{item.trackable['details']['name']} {description.name}"
|
|
||||||
self._attr_unique_id = f"{item.trackable['_id']}_{description.key}"
|
self._attr_unique_id = f"{item.trackable['_id']}_{description.key}"
|
||||||
self._attr_available = False
|
self._attr_available = False
|
||||||
self._tracker = item.tracker
|
self._tracker = item.tracker
|
||||||
|
Loading…
x
Reference in New Issue
Block a user