Skip to content

v1.2.5

Choose a tag to compare

@djdevil djdevil released this 24 Apr 18:50
8ffce61

AlertTicker Card v1.2.5

☕ If this card saves you time, consider buying me a coffee — it keeps the updates coming!


✨ What's New

🔆 New theme: light

A warm incandescent bulb theme for smart home light entity alerts.

  • Conical light beam fans out from the icon across the card
  • Bulb flares with a warm-yellow drop-shadow pulse on each breath
  • Card glow breathes in sync with the beam
  • Category: Info — compatible with ha_theme: true
  • Translated default message in all 10 supported languages
alerts:
  - entity: light.living_room
    operator: "="
    state: "on"
    message: "Living room light left on"
    theme: light
    priority: 3

🇧🇷 Portuguese (pt-BR) translation

Brazilian Portuguese support, with core runtime strings contributed by @Bsector (#90) — no configuration needed, activates automatically when HA language is set to pt-BR or pt.

Covers:

  • All runtime card strings (alerts, snooze labels & durations, history, weather states, timer, test mode)
  • All 41 theme default messages
  • Complete visual editor labels and help texts
  • Theme category group names

🏷️ label_filter — filter alerts by HA label

New optional field for entity_filter-style alerts. Matches only entities that carry a specific HA label (reads from the entity registry):

alerts:
  - device_class: battery
    label_filter: controller        # only entities labelled "controller"
    operator: "<"
    state: "20"
    message: "{name} battery low ({state}%)"
    theme: battery

Accepts a single string or an array (OR logic within the list, AND with other filters).


📍 area_filter — filter alerts by HA area

New optional field for entity_filter-style alerts. Matches only entities assigned to the selected HA area — checks entity area first, then falls back to device area:

alerts:
  - device_class: motion
    area_filter: [living_room, kitchen]   # OR between areas
    operator: "="
    state: "on"
    message: "Motion in {name}"
    theme: motion

Both label_filter and area_filter are fully configurable in the visual editor via native HA selectors — no YAML required.


trigger_delay — condition must hold for N seconds before alert fires

Works like HA automation's for: field. The alert only becomes visible if the condition has been continuously true for at least N seconds:

alerts:
  - entity: binary_sensor.door
    operator: "="
    state: "on"
    trigger_delay: 300   # alert only if door open for 5+ minutes
    message: "Door has been open for a while"
    theme: door

If the condition goes false before the delay elapses, the timer resets and the alert never fires.


🐛 Bug Fixes

Fix Details
Theme backgrounds and borders not rendering All themed cards were rendered as <ha-card> custom elements whose shadow DOM overrode any external background, border, or box-shadow. Fixed by rendering all theme cards as <div> so CSS applies directly without shadow DOM interference.
Card corners not rounding correctly Two nested CSS variable bugs caused --ha-card-border-radius to resolve to 0px and cascade to all children. Fixed by removing the conflicting variable redeclaration and propagating var(--ha-card-border-radius, 12px) correctly through the stack.
Snooze dropdown clipped after corner fix overflow: hidden on :host (added in 1.2.4) was clipping the snooze menu. Clipping is now handled entirely by atc-inner-clip, so the host no longer needs it.
Overlay fires after editing and saving an alert When a user edited an alert entity in the editor and saved, the card briefly unmounted. The overlay watcher saw an empty _bases set and re-fired already-seen alerts as new. Fixed by stamping all currently-active alerts as seen while the card is mounted.
conditions_logic: or included primary condition as mandatory gate The primary operator/state always acted as a required pre-filter even when conditions_logic: or was set. Fixed so all conditions (primary + extra) participate in the OR pool. (#87)
History scoped per card instance History was stored under a single shared localStorage key — multiple cards on the same page overwrote each other's logs. Each instance now gets its own key derived from its sorted entity IDs. (#86)
Overlay fires immediately ignoring trigger_delay The overlay watcher is independent of the card instance, so it was bypassing trigger_delay. The overlay now maintains its own delay state and applies the same logic as the card.
Overlay banner: secondary_text Jinja2 templates not resolved Complex {{ }} expressions in secondary_text fell back to . Both message and secondary text are now resolved in parallel via the WebSocket render_template engine before the banner is shown. (#70)
Overlay keeps firing after an alert is deleted Alerts shifted array positions after deletion, causing stale index tracking to re-fire already-notified alerts. register() now detects structural array changes and resets watcher state cleanly.
Chromecast / cast environment fails with "Configuration error" On cast, ha-panel-lovelace and hui-view may not be registered yet when the card script executes. Added ha-card as a third fallback — reliably available even in the cast environment. (#89)
Split weather style divider line Removed the vertical separator line between weather and clock panels in the split clear widget style.
Clear widget corners and card-mod compatibility Removed hardcoded --ha-card-border-radius: 10px. All inner containers now use var(--ha-card-border-radius, 12px) so the correct value flows through and card-mod overrides work. (#84)

📋 Theme count

41 themes across 6 categories (Critical · Warning · Info · OK · Style · Timer).


🌐 Languages

Italian · English · French · German · Dutch · Vietnamese · Russian · Danish · Czech · Portuguese (pt-BR) (new)


Buy Me A Coffee