mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Add warning when entity used in template doesn't exist (#57316)
This commit is contained in:
parent
9c1bee9c16
commit
d9b87ee5c5
@ -831,7 +831,12 @@ def _get_state_if_valid(hass: HomeAssistant, entity_id: str) -> TemplateState |
|
|||||||
|
|
||||||
|
|
||||||
def _get_state(hass: HomeAssistant, entity_id: str) -> TemplateState | None:
|
def _get_state(hass: HomeAssistant, entity_id: str) -> TemplateState | None:
|
||||||
return _get_template_state_from_state(hass, entity_id, hass.states.get(entity_id))
|
state_obj = _get_template_state_from_state(
|
||||||
|
hass, entity_id, hass.states.get(entity_id)
|
||||||
|
)
|
||||||
|
if state_obj is None:
|
||||||
|
_LOGGER.warning("Template warning: entity '%s' doesn't exist", entity_id)
|
||||||
|
return state_obj
|
||||||
|
|
||||||
|
|
||||||
def _get_template_state_from_state(
|
def _get_template_state_from_state(
|
||||||
|
@ -3206,3 +3206,21 @@ async def test_undefined_variable(hass, caplog):
|
|||||||
"Template variable warning: 'no_such_variable' is undefined when rendering '{{ no_such_variable }}'"
|
"Template variable warning: 'no_such_variable' is undefined when rendering '{{ no_such_variable }}'"
|
||||||
in caplog.text
|
in caplog.text
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_missing_entity(hass, caplog):
|
||||||
|
"""Test a warning is logged on missing entity."""
|
||||||
|
hass.states.async_set("binary_sensor.active", "on")
|
||||||
|
valid_template = template.Template(
|
||||||
|
"{{ is_state('binary_sensor.active', 'on') }}", hass
|
||||||
|
)
|
||||||
|
invalid_template = template.Template(
|
||||||
|
"{{ is_state('binary_sensor.abcde', 'on') }}", hass
|
||||||
|
)
|
||||||
|
assert valid_template.async_render() is True
|
||||||
|
assert invalid_template.async_render() is False
|
||||||
|
assert (
|
||||||
|
"Template warning: entity 'binary_sensor.active' doesn't exist"
|
||||||
|
not in caplog.text
|
||||||
|
)
|
||||||
|
assert "Template warning: entity 'binary_sensor.abcde' doesn't exist" in caplog.text
|
||||||
|
Loading…
x
Reference in New Issue
Block a user