Repository navigation
Releases
StaggAssistant v0.3.1
Major update adding support for kettle firmware 1.2.26+, hardware safety interlocks, integration options, and native bilingual translations (EN/DE).
All changes have been verified and tested on physical kettle hardware prior to this release.
What's Changed
Firmware 1.2.26+ Support (Setup Fix)
- New JSON Endpoint: Firmware 1.2.26 silenced textual output on the internal
/cliendpoint. The integration now reads live temperature and status from the newGET /tempJSON endpoint. Older firmware versions continue to be supported through automatic fallback. - Lift-off Handling: Fixed parsing errors caused by unquoted
NaNreadings when lifting the kettle off the base.
Hardware & Fire Safety Interlocks
- Dry-Boil Guard: Heating is strictly blocked if the kettle reports low or no water (
S_NoWater). An explicit UI error is shown in Home Assistant instead of firing the heating element. - Undocked Kettle Protection: Heating cannot be turned on if the kettle is removed from its base (
is_docked == False). - Safe Target Temperature Slider: Adjusting the target temperature in the dashboard or via automations now only updates the setpoint. It will no longer turn on the heater if the kettle was off.
- Strict Command Allowlist: Outgoing CLI commands are validated against a strict regex allowlist. Raw GPIO actuation, diagnostic bench tests, and wipe commands are blocked client-side.
- Guaranteed Button Release: Simulated long presses (brew timer) now run inside a
try...finally:block, ensuring the button release command (2u) is always delivered even if the connection drops.
Configuration & Integration Options
- Options Flow: You can now configure the polling update interval (5–120 seconds) via Settings > Devices & Services > StaggAssistant > Configure.
- Extended Entities Toggle: Firmware 1.2.26+ blocks reading device settings (hold duration, chime, schedule, altitude) over Wi-Fi. These controls are now disabled by default to avoid cluttering your dashboard with "Unknown" states. You can re-enable them in the integration options anytime.
- Persistent Settings Storage: Cached settings survive Home Assistant restarts using native
Storepersistence and automatically fall back to your Home Assistant configured elevation for boiling point calculations.
Climate Entity Lifecycle
- While holding temperature (
S_Hold) or running pre-boil, the thermostat entity now remains inHEATmode with actionIDLE(orHEATINGwhen actively pulsing). This prevents the UI thermostat card from prematurely turning off while water is kept hot.
Localization
- Added full native translations for all 27 entities, selectors, and states in both English and German.
Credits
- @tomtastic for the reverse-engineering analysis of Firmware 1.2.26.
- @miguelcaravantes for contributing the multi-platform overhaul.
- @radzio for the initial pointer regarding the
/tempJSON endpoint.
v0.2.0 Beta 2
🚀 v0.2.0 Beta 2: Hotfix & Known Firmware Issues
This second beta release addresses a critical startup bug discovered in Beta 1 and documents a hardware-specific visual quirk.
🐛 Bug Fixes
- Fixed Startup Syntax Error (
number.py): Completed a truncated logging statement innumber.pythat was causing anunterminated string literalSyntaxError. This bug completely blocked the integration from loading during Home Assistant startup. The file is now fully valid and loads perfectly.
⚠️ Known Issues (Kettle Firmware Bug)
- Lingering Schedule Icon: When toggling the
schedule_mode(specifically when using or disabling therepeatoption), a visual artifact—an orange circular arrow icon—may remain visible on the physical kettle display.- Note: This is a purely visual bug within Fellow's internal screen-drawing firmware. Your settings are successfully and correctly saved in the background (as verified inside the kettle's physical settings menu), and the schedule should not trigger unexpectedly (feel free to report back, if it does).
- Workaround: To remove the lingering icon from the physical screen, briefly unplug the kettle from the power outlet for 5 seconds and plug it back in.
v0.2.0 Beta 1
🚀 v0.2.0 Beta: The Ultimate Remote Control Update
This release is a massive leap forward! StaggAssistant has evolved from a simple thermostat into a fully-fledged remote control for your Fellow Stagg EKG Pro. We've unlocked almost every hidden firmware feature and brought them straight into Home Assistant.
A massive shout-out and huge thanks to @miguelcaravantes for kicking off this multi-platform overhaul and contributing the foundation for this huge update!
✨ What's New
- Massive Entity Expansion: Added 5 entirely new platforms (
sensor,switch,number,select,button), expanding the integration from 1 to 20 total entities. - Full Schedule Control: You can now fully manage the kettle's wake-up schedule remotely. Toggle the schedule mode (Off, Once, Repeat) and accurately set the target schedule temperature via a slider (with 0.5°C precision and automatic C/F conversion).
- Device Configuration: Easily adjust core kettle settings directly from your HA dashboard:
- Hold Time Duration (0-60 mins)
- Altitude Calibration (0-3000m)
- Chime Volume (0-10)
- Clock Style & Temperature Units (C/F)
- Display Language (Supports all 7 native languages)
- Automation Hooks: Added buttons to sync your Home Assistant system time to the kettle, force data reloads, or simulate physical button presses (Main Dial / Back Button) – perfect for triggering the brew timer via automations!
v0.1.1 – Lift-off Fix
Bug Fixes
- Fix "Lifted" State: The integration now correctly handles the
nan(Not a Number) output from the CLI which occurs when the kettle is lifted from the base. Previously, taking the kettle off the base caused a parsing error log.
Improvements
- Updated regex pattern to support non-numeric temperature states.
Initial Release
First release of this vibe coded Home Assistant Integration to control a Fellow Stagg EKG Pro Kettle over WiFi.