β¨ New Features & π Bug Fixes
β Breaking change β change vs diff clarified
The two aggregate functions used to behave almost identically. They've now
been pulled apart so each does one specific thing:
| Aggregate | What it does | When to use it |
|---|---|---|
change |
Sum of positive jumps. Always β₯ 0. Counter resets are ignored. | Counter-style sensors β energy meters, rain gauges, odometers, water meters, daily totals. |
diff |
Last value β first value. Can be negative. | Sensors that drift up and down β battery level, indoor temperature, fuel level. |
delta |
Max β min. Always positive. (unchanged) | Spread between highest and lowest in the window. |
Do I need to change anything?
- If you used
aggregate_func: diffon a counter sensor (energy, rain,
km, waterβ¦), switch it toaggregate_func: change. - If you used
diffon a sensor that genuinely goes up and down, you're
already on the right one. - The tooltip text in the visual editor now describes the difference, so
picking the right one is easier going forward.
New features
Hide the color dot per entity (#183)
New per-entity toggle Color Dot in the entity editor's State Row tab.
When off, the colored marker is hidden:
- In the state row, the entity name and value shift left into the
freed space for a cleaner look. - In the compact legend, detail legend, timeline tooltip and all
chart-mode tooltips, the marker's slot stays reserved so rows
still line up neatly.
Useful when:
- You only have one entity and don't need a color marker at all
- You're using
color_thresholdsand the static dot color no longer matches
the dynamically-colored line / bar / value
YAML:
entities:
- entity: sensor.something
show_color_dot: falseRanking chart threshold filter (#189)
New card-level option ranking_min_value for Ranking mode. Entities
whose absolute value falls below this threshold are hidden from the
ranking entirely β useful for energy or power rankings where idle /
standby devices would otherwise crowd the chart.
In the visual editor: Chart Mode = Ranking β Graph Data section β Min
Value field.
chart_mode: ranking
ranking_min_value: 5 # hide entities reading under 5 W
entities:
- entity: sensor.tv_power
- entity: sensor.fridge_power
- entity: sensor.router_power # idle at 2W β hiddenAdaptive Color now drives the state row color dot
When state_adaptive_color: true is set on an entity, the colored dot in
the state row now follows the same threshold-aware color as the state
value text and icon. Previously the dot stayed locked to the static line
color even when the value crossed a threshold and the text changed; now
all three update together.
Zoom Sync β multiple cards zoom together (#197)
New card-level options zoom_sync + zoom_sync_group. When you
brush-zoom (or double-click to reset) on one card, every other card in
the same group adopts the same time window. Cards with different
hours_to_show still sync correctly β the shared language is the
timestamp range, not the pixel position.
# Card 1
type: custom:statistics-graph-chart-card
zoom_sync: true
zoom_sync_group: energy
entities:
- entity: sensor.power_produced
# Card 2 β same group, follows Card 1's zoom
type: custom:statistics-graph-chart-card
zoom_sync: true
zoom_sync_group: energy
entities:
- entity: sensor.power_consumedIn the editor: Overlay tab β Zoom Sync toggle (next to Tooltip Sync).
Available when Brush Zooming is on. Group is optional β leave empty to
sync with every other ungrouped card.
Scroll Sync β horizontal scrolling stays in lock-step (#197)
Same idea as Zoom Sync but for horizontal scrolling. With
max_visible_interval set so the chart is wider than the viewport,
turning on scroll_sync + scroll_sync_group makes scrolling one card
move all the others in the same group to the matching position. The
position is shared as a 0β100 % ratio so cards with different total
widths still land at the same relative point.
type: custom:statistics-graph-chart-card
hours_to_show: 960 # 40 days of data
max_visible_interval: 240 # 10 days visible at a time
scroll_sync: true
scroll_sync_group: energy
zoom_sync: true
zoom_sync_group: energy
tooltip_sync: true
tooltip_sync_group: energy # use all three together for a fully linked dashboard
entities:
- entity: sensor.power_producedIn the editor: Overlay tab β Scroll Sync toggle (below Zoom Sync).
Bug fixes
Current month no longer disappears with group_by: month (#193)
Energy / counter sensors no longer show empty charts on long ranges (#186)
Tap action now works on every chart mode (#190)
Ranking chart now respects theme text colors (#188)
Extrema labels align with their data points (#184)
Record timestamps reflect the actual data precision (#179)
HA Profile time format is honored (#180)
Upgrading
If you used aggregate_func: diff
on a counter-style sensor and relied on the old behavior, please change it
to aggregate_func: change (see the breaking-change section at the top).