Skip to content

Releases: Dajwitt/template-entity-checker

v0.1.3

Choose a tag to compare

@Dajwitt Dajwitt released this 26 Jul 12:04
15ee27d

This update makes the optional Template Helper label exclusion easier to configure without changing the stored configuration format or scan behavior.

  • Searchable label selection

    • The optional helper-label field now uses a searchable Home Assistant picker instead of a long non-searchable list.
    • Custom values are blocked and at most one label can be saved. Selecting several labels shows a validation error instead of changing the configuration unexpectedly.
    • A previously saved label that was later deleted remains visible so it can still be cleared safely.
  • Compatibility

    • Existing configurations remain valid. The selected label continues to be stored as the same stable Home Assistant label ID, so no migration is required.
    • Scan results and the integration's UI-created Template Helper scope are unchanged by this update.
  • Documentation

    • The German and English documentation, generated documentation site, mobile navigation, search behavior, and release/version guidance have been reviewed and synchronized with v0.1.3.
  • What to expect after updating

    • Restart Home Assistant after installing the update through HACS.
    • Open the integration options and click the helper-label field to search the available Home Assistant labels.
  • Scope

    • Template Entity Checker continues to scan UI-created Template Helpers only.
    • Templates in configuration.yaml, templates.yaml, packages, automations, scripts, scenes, dashboards, and blueprints remain out of scope.

v0.1.2

Choose a tag to compare

@Dajwitt Dajwitt released this 25 Jul 13:08
6606106

0.1.2

This release makes exclusions easier to manage, expands static has_value detection, and adds complete bilingual documentation.

Easier exclusions and settings

  • Searchable exact ignore list: Existing and currently missing entity IDs can be selected from suggestions or entered freely. Wildcards remain intentionally unsupported.
  • Optional helper label: One existing Home Assistant label can exclude complete UI-created Template Helpers from the active findings. The label is evaluated directly on the helper entity; device and area labels are not inherited.
  • Transparent ignored findings: The sensor and diagnostics expose the selected label, ignored helper sources, and ignored_matches instead of silently hiding them.
  • Native notification toggle: Persistent notifications now use Home Assistant's normal on/off selector.
  • Existing exact ignore values remain compatible and continue to work alongside label-based exclusions.

Expanded template analysis

Static entity IDs are now detected in all supported has_value forms:

{{ has_value('sensor.example') }}
{{ 'sensor.example' | has_value }}
{{ 'sensor.example' is has_value }}

Dynamic expressions are still never guessed or executed. Templates are parsed only and are never rendered, changed, or repaired.

Result behavior

  • Scans remain serialized and never run in parallel.
  • Notifications are updated only when the active structured missing findings change.
  • The template_entity_checker_result_changed event follows the same active-finding comparison after the first complete scan establishes its baseline.
  • Exclusively ignored findings do not create a persistent notification.

Documentation

Complete German and English documentation is now available at:

https://dajwitt.github.io/template-entity-checker/

The Markdown sources live in the repository. GitHub Actions rebuilds and verifies the generated site and deploys it from main with least-privilege permissions.

Updating

  • Minimum supported and verified Home Assistant version: 2026.7.3.
  • No manual configuration migration is required.
  • Update through HACS and restart Home Assistant.

Template Entity Checker continues to scan UI-created Template Helpers only. Templates from YAML files, packages, automations, scripts, dashboards, scenes, and blueprints are outside its scope.

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.

Template Entity Checker v0.1.0

Choose a tag to compare

@Dajwitt Dajwitt released this 23 Jul 18:09

First public release of Template Entity Checker.

Highlights

  • Scans all UI-created Template Helper types automatically.
  • Finds missing static entity references and groups duplicate occurrences with their locations.
  • Surfaces findings directly through sensor.template_entity_checker and an optional persistent notification.
  • Supports automatic interval scans and the manual template_entity_checker.scan_now action.
  • Reports dynamic references separately instead of guessing entity IDs.
  • Includes exact entity ignores, diagnostics, German and English translations, and a config-entry migration from the earlier type-selection options.

Scope

This release scans UI-created Template Helpers only. Templates defined in configuration.yaml, templates.yaml, packages, or other YAML includes are not scanned.

Template Entity Checker is a focused complement to Spook and Watchman, not a replacement for either project.