The biggest iteration since the OpenFreeMap migration. Three headline tracks: a GPU-resident LiDAR View overlay, a complete dashboard rework with a learning forecast, and a card-wide architecture split that broke the two ~5k-line monoliths into focused subsystem modules. Plus per-array PV configuration (with optional GPS), a reset cache control, a new German LiDAR provider, external solar-radiation sensor input, and a long list of editor polish.
Highlights
- Forecast calibration. The dashboard learns from the last 5 completed days how the model under- or over-predicts your installation and surfaces a refined value beside each PRÉVU figure with a hover hint that spells out the calibration window. Window clamps the multiplier to ±50 %, falls back silently when fewer than 2 past days carry enough production to derive a stable ratio.
- Dashboard rework. The detail-mode panel is rebuilt around three responsive sections: Today (produced + refined forecast + dual peak readouts + cumulative chart with sunrise / sunset markers + live now cursor + smart-positioned hover tooltip), Tomorrow (full-day forecast + peak hour, side by side with Battery when configured, full width otherwise) and Battery (vessel + charge / discharge totals). Date chips next to AUJOURD'HUI / DEMAIN confirm the two pure-forecast cards cover different days.
- LiDAR View overlay. A WebGL custom layer paints every loaded LiDAR cell as a small dot in screen space, optionally with a wireframe overlay. GPU-resident, re-rasterised by MapLibre on every transform with no JS-side redraw. Distance fade, theme-aware colours, configurable display radius, soft enter / exit transitions with a scanner pulse on activation.
- Architecture refactor.
helios-card.ts(5218 lines) andhelios-engine.ts(4437 lines) were split into focused modules undersrc/card/andsrc/engine/, each owning one piece of functionality. Lit reactivity stays natural, no service classes, no mixin gymnastics, norequestUpdate()ceremony.
PV configuration
- Per-array GPS coordinates in
pv-arrays. When set, the forecast model runs at the panel's true location and a small solar-panel icon appears on the map. - Multi-orientation PV layout (
pv-arrays). One entry per group of co-oriented panels, each withtilt,azimuth,share. Closes #8, contributed by @i6media in PR #10. - Battery power sign toggle for installs where the entity reports charging as negative.
LiDAR
- 4 new native providers: Poland (national, GUGiK NMPT), Canada (national, NRCan HRDEM), Germany Brandenburg + Berlin (LGB bDOM + DGM), Vermont USA (VCGI nDSM, first US-state native).
- BYO local nDSM provider for any region with raw LiDAR data available offline. Closes #5, contributed by @jourdant in PR #5. Idea credited to @stephenwq.
- LiDAR prep tools in
tools/lidar/. Contributed by @jourdant in PR #11. - Germany NRW provider (Geobasis NRW nDOM).
- LiDAR View overlay (see Highlights above).
- Worldwide LiDAR provider registry at https://reikanysora.github.io/Helios/LIDAR_PROVIDERS.html , every public elevation / LiDAR source we have inspected, with status (integrated / verified compatible / partially blocked / incompatible), curl-verified example URL, and a world map of integrated provider coverage.
Home Assistant integration
- External solar-radiation sensor input via new
solar-radiation-entityconfig. Closes #1. home-latitude/home-longitudeoverride , contributed by @i6media in PR #9.- Card height floor so the card renders correctly inside layouts that don't constrain its vertical footprint.
Editor
- Reset data cache button at the bottom of the editor. Wipes the cached Open-Meteo payload and the in-memory PV history.
- Live editor preview of the card.
- Renameable PV rows.
- Accordion editor, every section collapsible.
- Editor section reorg , LiDAR View promoted to its own section.
Fixes
- PV history chart spike from cumulative-energy sensor quantization.
- Freeze on solar-radiation entity selection. Closes #12.
- Sun-ray arrow scrub jitter.
- Smartphone vertical alignment on PIC PRÉVU.
- LiDAR view button clickability.
- LiDAR view float32 precision on the GPU buffer.
Credits
- @jourdant (Jourdan Templeton) , BYO local nDSM LiDAR provider + Python preparation toolchain. Idea credit: @stephenwq.
- @i6media (Frank Boon) ,
home-latitude/home-longitudeoverrides + multi-orientation PV layout (pv-arrays). - Everyone who filed precise bug reports and feature requests during the alpha / beta cycle.
Full changelog: CHANGELOG.md.