Use tracked entity friendly name for proximity sensors (#109744)

user tracked entity friendly name
This commit is contained in:
Michael 2024-02-05 20:18:59 +01:00 committed by GitHub
parent 189f3dacfb
commit 45f44e9216
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 25 additions and 6 deletions

View file

@ -69,6 +69,7 @@ class TrackedEntityDescriptor(NamedTuple):
entity_id: str
identifier: str
name: str
def _device_info(coordinator: ProximityDataUpdateCoordinator) -> DeviceInfo:
@ -95,13 +96,24 @@ async def async_setup_entry(
entity_reg = er.async_get(hass)
for tracked_entity_id in coordinator.tracked_entities:
tracked_entity_object_id = tracked_entity_id.split(".")[-1]
if (entity_entry := entity_reg.async_get(tracked_entity_id)) is not None:
tracked_entity_descriptors.append(
TrackedEntityDescriptor(tracked_entity_id, entity_entry.id)
TrackedEntityDescriptor(
tracked_entity_id,
entity_entry.id,
entity_entry.name
or entity_entry.original_name
or tracked_entity_object_id,
)
)
else:
tracked_entity_descriptors.append(
TrackedEntityDescriptor(tracked_entity_id, tracked_entity_id)
TrackedEntityDescriptor(
tracked_entity_id,
tracked_entity_id,
tracked_entity_object_id,
)
)
entities += [
@ -165,7 +177,7 @@ class ProximityTrackedEntitySensor(
self._attr_unique_id = f"{coordinator.config_entry.entry_id}_{tracked_entity_descriptor.identifier}_{description.key}"
self._attr_device_info = _device_info(coordinator)
self._attr_translation_placeholders = {
"tracked_entity": self.tracked_entity_id.split(".")[-1]
"tracked_entity": tracked_entity_descriptor.name
}
async def async_added_to_hass(self) -> None: