Releases: kratochj/hassio-irrigation-card
Release list
v1.2.0
🏷️ Rename-resilient auto-discovery
Renaming your sprinkler entities or device in the Home Assistant UI no longer breaks the card. 🎯 Localize everything into your own language — discovery keeps working.
🔧 What's new
Auto-discovery now matches entities against their original_name (the name defined in your ESPHome YAML) as the primary source, falling back to friendly_name and entity_id. 🌍 Because original_name is immutable from HA's perspective, renaming an entity's display name in the UI — or even renaming the whole device — won't break matching anymore.
Since ESPHome entities expose original_name as undefined in the frontend cache, the card fetches it via the WebSocket entity registry API (config/entity_registry/list) on first load. 🔌 The in-flight request is shared across multiple cards, cached per-device to bound memory, and cleaned up when the card is removed or switches device. 🧹
🩹 Other fixes
- ✅ Status normalization — the status sensor now treats any value other than
idle,paused, orstandbyas running. Zone-specific status text like"running - Sprinklers zone 1"correctly shows Pause/Stop controls instead of hiding them. - 🏠 Device prefix stripping now uses the user-renamed device name (
name_by_user), matching how HA composesfriendly_name. - ⚡ Flash-free rendering — the card suppresses incomplete renders until async discovery completes, so enable switches no longer briefly appear as extra zones on load. On WebSocket failure it falls back to synchronous discovery and retries automatically after 60 seconds.
📚 Documentation
docs/entity-naming.md, docs/esphome-setup.md, and the README were updated to reflect original_name-based matching and the new status normalization behaviour.
🙏 Credits
Big thanks to @Svasek for #14 — a thorough, well-engineered contribution that makes the card far more robust for everyone running localized setups. 🌱
v1.1.4
💧 Live per-valve progress bars
The progress bar on each valve row now shows actual progress through the scheduled run, instead of sitting at a placeholder 50% the whole time it's on. 🎯
🔧 What's fixed
Per-valve progress is calculated from the valve switch's last_changed timestamp against the configured run_duration (scaled by the active multiplier), and the bar refreshes every second while the valve is running. ⏱️ It drains from full to empty as the run elapses, matching the behaviour of the cycle-wide progress bar above it. The per-second interval is cleaned up when the card is removed, so there are no lingering timers. 🧹
⚠️ Known limitations
A couple of edges to be aware of, in the interest of full disclosure:
- 🔁 Repeat cycles restart the bar for each segment. The valve switch toggles off and on between repeats, which resets
last_changed, so each repeat is drawn as its own run rather than a continuous fill across all of them. - ⏳ Valve overlap / switching delay between valves can cause the bar to stop slightly before reaching zero. The underlying timing on the ESPHome side moves on before the visual bar fully drains.
Both are visual-only and don't affect actual irrigation behaviour. ✅
🙏 Credits
Huge thanks to @Bleialf for #11 — exactly the kind of focused, well-thought-out contribution that makes this card better for everyone. 🌱
v1.1.3
v1.1.2
v1.1.1
v1.1.0
New Features
- Console banner with card name and version on load
- Debug logging toggleable via
irrigationCardDebug()in browser console:- Entity discovery details and matching strategies
- Service calls (switch, button, number)
- Card render state
- Troubleshooting section in README