This commit is contained in:
G Johansson 2025-01-07 23:07:03 +00:00
parent 2e2c718d94
commit 06f99dc9ba

View File

@ -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