github ReikanYsora/Helios v1.8.3
v1.8.3: HA Energy as single source of truth + radial sundial + GPU weather mode

6 hours ago

The biggest release of the v1.8.x line by a wide margin. Three structural moves and several older surfaces retired in one cycle.

Headline changes

HA Energy dashboard as the single source of truth for entity wiring (#184)

The card's PV, grid and battery entity slots are no longer configured per-card. They resolve from Settings → Dashboards → Energy, the same global block the official HA Energy card reads. The two surfaces never disagree again on which sensor a number came from, and the card's configuration surface shrinks to what HA does not know about: PV peak kWp + per-string tilt / azimuth via pv-arrays, optional inverter cap, LiDAR providers, visual options.

Radial sundial dashboard (#199)

Clicking the home dives into a chip-styled detail panel built around a radial sundial card: an annular instrument that lays out the day on a 24-hour ring with concentric tracks for production, battery and cloud cover, sunrise / sunset markers anchored on the dial, hover dots that snap every series to the same instant, and a live cursor tracking the current hour. A graph view toggle swaps the dial for a full-day production curve whose Y-axis is locked to the installation's peak power. Today / Tomorrow / Battery sections sit as a CoverFlow strip above the chart.

Weather mode with GPU-shader cloud overlay (#210, #213)

The top-right mode bar gains a Weather segment. Weather mode tilts the camera top-down at zoom 11 and overlays the modelled cloud coverage as three altitude bands (low / mid / high) drawn through a MapLibre custom layer with a fragment shader: a 10×10 RGBA8 data texture (R/G/B = the three bands' cloud cover %) modulated by 4 octaves of simplex FBM noise carves organic cloud shapes per altitude, each band at a different scale + phase so the three altitudes paint distinct signatures. All bands tint with --primary-text-color. Three altitude toggle buttons in the top-left rail flip individual bands on/off. Timeline scrubs pick a different hour slice from the cached grid and re-upload a ~400-byte data texture, no fresh HTTP round-trip.

Open-Meteo rate-limit fix + dead-weight purge (#212)

A full audit of the card's Open-Meteo traffic cut three sources of API waste: the weather-mode grid drops from 31×31 (961 calls) to 10×10 (100 calls), gets a 30 min localStorage cache + inflight Promise dedup + AbortController so re-entry within the TTL window costs zero API calls, and the home-point fetch past_days drops from 30 (vestigial from the retired shading-map trainer) to 5, cutting its cost from 6 to 2 API calls per fetch. The same pass drops the legacy localStorage sweeps, the YAML colour identity keys, and the LiDAR-view styling keys.

Shading-map family fully retired

The polar shading-map trainer, its hemispheric dome visualisation, and the editor's shading panel are gone. The per-(sun × cloud) cell ratio added ~2 pp accuracy on top of the 5-day calibration, against ~2,600 projected points per camera transform and ~300 KB of cached polar grid per home — the cost / benefit didn't survive a second look. Forecast accuracy is now carried by the 5-day calibration ratio plus the LiDAR-aware ray-march.

Other changes

  • LiDAR-View polish (#194, #201): instant cloud-toggle, point-cloud opacity slider tunable live in-card via the bottom slider, point + wireframe inherit --primary-text-color from the active HA theme.
  • Boot progress banner (#191): replaces the sun-spinner with a phase-aware progress banner during the first data hydration wave.
  • Open-Meteo rate-limit alert banner (#193): user-facing alert when the home-point fetch trips HTTP 429.
  • Grid history backfill regression fixes (#172, #173, #206): the grid IN / OUT chips no longer go blank when the recorder window is shorter than the 72 h backfill target.
  • PV regression fixes (#180, #188, #205): peak-kWp summed across pv-arrays entries when each carries its own nameplate, thermal derating fed by Open-Meteo temperature + wind, multi-array shading applied per-string against the LiDAR raster.
  • UI polish (#189, #195, #196, #198, #203, #209): radial dial digits inside the annulus, thicker cursors, day-weather sky background, smaller mode-bar segments, calmer hover transitions.
  • i18n surface 11 → 63 locales.
  • Configurable bearing + camera pose persistence (#201).
  • Display radius single source of truth (#197): every overlay (buildings + LiDAR cells + raster shadows) reads from a single DEFAULT_DISPLAY_RADIUS_M = 200 constant.

See CHANGELOG.md for the full per-topic detail. Public roadmap with upcoming work tracked live at helios-lidar.org/roadmap.

Don't miss a new Helios release

NewReleases is sending notifications on new releases.