Skip to content

StaggAssistant v0.3.1

Latest

Choose a tag to compare

@fabiankirchen fabiankirchen released this 28 Oct 07:58
· 1 commit to main since this release
12f2ff0

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 /cli endpoint. The integration now reads live temperature and status from the new GET /temp JSON endpoint. Older firmware versions continue to be supported through automatic fallback.
  • Lift-off Handling: Fixed parsing errors caused by unquoted NaN readings 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 Store persistence 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 in HEAT mode with action IDLE (or HEATING when 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 /temp JSON endpoint.