Skip to content

v1.9.0: Jinja2 Templates, Native Actions & Per-Entity Config

Choose a tag to compare

@KadenThomp36 KadenThomp36 released this 16 Mar 12:46

v1.9.0 — Jinja2 Templates, Native Actions & Per-Entity Configuration

Jinja2 Image Templates

Dynamic per-event thumbnails on history sources via Jinja2 templates. One WebSocket call renders all events sharing the same template (batched in groups of 50).

sources:
  - type: history
    entities:
      - binary_sensor.front_door
    image_template: >-
      {% if state == 'on' %}
        /local/door_open.png
      {% else %}
        /local/door_closed.png
      {% endif %}

Template variables: entity_id, state, old_state, timestamp, attributes, source_name

Use /local/ URLs (files in /config/www/) or integration-specific proxies. HA's /api/camera_proxy/ requires bearer token auth that <img> tags cannot send.

Native Tap & Hold Actions

Attach HA's standard action system to timeline events:

tap_action:
  action: more-info          # Opens entity's native HA dialog
hold_action:
  action: navigate
  navigation_path: /lovelace/cameras

Action types: more-info, navigate, call-service, none

  • Default tap (no config) opens the Chronicle detail dialog
  • Hold detection: 500ms threshold, scroll-aware on touch devices
  • Editor shows "Detail Dialog (default)" as an explicit revertable option

"More Info" Button in Detail Dialog

A pill button in the event detail dialog opens the entity's native HA more-info dialog. Only shown for history source events.

Per-Entity Configuration

Customize individual entities within a single history source:

entity_config:
  binary_sensor.front_door:
    name: Front Entry
    state_filter: ["on"]
    icon: mdi:door-open
    severity: warning
    image_template: "{{ '/local/front_door.png' }}"
    tap_action:
      action: more-info

Per-entity fields: name, state_filter, state_map, icon, color, severity, image_template, tap_action, hold_action — all override source-level defaults.

Native HA Editor Components

The visual editor has been rebuilt with native HA components:

  • Entity list — chip-based multi-entity picker
  • Per-entity panels — expandable ha-expansion-panel with all override fields
  • State filter — chip-based multi-select with domain-aware suggestions
  • Image template — Jinja2 syntax highlighting via ha-selector
  • Action editors — dropdowns with conditional sub-fields (path, service)
  • Icon/Color — clear buttons (×) to revert overrides to defaults
  • Filters — categories, severities, sources, entities all use native selectors

Bug Fixes

  • ha-select dropdowns now work inside ha-expansion-panel (switched to ha-selector)
  • ha-entity-picker renders correctly (fixed lazy-load timing)
  • Per-entity state filter is case-insensitive ("Off" matches "off")
  • hass-more-info event dispatched from inside HA's DOM tree (was document.body)
  • Legacy source-level state_filter/state_map removed from GUI (still works via YAML)

Backward Compatibility

All new fields are optional. Existing v1.8.x YAML configs require zero changes. Default tap behavior (open detail dialog) is preserved when no action is configured.


Full changelog: CHANGELOG.md