Repository navigation
v3.0.1
Fixes (full component audit)
- Reboot button: a wrong version comparison made it disappear with firmware >= 3.0.0.
- Backup rotation: targeted a non-existent directory (
ESPSomfyRTS_espsomfy_<id>) so it never ran. Fixed (keeps the 5 most recent files), runs outside the event loop, failures are logged. - Authentication: the apikey header is now sent on every REST command (shadeCommand, groupCommand, tiltCommand, shades, groups) — fixes 401 errors on devices with restricted permissions.
- Button availability: buttons never went unavailable when the ESP disconnected.
- Setup: platforms are loaded after a successful login (no more double loading on retry); the websocket reconnect timer is cancelled on unload (leak fixed).
- Config flow: crash on some login errors fixed; non-existent
wrong_hosterror key replaced withinvalid_host. - Update entity:
SPECIFIC_VERSIONis now honored; misplaced parenthesis in switch.py; kwargs were passed incorrectly to CoverGroup.
New
- Reauth flow: if the device rejects the stored credentials, HA now prompts for new ones (en/fr/de/es).
- Automatic reload after changing the host or credentials in the options flow.
- Toggle shade types (one-button garage doors, gates): dynamic OPEN/CLOSE/STOP buttons based on the current movement (the function existed upstream but was never wired up).
Cleanup
Dead code was checked against the rstrouse upstream before removal (unfinished restore action, ensure_*_configured, unused constants); aiofiles pinned; empty homekit block removed.