Releases: krissen/sauna-card
Release list
v0.4.0
Highlights since v0.3.0:
- App-started sessions stay "on" through the hold phase. Follow-up to the
v0.3.0 heat-up fix (#33). When a Harvia sauna is started from the app, the
heater PID-cycles at target temperature and every on/off signal goes briefly
quiet between pulses, which could make the card and badge blip to off
mid-session — power chip off, a spurious cool-down curve, and the button
offering to start a session already running. A hold-phase running latch now
bridges these brief gaps near target, while still releasing promptly on a real
cool-down, grace expiry, or an explicit stop from the card, the app, or the
physical switch. Stops are mirrored across the card and badge together. (#34)
Note: the latch's grace window is set conservatively (10 min) and will be
validated against real hold-phase PID gaps; if a longer gap is observed a small
point release will tune it.
Full changelog: https://github.com/krissen/sauna-card/blob/v0.4.0/CHANGELOG.md
v0.3.0
Highlights since v0.2.0:
- ha-harvia-sauna v2.8.0 support — new statistics/connectivity value-catalog items (
sessions_week,last_session_energy,records,cloud_connection,ready_at,planned_start) and theambilightswitch; the ready-ETA prefers the livetime_to_readysensor. - Climate presets (
show_presets) and smart preheat (show_preheat) — preset chips that apply temperature/duration, and a "ready by" scheduling control. - Remote-off action (
remote_off_action) — choose how the card reacts when remote control is disallowed or the door is open: disable start, lock, hide, or switch to compact. - Manual entity mapping (
integration: manual) — use the card with any sauna, not just Harvia. - Whole-session graph on by default, and a cool-down curve that reconstructs after a page reload out of the box.
- Open door blocks start (same treatment as a remote-off block).
- Sessions started outside the card (e.g. the Harvia app) are now recognized: on/off is derived from
heat_on, real power draw and the per-session ready latch, so the card shows heating instead of off/cooling, the button stops the session, and the remaining-time tile falls back to a live "ready in N min".
Full changelog: https://github.com/krissen/sauna-card/blob/v0.3.0/CHANGELOG.md
0.3.0-beta2
Second beta on the 0.3.0 line. Includes everything from beta1 (manual entity mapping) plus two new features and graph-default improvements. Cut from dev.
New since beta1
- Remote-off action (
remote_off_action, defaultdisable_start): when your "remote control allowed" sensor is off (and the sauna is off), the card reacts. The status pill swaps its icon for a lock (a visual cue, no tooltip needed), and you choose what happens:disable_start(default — disable just the start button),lock(disable all controls),hide_controls(display-only),compact/compact_locked(switch to the compact layout).noneopts out. Only engages when such a sensor exists and reads off, so it is safe by default. - Whole-session graph on by default (
cooldown_include_heatup): a session now shows the rising heat-up and falling cool-down as one two-tone arc out of the box. - Cool-down survives a page reload without configuration: the target falls back to the room temperature (or ~25 °C when unknown), so the falling curve reconstructs after a reload.
- Editor toggles tell the truth: the graph and "tap for more info" toggles now show their real (on) defaults instead of appearing off.
Install (HACS)
Enable beta/pre-release versions for sauna-card in HACS, then update to 0.3.0-beta2.
Feedback
Enable Advanced → Debug logging and post symptoms + the [sauna-card] console lines to issue #25: #25
0.3.0-beta1
Pre-release for testing the new manual entity mapping (use the card with any sauna, not just Harvia). Cut from the dev branch.
New in this beta
- Manual mapping (
integration: "manual"): point the card at your own entities. A singleclimateentity is enough (current/target temperature, status, the stepper and on/off); add switches and sensors as you like. Built for DIY / KNX / non-Harvia saunas. - Editor: a Source picker, and a foldable Entity mapping list right under it — tick each type your sauna has and pick (or type) the entity.
- Advanced section: a debug-logging toggle and a console version banner, to help diagnose setups.
- Companion badge supports manual mapping too.
- New Integrations and compatibility docs.
Install (HACS)
Enable beta/pre-release versions for sauna-card in HACS, then update to 0.3.0-beta1. (HACS hides pre-releases unless you opt in.)
Feedback
If something does not show as expected, enable Advanced → Debug logging and post the symptoms + browser-console output (the [sauna-card] lines) to issue #25: #25
0.2.0
Added
- Tap a value to open more-info. Read-only displays — the metric tiles, compact slots, the big current-temperature number, the status badge, and the static target temperature — open Home Assistant's standard more-info dialog for the underlying entity. Interactive controls are unchanged. Turn it off with
tap_more_info(on by default). - Heatup / cooldown temperature graph. A live rising curve while heating and a falling curve while cooling down, backfilled from the recorder so it covers the whole session. Toggles:
show_heatup_graph,show_cooldown_graph(both on by default). - Cooldown target temperature (
cooldown_target_temp) — the temperature the cooldown tracks toward; also lets the cooldown be reconstructed after a page reload. - Whole-session arc (
cooldown_include_heatup) — one two-tone curve over the entire session. - Time axis under the graph (start / middle / end clock times).
Changed
- Faster rendering on large installs. Device detection and entity-id resolution are scanned once per entity-registry change instead of on every render. No behaviour change.
Fixed
- Even spacing around the controls in the thermostat-dial and compact layouts.
Full notes in CHANGELOG.md.
0.1.1
Maintenance release.
Added
- Start feedback when a session can't start. If a start is refused — most often because the door is open — the card now says so instead of the controls silently blinking back to off: a notice appears the moment you press start with the door open, and a short grace later if the start otherwise didn't take.
- The card is offered for every Harvia entity in the card picker, not just the thermostat — sensors, binary sensors, numbers, and the integration's update entity. This includes the HACS update entity (the one that shows when you search "harvia"), which pre-fills the right sauna device.
Fixed
- Heating "ready in" estimate now counts down. It previously showed the integration's
heat_up_timesensor, a static value (unchanged even while the sauna is off), so it never decreased. The estimate is now derived from the temperature trend — thetemp_trendsensor when enabled, otherwise the card's own observed temperature — and shrinks as the sauna heats.
Full changelog: https://github.com/krissen/sauna-card/blob/v0.1.1/CHANGELOG.md
0.1.0
First release of sauna-card — a Lovelace card and badge for Home Assistant that show and control Harvia sauna heaters (Xenio / Fenix via ha-harvia-sauna).
Highlights
- Card with three theme-first layouts: status dashboard, thermostat dial, and compact.
- Companion badge with six appearances (chip, icon, value, and three gauge variants) and three content modes.
- Configure what every layout shows from the full set of integration values (44, diagnostics included): reorderable dashboard/thermostat tiles, compact left/middle/right slots, and a
controlsoption — each saved per layout. - Auto-detection, a visual editor, and a card-picker suggestion on Home Assistant 2026.6+.
- Multilingual: Swedish, Finnish, English, German.
See the README and docs/ for installation and configuration.
Feedback and bug reports welcome via Issues.