diff --git a/homeassistant/components/template/trigger_entity.py b/homeassistant/components/template/trigger_entity.py index d440d626606..4565e86843a 100644 --- a/homeassistant/components/template/trigger_entity.py +++ b/homeassistant/components/template/trigger_entity.py @@ -63,7 +63,9 @@ class TriggerEntity( # pylint: disable=hass-enforce-class-module @callback def _render_script_variables(self) -> dict: """Render configured variables.""" - return self.coordinator.data["run_variables"] + if self.coordinator.data is None: + return {} + return self.coordinator.data["run_variables"] or {} def _render_templates(self, variables: dict[str, Any]) -> None: """Render templates.""" diff --git a/tests/components/template/test_trigger_entity.py b/tests/components/template/test_trigger_entity.py index 2f7e974e727..65db69fa2b9 100644 --- a/tests/components/template/test_trigger_entity.py +++ b/tests/components/template/test_trigger_entity.py @@ -118,3 +118,19 @@ async def test_template_state_syntax_error( assert entity.state is None assert entity.icon is None assert entity.entity_picture is None + + +async def test_script_variables_from_coordinator(hass: HomeAssistant) -> None: + """Test script variables.""" + coordinator = TriggerUpdateCoordinator(hass, {}) + entity = TestEntity(hass, coordinator, {}) + + assert entity._render_script_variables() == {} + + coordinator.data = {"run_variables": None} + + assert entity._render_script_variables() == {} + + coordinator._execute_update({"value": STATE_ON}) + + assert entity._render_script_variables() == {"value": STATE_ON}