⬆️ Improvements
If you are updating from 3.24 please see previous release 3.25, 3.26, 3.27
✨change_ignore_zero — accurate totals for counters that flap to 0
Some integrations report a literal 0 while their device is off or restarting — instead of going unavailable — and then jump straight back to the previous total. Under total_increasing semantics every such dip counts as a meter reset, so the restored value is re-counted as brand-new consumption: a PC network counter that sleeps twice a day can show a 58 GB day when the real usage was 6 GB, and monthly totals inflate by terabytes. The same applies to counters whose midnight reset happens as a rapid "staircase" of intermediate values instead of one clean drop.
The new per-entity change_ignore_zero: true (editor: Ignore transient zeros, shown while the aggregate is Change) fixes this at the card level:
- Zero readings are skipped entirely before the change calculation.
- With long-term statistics, the per-period change is recomputed from the
statecolumn — bypassing HA's own already-pollutedsum/changecolumns, so even historical data is rescued. - Counters that genuinely reset to zero and keep counting from there (daily
*_todaysensors) keep working — the climb after a real reset is still measured.
The proper long-term fix is to make the sensor report unavailable instead of 0, but this switch rescues existing history and third-party integrations you can't change.
✨Stacked Period Comparison
With stacked: true, comparison ghosts now stack with each other instead of rendering as loose overlapping bars: the previous period appears as its own faded stacked column right next to the current one — the same look you previously had to build manually with offset entities. Ghosts honor stack_group (one ghost stack per group and per comparison entry) and still never stack onto the current period.
The tooltip follows suit:
- Stacked-group totals now include a previous-period total row (e.g. "Aktuell Total (previous period)"), and the current group's Total carries a Δ% against it.
- The group-total label's "Total" word is now translated (it was hardcoded English — German dashboards now correctly read "Gesamt").
- When several entities are compared against the same period, the ghost rows share a single date sub-header instead of repeating it before every row — different periods in a multi-comparison keep their own.