v2.6.0 - Tap, hold & double-tap actions
This release adds the standard Home Assistant tap_action / hold_action / double_tap_action interface to the card. You can wire taps to more-info, toggle, navigate, url, call-service / perform-action, or none, both at card level and per row.
✨ Actions
- Three interactions per surface: tap, long-press (500 ms), and double-tap (300 ms window). Each can carry the full HA
ActionConfig(entity, service data, confirmation, navigation path, URL). - Card-level actions: configured under the new Actions panel in the editor (hidden behind "Show advanced"). Fire on any tap that doesn't land on an interactive element inside the card.
- Per-row actions: each entity row in the Entities panel has its own Actions block (also advanced-only). Row-level settings override card-level for that row; everything else falls back to the card default.
- Resolution order: row → card → built-in default. The only built-in default is tap on an idle HA
timer.*entity, which opens the inline duration editor (unchanged behavior). Hold and double-tap have no built-in fallback. - Smart
togglerouting: HA'stimer.*domain has notoggleservice, so the card routestap_action: toggleto the most useful per-state action: predefined (pinned) rows start, idle HA timers open the inline editor, idle helper/local/MQTT/Voice PE timers start, and running/paused timers pause-resume. Untracked entities fall through todomain.toggleas expected.
🐛 Fixes
- Paused timers no longer freeze the display one second high: the previous pause path captured the last-tick
remainingvalue, which is up to 250 ms stale.Math.ceil(stale_ms / 1000)sometimes landed one full second above what the next tick would have rendered. Pause now recomputes remaining live fromend_tsat the click moment. Affects local, MQTT, and helper timers (including predefined ones once started). tap_action: toggleworks on predefined rows: template rows have no source entity, so the early entity-id guard in the action handler madetogglea silent no-op. Toggling a predefined row now starts the timer, matching the start button.- Paused timers no longer open the inline editor by default: a regression in the first action RC routed any tap on a non-running timer through the editor-open default. Paused taps with no configured
tap_actionare now a no-op; configuretap_action: toggleif you want pause/resume on tap.
🔧 Behavior
- Default no-action behavior is unchanged for everything except idle HA
timer.*(still opens the editor). Cards that don't set any*_actionkeep behaving identically to v2.5.0. - The action handlers ignore taps that originate inside interactive elements (
button,ha-icon-button,ha-textfield,ha-input,ha-select, the action buttons row, the progress bar, anything markeddata-no-action), so existing in-card controls (start, pause, cancel, edit, custom duration) keep working as before.
✨ Card picker (Home Assistant 2026.6+)
The card now opts in to the new By entity card picker introduced in Home Assistant 2026.6. When you add a card and pick an entity, Simple Timer Card shows up under the Community section with a live preview, so you can drop it onto a dashboard without scrolling the full card list.
It is suggested whenever the entity is a timer.* entity, or its entity id contains timer (for example sensor.echo_spot_next_timer). Selecting the suggestion inserts a type: custom:simple-timer-card config pre-wired to that entity. On older Home Assistant versions the hook is simply ignored, so nothing changes.