You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Structural overhaul (tested against a real device)
Websocket rewritten with native aiohttp: no more websocket-client thread or threading.Timer — a single asyncio task in the HA event loop, 20 s heartbeat, capped-backoff reconnection. The websocket-client dependency is removed. Tested against a real device: connection, event parsing, event filter, error path (closed port), clean shutdown during backoff, reconnection.
entry.runtime_data replaces hass.data[DOMAIN] (modern HA pattern, typed ESPSomfyConfigEntry alias).
EntityDescription subclasses are frozen kw_only dataclasses (future-proof against the FrozenOrThawed deprecation).
Cleanups: redundant should_poll property overrides removed, missing await on reconnection in set_host, Any annotations.
Documentation
The services documentation now lives in docs/Services.md; dead wiki links in the READMEs are fixed.