Point-fix release on top of v1.8.0. v1.8.0 is withdrawn from the release timeline, its grid IN / OUT chips were unusable past the first six hours of scrub, the day-strip labels were misaligned, the sun bead flickered through camera rotations, and the cloud dome retirement was not reflected in the docs. v1.8.1 is the first build of the cycle that reads as the intended product.
Grid IN / OUT, full audit + rewrite
- Sample timestamps come from the entity's
last_updatedinstead of the wall clock at refresh time, so the slope reflects when HA actually observed the value. - Slope is taken across a bracketed pair of samples whose time span is at least 60 s. When the immediate before/after bracket sits too close together (5 s pushes on a 1 Wh meter), the bracket extends outward until the span clears the noise floor. Kills the 1 Wh-quantum-into-720 W-spike pattern.
- Multi-tariff installs (HP / HC) rank by the LAST REAL VALUE TRANSITION, not the latest poll. Live lookback 10 min covers Linky histo mode.
- Recorder backfill 72 h to match the timeline's visible past range.
pickBracket()returns null when a scrub target sits more than 10 min before the buffer's first sample, the chip hides cleanly instead of showing a stale constant slope. - Negative readings clamp to 0 in both live and scrub: a negative IMPORT is an EXPORT moment the export chip already reports.
- Bead cadence is now LINEAR in frequency (
dur = MIN * CAP / watts, clamped to[MIN, MAX]), so twice the power gives twice the speed. Caps tuned: 5 kW import, 1 kW export.
Day-strip vertical centring + smartphone fit
All four label states (bold today, regular past, italic forecast, regular non-today) share one baseline geometry by construction. Both spans land on the same font-size + 18 px line-height, on the HA frontend font stack (--mdc-typography-body1-font-family, --ha-font-family, --paper-font-common-base_-_font-family, Roboto fallback). The strip is box-sizing: border-box, inner content area exactly 18 px. Font clamped to 6-9 px so the pair fits the narrower per-day cells a portrait smartphone produces. Cramped-cell kWh-hide threshold dropped to 48 px so the last day's forecast stays visible when the timeline ends mid-day.
Sun -> PV ray, no more flicker or chip overrun
- Bead absolute-path with
cx/cyat the origin (single-attribute SMIL updates), no more flicker through camera rotation. - Ray + bead moved to a dedicated SVG fixed at z 7, the chip background occludes the endpoint at the chip border. The sun disc keeps its depth split so it still passes in front of / behind the home cluster depending on bearing.
Home click zone follows the building shape
The silhouette polygons receive pointer events themselves, so a click on any visible part of the focal building opens the dashboard regardless of how the 120 px circular hitbox lines up against the projected centroid. The circular hitbox stays as a fallback for tiny / distant buildings.
Dome + LiDAR sliders harmonised
Both pills share the same min-height, 16 px icons and anchor rail. Both slide UP from below the card on mode entry and slide DOWN out of view on mode exit, mirroring the timeline's own enter / exit. Slider retreat fires immediately on toggle-off, in parallel with the mode's own fade-out instead of after it.
Editor + docs freshness
- Grid section in the visual editor moved between PV and Shading.
- README + ARCHITECTURE: stale on-ground cloud-cover disc bullet removed (the chip + dome toggle at the top of the card replaced it). Stale Depth-of-field veil bullet removed. Grid IN / OUT chips added to the "at a glance" feature list,
grid-import-entity/grid-export-entityrows added to the config table.cloud-colordescription updated to reflect the dome bands. - Project-wide audit pass: em-dashes replaced with commas in source comments, every i18n locale label and the README + CHANGELOG. Decorative section dividers removed from
engine/buildings.ts. DeadshouldShowDomeChip()helper removed. UnusedPV_LEG_OFFSET_PXconstant + itsvoidsilencer removed, along with a siblingvoid batteryCharging;that was silencing a variable the very next line consumes.
Other
- Cloud-cover curve in the timeline chart bumped from
fill-opacity: 0.25to0.45so it stays readable through the irradiance fill painted on top.
Install / update via HACS
If you were already running v1.7.0, open HACS, find Helios in the dashboards list, click Redownload and pick v1.8.1. v1.8.0 has been retired and is no longer available, jump straight to v1.8.1.