diff --git a/homeassistant/components/template/template_entity.py b/homeassistant/components/template/template_entity.py index 5e592e5d717..d7d6ab46c62 100644 --- a/homeassistant/components/template/template_entity.py +++ b/homeassistant/components/template/template_entity.py @@ -27,7 +27,11 @@ from homeassistant.helpers.event import ( TrackTemplateResult, async_track_template_result, ) -from homeassistant.helpers.template import Template, result_as_boolean +from homeassistant.helpers.template import ( + Template, + TemplateStateFromEntityId, + result_as_boolean, +) from .const import ( CONF_ATTRIBUTE_TEMPLATES, @@ -368,8 +372,11 @@ class TemplateEntity(Entity): async def _async_template_startup(self, *_) -> None: template_var_tups: list[TrackTemplate] = [] has_availability_template = False + + values = {"this": TemplateStateFromEntityId(self.hass, self.entity_id)} + for template, attributes in self._template_attrs.items(): - template_var_tup = TrackTemplate(template, None) + template_var_tup = TrackTemplate(template, values) is_availability_template = False for attribute in attributes: # pylint: disable-next=protected-access diff --git a/homeassistant/helpers/template.py b/homeassistant/helpers/template.py index 9003fc2daf3..a8eb96c5ad1 100644 --- a/homeassistant/helpers/template.py +++ b/homeassistant/helpers/template.py @@ -719,22 +719,24 @@ class DomainStates: return f"