Skip to content

⬆️ Improvements & 🐛 Bug fixes

Choose a tag to compare

@cataseven cataseven released this 15 Jun 12:42
19e3399

This release;

  • fixes five reported issues
  • improves newly added Y-axis tick labels.
  • adds entity based "Hide by Default" feature
  • adds Sections-view auto-height / fill support
  • improves candlestick charts, moving-average performance,

Big thanks to everyone who filed detailed reports with screenshots and example configs — it made every one of these much faster to pin down.


🐛 Bug fixes

Live charts no longer redraw the whole line on every update — #251

Daily counters no longer show 0 with aggregate_func: max#248

Offset / "yesterday" lines no longer stop at the now line — #247

Graph no longer dips below zero with smoothing — #243

Single-day bars no longer cut off at the edge — #233


✨ Features

🙈 Per-entity "Hide on Load" — #238

You can now hide individual entities on load instead of only all-or-nothing. Each entity has an Auto Hide option (Advanced tab → Hide on Load), or in YAML:

image
entities:
  - entity: sensor.a
    auto_hide: true     # hidden until you tap its legend item
  - entity: sensor.b    # stays visible

Tapping the legend reveals a hidden series as expected, and the reveal sticks — it no longer re-hides on the next refresh. The card-wide auto_hide_entities still works and, when set, takes precedence over the per-entity values.

📊 Sections view: Auto height & fill — #252

The card now participates in Home Assistant's Sections layout sizing — the "does not fully support resizing" warning is gone. Leave Height empty (or set height: auto) and the chart fills the grid cell it's given instead of a fixed pixel height:

height: auto          # fill the cell; size the card via the Layout tab

A numeric height still pins the chart to that many pixels as before. To match a neighbouring card, size this card's cell in the Layout tab and the chart fills it.

⏱️Y-axis duration & template label formats — #241

Y-axis labels can now be formatted as durations or via a safe expression template — no JavaScript executed, just a small whitelisted grammar:

y_axis_format: "h:mm"          # 5400 -> 1:30   (also h:mm:ss, mm:ss, d h:mm)
duration_unit: s               # the raw unit of the sensor value (default: seconds)
# or a template:
y_axis_format: "{fixed(value/1000,1)} kW"   # 2350 -> "2.4 kW"

Follow-up fix (small ranges): on tight ranges, duration formats could render two different ticks as the same label (e.g. two ticks under a minute both showing 0:00), producing doubled tick values. Ticks now snap to steps the format can actually distinguish, and any identical labels are de-duplicated — no more repeated values.

Follow-up fix (secondary axis): with a locked lower_bound_secondary (or upper) plus a Min Y2 Range, the axis expanded symmetrically and pushed the locked edge past zero (a stray -0:01 tick and a ballooned range). Minimum-range growth now respects a locked bound — it grows only away from it.

⬆️ Improvements

🕯️Candlestick OHLC on hourly / daily grouping

Candlestick charts grouped by H (hour) or date rendered as thin lines — the open, high, low and close all collapsed to one value. (2H / 4H and finer groupings were fine.)

Cause: hourly/daily grouping fetched a single statistics row per candle, so there was nothing to build an open/high/low/close from.

Fix: candlestick charts now fetch sub-bucket samples — 5-minute data for hourly candles and hourly data for daily candles — so each candle shows a real body again. Other chart types and groupings are unaffected.

📈 Candlestick tooltip: Change % and Altitude %

The candlestick tooltip now shows two extra values below O/H/L/C: Change — the open→close move as a signed percentage (C − O) / O (green when up, red when down), and Altitude — the high/low range as a percentage (H − L) / L

image

🏃‍♂️‍➡️ Faster moving averages

Moving-average overlays are now computed with an O(n) sliding window instead of recomputing the full window at every point. On live feeds (e.g. crypto prices) with long periods like MA-300 and several averages across multiple cards, this sharply cuts CPU and memory use. The drawn lines are identical — this is purely a performance change.