github WiesiDeluxe/ha-harvia-sauna v2.10.0
v2.10.0 — Fenix profiles, reliable cooldown, clean reloads and restarts

latest release: v2.11.0b1
2 hours ago

Harvia Sauna 2.10.0

This release rolls up nine betas. Everything below was tested on real hardware — a Fenix Combi (thanks to @fasdav, who measured every step) and the maintainer's Xenio.

⚠️ Check before you update (Fenix only)

  • The Fenix Session time number is removed. It could never write — the cloud rejects the command for Fenix (ADJUST_DURATION is not supported for device type 'Fenix'), and the 360 it showed was a built-in default. A read-only Session time sensor now shows the active profile's duration. The old entity is removed automatically; automations that call number.set_value on it need to be changed.
  • harvia_sauna.set_session with a duration now fails on Fenix with a clear message, before anything is written. Previously it set the temperature and then failed. Presets that carry a duration apply their temperature and skip the duration.

Xenio users have nothing to adjust.

Everyone

  • No more unavailable entities after a session if you use an external reference sensor for the cooldown. A sensor reporting every minute (e.g. a BLE H&T) kept the fallback poll from running, and every entity dropped out for a few minutes at a time until the heater's next own update.
  • The cooldown ends on three real sensor readings below the end temperature. It used to count evaluations, so a single low outlier could end a session early.
  • Reloads finish within seconds and cannot hang. Closing the cloud connections had no timeout and waited for a reply the cloud never sends; a reload could leave the integration stuck until Home Assistant was restarted.
  • Clean restarts. The connections are now shut down when Home Assistant stops, so the log no longer shows "Task could not be canceled and was still running after shutdown".

Diagnostics exports

  • Secrets and unit identifiers are redacted, wherever they appear: Wi-Fi SSID, tokens, credentials, MAC address, serial number — including inside the JSON-encoded strings the cloud nests its payloads in. Exports from earlier versions could contain the Wi-Fi SSID (Fenix) and the panel's MAC address and serial number (both controllers). If you have posted one publicly, please check it.
  • Exports are always current: raw payloads are recorded on every update, each with captured_at and source.

Fenix

  • Heating profile select — pick the panel's profiles by their own names (Mild, Gemütlich, …); a change at the panel is mirrored into Home Assistant.
  • Correct state while a schedule waits — the sauna is no longer shown as on/heating before a scheduled start, and the Device schedule sensor shows the pending ready time.
  • Combi limit holds (temperature + humidity ≤ 140) — it now also checks the active profile, because the session values are empty or stale while the heater is off.

Known limitations — next up

  • On Fenix, the thermostat can show the previous target temperature for a while after a profile or preset change (the session value lags behind the profile). A fix is prepared from @fasdav's measurements.
  • The Power and Energy sensors on Xenio are estimates that count the heater's full rating for the whole session; they over-read considerably (by a factor of 2–3 in a session measured against a real meter). A more realistic estimate is planned.
  • Editing profile contents from Home Assistant (steam on/off, duration) is planned.

Thanks again @fasdav, and @riki18 for the original session-time report.

Don't miss a new ha-harvia-sauna release

NewReleases is sending notifications on new releases.