Repository navigation
2.2.1
🚀 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_syncedattribute 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_resultattribute showingsuccessorfailedafter each sync attempt. - 🔄 Auto-sync updates entity attributes: Auto-sync now updates
last_syncedandlast_sync_resulton 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.ClientSessionand WebSocket connections were not properly closed before creating new ones during reconnection inasync_connect. - 🚀 Unnecessary WebSocket round-trip: The diagnostics call
async_get_time_sync_cluster_infowas running on every sync, adding an extraget_nodesround-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_mapinhass.datafor efficient node-to-entity lookup during auto-sync, enabling real-time entity attribute updates. - 🛡️ Safe entity update helper: Added
_update_entity_sync_statushelper 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.