Skip to content

v0.1.1

Choose a tag to compare

@Dajwitt Dajwitt released this 24 Jul 11:36
80119e0

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 uses has_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 as has_value('binary_sensor.garage_door') against both current states and the Entity Registry, so typos and deleted entities now appear in missing_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 in expand(['media_player.kitchen', 'media_player.living_room']) are checked separately.
    • Mixed expand() collections remain safe: In expand(['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 options field 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 not tests, and macro or filter-block names is ignored. Calls on other objects, such as helper.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.
  • What to expect after updating

    • The number reported by sensor.template_entity_checker may 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.
  • 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.