From 06f99dc9ba62ec2303db8b105c18dc0832947e10 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Tue, 7 Jan 2025 23:07:03 +0000 Subject: [PATCH] Mods --- homeassistant/helpers/trigger_template_entity.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/homeassistant/helpers/trigger_template_entity.py b/homeassistant/helpers/trigger_template_entity.py index c1e76882765..cecccea58a3 100644 --- a/homeassistant/helpers/trigger_template_entity.py +++ b/homeassistant/helpers/trigger_template_entity.py @@ -121,6 +121,7 @@ class TriggerBaseEntity(Entity): self._rendered = dict(self._static_rendered) self._parse_result = {CONF_AVAILABILITY} self._attr_device_class = config.get(CONF_DEVICE_CLASS) + self.error = False @property def name(self) -> str | None: @@ -146,7 +147,7 @@ class TriggerBaseEntity(Entity): def available(self) -> bool: """Return availability of the entity.""" return ( - self._rendered is not self._static_rendered + self.error is False and # Check against False so `None` is ok self._rendered.get(CONF_AVAILABILITY) is not False @@ -178,7 +179,8 @@ class TriggerBaseEntity(Entity): def _render_availability_template(self, variables: dict[str, Any]) -> None: """Render availability template.""" - rendered = dict(self._rendered) + self.error = False + rendered = {**self._static_rendered, **self._rendered} key = CONF_AVAILABILITY try: if key in self._to_render_simple: @@ -190,6 +192,7 @@ class TriggerBaseEntity(Entity): logging.getLogger(f"{__package__}.{self.entity_id.split('.')[0]}").error( "Error rendering %s template for %s: %s", key, self.entity_id, err ) + self.error = True self._rendered = rendered def _render_templates(self, variables: dict[str, Any]) -> None: @@ -223,6 +226,7 @@ class TriggerBaseEntity(Entity): logging.getLogger(f"{__package__}.{self.entity_id.split('.')[0]}").error( "Error rendering %s template for %s: %s", key, self.entity_id, err ) + self.error = True return self._rendered = rendered