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
Reliability and feature pass: direct commands, discovery, lift detection
Builds on the earlier read-timeout fix with several improvements informed
by other Stagg EKG community projects.
Reliability
- Tighten retry budget in _send_command to 5s × 2 attempts (~10.5s worst
case) so the executor doesn't fall behind the 5s poll interval.
- Add KettleTransientError parent class with KettleResponseError sibling;
malformed kettle responses now soft-fail the same way timeouts do.
- Cap stale-state retention at 6 consecutive transient failures so an
actually-offline kettle eventually shows unavailable in HA.
- Raise instead of silently using mode="Unknown" when the kettle returns
a truncated state payload.
Features
- Direct temperature setting via `setsetting settempr <F>` as the new
default, replacing up to 150 dial-step commands with one HTTP call.
Falls back to dial rotation automatically if the firmware ignores the
command, and exposes a user-selectable method in the options flow.
- Direct heat/stop via `ss S_Heat` / `ss S_Off` instead of button-2
toggling — cleaner state transitions, no toggle-direction ambiguity.
- LAN auto-discovery in the config flow: scans the HA host's /24 for
kettles and presents found IPs as a dropdown, with manual entry as a
fallback.
- New "Lifted" binary sensor with a 90s cooldown, edge-triggered on
docked → undocked transitions.
Cosmetic
- Dynamic mdi:kettle ↔ mdi:kettle-steam icon on the Mode sensor while
heating.
- Move the standalone stagg_ekg_api.py and its examples doc into
examples/ so the integration root is just the HA component.
0 commit comments