Skip to content

v1.2.0

Latest

Choose a tag to compare

@kratochj kratochj released this 03 Jun 06:45
83d9bba

🏷️ 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, or standby as 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 composes friendly_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. 🌱