From 5ae13c2ae2a4afe4a04e2fa2320f6ec2e8b97e9a Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 18 Jun 2024 20:52:36 -0500 Subject: [PATCH] Make use_device_name a cached_property in the base entity class (#119758) There is a small risk that _attr_name or entity_description would not be set before state was first written, but that would likely be a bug. --- homeassistant/helpers/entity.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/homeassistant/helpers/entity.py b/homeassistant/helpers/entity.py index aab6fa9f59b..cf910a5cba8 100644 --- a/homeassistant/helpers/entity.py +++ b/homeassistant/helpers/entity.py @@ -581,7 +581,7 @@ class Entity( """Return a unique ID.""" return self._attr_unique_id - @property + @cached_property def use_device_name(self) -> bool: """Return if this entity does not have its own name. @@ -589,14 +589,12 @@ class Entity( """ if hasattr(self, "_attr_name"): return not self._attr_name - - if name_translation_key := self._name_translation_key: - if name_translation_key in self.platform.platform_translations: - return False - + if ( + name_translation_key := self._name_translation_key + ) and name_translation_key in self.platform.platform_translations: + return False if hasattr(self, "entity_description"): return not self.entity_description.name - return not self.name @cached_property