From 469176c59ba993c86593125dc8f95b3e40e965e6 Mon Sep 17 00:00:00 2001 From: Petro31 <35082313+Petro31@users.noreply.github.com> Date: Mon, 28 Apr 2025 08:32:16 -0400 Subject: [PATCH] Fix trigger template entity issue when coordinator data is None (#143830) Fix issue when coordinator data is None --- .../components/template/trigger_entity.py | 4 +++- tests/components/template/test_trigger_entity.py | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) 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}