Skip to content

2.2.1

Choose a tag to compare

@Loweack Loweack released this 01 Mar 09:39
· 8 commits to main since this release
1ace093

🚀 v2.2.1

🙏🏻 Acknowledgments

🫰🏻 A big thank you to @cnc-lasercraft, @svasek, @Lexorius and @miketth for their help.

Warning

Breaking Change v2.2.0+: due to the menu reorganization, you must remove the integration and then reinstall it via HACS.

✨ New Features

  • 🕐 Last sync timestamp: Button entities now expose a last_synced attribute showing the UTC timestamp of the last successful time sync, visible in Developer Tools → States, entity "More info" panel, and usable in templates/automations.
  • 📊 Last sync result: Button entities now expose a last_sync_result attribute showing success or failed after each sync attempt.
  • 🔄 Auto-sync updates entity attributes: Auto-sync now updates last_synced and last_sync_result on button entities in real time, so you can see the latest status without pressing the button manually.

🐛 Bug Fixes

  • 🔌 Session/socket resource leak: Fixed a resource leak where old aiohttp.ClientSession and WebSocket connections were not properly closed before creating new ones during reconnection in async_connect.
  • 🚀 Unnecessary WebSocket round-trip: The diagnostics call async_get_time_sync_cluster_info was running on every sync, adding an extra get_nodes round-trip. It is now gated behind _LOGGER.isEnabledFor(logging.DEBUG) and only executes when debug logging is explicitly enabled.

🛠️ Improvements

  • 🤫 Reduced log noise: Per-node detail logs and skipped device lists moved from INFO to DEBUG level. Summaries remain at INFO; full details are available when debug logging is enabled.
  • 🗺️ Entity map for auto-sync: Added entity_map in hass.data for efficient node-to-entity lookup during auto-sync, enabling real-time entity attribute updates.
  • 🛡️ Safe entity update helper: Added _update_entity_sync_status helper in the coordinator, fully exception-protected, to safely update button entity attributes from the auto-sync path.
  • ⚡ Immediate UI updates: Button entities now call async_write_ha_state() immediately after sync to update the HA UI in real time.