From ab83ec61e0f28dec725547a5af198be3e64d1cc6 Mon Sep 17 00:00:00 2001 From: Michael Hansen Date: Tue, 3 Dec 2024 12:37:05 -0600 Subject: [PATCH] Ensure entity names are not hassil templates (#132184) --- .../components/conversation/default_agent.py | 2 +- .../conversation/test_default_agent.py | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/conversation/default_agent.py b/homeassistant/components/conversation/default_agent.py index 59c09232b93..624fa3c3555 100644 --- a/homeassistant/components/conversation/default_agent.py +++ b/homeassistant/components/conversation/default_agent.py @@ -711,7 +711,7 @@ class DefaultAgent(ConversationEntity): for name_tuple in self._get_entity_name_tuples(exposed=False): self._unexposed_names_trie.insert( name_tuple[0].lower(), - TextSlotValue.from_tuple(name_tuple), + TextSlotValue.from_tuple(name_tuple, allow_template=False), ) # Build filtered slot list diff --git a/tests/components/conversation/test_default_agent.py b/tests/components/conversation/test_default_agent.py index dab1e61ab81..58d2b0d48bf 100644 --- a/tests/components/conversation/test_default_agent.py +++ b/tests/components/conversation/test_default_agent.py @@ -3013,3 +3013,39 @@ async def test_entities_filtered_by_input(hass: HomeAssistant) -> None: assert len(name_list.values) == 2 assert name_list.values[0].text_in.text == "test light" assert name_list.values[1].text_in.text == "test light" + + +@pytest.mark.usefixtures("init_components") +async def test_entities_names_are_not_templates(hass: HomeAssistant) -> None: + """Test that entities names are not treated as hassil templates.""" + # Contains hassil template characters + hass.states.async_set( + "light.test_light", "off", attributes={ATTR_FRIENDLY_NAME: "