v0.1.1
0.1.1
This update improves which missing entity references are detected in UI-created Template Helpers and reduces false findings from text that only looks like a real template reference.
-
Entity reference detection
has_value()calls are now checked: Home Assistant useshas_value('entity.id')to test whether an entity currently has a usable value. In v0.1.0, an entity ID used only in this function was not inspected. v0.1.1 checks a static ID such ashas_value('binary_sensor.garage_door')against both current states and the Entity Registry, so typos and deleted entities now appear inmissing_entities.- Static
expand()collections are checked individually:expand()turns entities and groups into a collection of entity states. In v0.1.0, literal lists were treated as fully dynamic and their individual IDs were skipped. v0.1.1 checks IDs passed as a single literal, multiple arguments, a list, or a tuple. For example, both entities inexpand(['media_player.kitchen', 'media_player.living_room'])are checked separately. - Mixed
expand()collections remain safe: Inexpand(['sensor.fixed_source', selected_entity]), the fixed entity is checked while the variable part is reported as dynamic. Template Entity Checker never guesses the value of a variable entity ID.
-
Template Helper coverage
- More actual template fields are scanned: Coverage now includes the confirmed template fields for all 17 UI-created Template Helper types in Home Assistant 2026.7.3.
- Templates outside the main state field are included: Depending on the helper type, this includes availability, position, version, weather, and device-tracker location templates.
- Unrelated settings stay excluded: Names, metadata, actions, service targets, ordinary dropdown values, and other non-template settings are not treated as templates. The Select Template Helper's templated
optionsfield remains included because Home Assistant defines it as a real template field.
-
Parser reliability
- Fewer false findings: Function-like text inside normal text, Jinja comments, quoted strings, Jinja
is/is nottests, and macro or filter-block names is ignored. Calls on other objects, such ashelper.expand(...), are not mistaken for Home Assistant's global template functions. - Scope-aware Jinja handling: Local names follow Jinja scope and execution order. Clear global calls before a same-scope binding and after a finished child scope are still checked, while locally resolved calls are ignored. Templates using Windows CRLF line endings retain correct line and column positions.
- No template execution: Templates are parsed only. They are never rendered or executed.
- Fewer false findings: Function-like text inside normal text, Jinja comments, quoted strings, Jinja
-
What to expect after updating
- The number reported by
sensor.template_entity_checkermay increase after the first v0.1.1 scan. This does not mean the update created new broken entities. It means references that v0.1.0 did not inspect can now be found. - No configuration migration or new option is required. Restart Home Assistant after installing the update through HACS.
- The number reported by
-
Scope
- Template Entity Checker still scans UI-created Template Helpers only.
- Templates in
configuration.yaml,templates.yaml, packages, automations, scripts, scenes, dashboards, and blueprints are not scanned. - The integration does not repair references and never guesses dynamic entity IDs.