Helios Forecast

A solar forecast that learns from your panels.

A self-learning production forecast that runs entirely on your own Home Assistant. It starts from the physics, then corrects itself with what your panels really do, and feeds the official Energy dashboard, the Helios card, and a clean, well-organized set of sensors.

Open Helios Forecast in your Home Assistant via HACS Star on GitHub
A completely different, local approach

Watch it learn.

A cloud service predicts a generic panel at your coordinates. Helios starts there too, then corrects it with what your home actually recorded. Flip the toggle: the gap is everything a cloud model can't see.

0 1.5 3 4.5 6 kW 06h 09h 12h 15h 18h 21h
  • Generic physics model
  • Calibrated on your data
  • What your history corrected
  • Uncertainty (P10-P90)
Corrected by what your panels really produced on days like this. Every dip the physics can't see, your own history already knows.
  • 34.2 kWh Expected today
  • 5.48 kW Peak power
  • 18.3 kWh Still to come
  • 84 % Reliability
How it works

From the physics to your panels.

  1. 1

    It all starts with the sky

    With no API key, Open-Meteo serves the hourly weather at your location: global, direct and diffuse irradiance, cloud cover, temperature, wind and snow. The in-plane irradiance is not asked for, it is computed here, orientation by orientation. The same data the Helios card reads; only your configured location goes to Open-Meteo, never your production data.

  2. 2

    A real physical model, not a black box

    From that weather, Helios computes the sun's position (checked to about 0.3 degrees against the NOAA reference), transposes the irradiance onto each tilted array, applies a cell-temperature derate, a snow-cover factor, and clips at your inverter limit. A multi-orientation install is summed by each array's share of the kWp.

  3. 3

    Then it learns from your real production

    This is where a cloud service can't follow. Helios keeps a rolling 60-day history of what your panels actually produced. For the hour being forecast, it finds past hours where the sun position, cloud cover and temperature were similar, and reads the spread of what you truly made then. The median becomes a forecast calibrated to your site; the 10th and 90th percentiles become a free uncertainty band. What it does not learn is your hardware's limits: an hour where the inverter was held back by a full battery, a zero-export rule or a grid limit is left out, so a limit is never mistaken for bad weather.

  4. 4

    And it tells you how much to trust it

    A reliability score blends how mature the learning is, the gap between recent forecasts and reality, and how predictable today's sky is, then decays across the 7-day horizon the way weather-model accuracy really does. A trend value shows whether today now looks better or worse than it did at 06:00.

All of it runs on your own Home Assistant. Nothing about your production leaves your instance; the only thing that goes out is your configured location, to fetch the weather from Open-Meteo.

Every entity it exposes

A clean integration, built for the recorder.

37 entities per installation, useful on their own in automations and history graphs, with or without the card. Five more come with a configured battery: the predicted state of charge, its low and high over the next 48 hours and when each is reached. Thirteen are enabled by default, to keep the recorder lean: power now, the energy left today, today's and tomorrow's energy, the seven weather values, the reliability and the trend, plus the predicted state of charge when a battery is configured. Every other one is registered but disabled, and enabling it later loses no history. The values match the example install charted above, around noon on a mostly clear day.

Live now

Entity Value Unit What it is
Power now 4 820 W Instant predicted AC output right now.
Power now (low) 4 210 W P10 floor of the analog uncertainty band.
Power now (high) 5 260 W P90 ceiling of that band.
Power next hour 5 090 W Predicted average power for the hour ahead.
Entity Value Unit What it is
Energy this hour 4.70 kWh Predicted production this hour.
Energy next hour 5.02 kWh Predicted production next hour.
Energy today remaining 18.34 kWh Still expected between now and midnight.
Entity Value Unit What it is
Predicted battery state of charge 62 % 48h projected battery SoC, only when a battery is configured.
Battery minimum state of charge 21 % Lowest projected SoC over the 48 h.
Battery maximum state of charge 100 % Highest projected SoC over the 48 h.
Entity Value Unit What it is
Battery minimum state of charge time 06:45 hh:mm When the low is reached.
Battery maximum state of charge time 14:15 hh:mm When the high is reached.

The 7-day horizon

EnergyPeak powerPeak time
Today34.2 kWh5 480 W12:40
Day 231.8 kWh5 310 W12:10
Day 312.4 kWh2 240 W13:20
Day 428.9 kWh5 020 W12:35
Day 533.1 kWh5 460 W12:45
Day 630.5 kWh5 180 W12:20
Day 79.7 kWh1 890 W13:05

Three sensors, Energy day 1…7, Peak power day 1…7 and Peak time day 1…7, across the seven-day horizon: 21 entities.

The weather it saw

Entity Value Unit What it is
Cloud cover 12 % Archived Open-Meteo cloud cover.
Entity Value Unit What it is
Global irradiance 720 W/m² Shortwave radiation on the horizontal.
Direct irradiance 560 W/m² The beam component.
Diffuse irradiance 160 W/m² The scattered, sky component.
Entity Value Unit What it is
Temperature 26.4 °C Outdoor air, drives the cell-temperature derate.
Entity Value Unit What it is
Wind speed 11.2 km/h Wind at 10 m.
Entity Value Unit What it is
Snow depth 0.00 m Feeds the snow-cover factor.

Fetched from the remote Open-Meteo API, the only exchange that leaves your instance: your configured location goes out to fetch the weather, but no production data ever does.

How much to trust it

Entity Value Unit What it is
Forecast reliability 84 % Confidence: maturity, recent skill, sky predictability.
Entity Value Unit What it is
Today forecast trend +1.6 kWh Change in today's total since 06:00.
Local by design

The truth is already in your data.

There is no Helios server and no account. The physics comes from keyless Open-Meteo, the learning happens entirely inside your recorder history, and the result plugs straight into the official Energy dashboard as a native forecast provider. Add it once per installation, then declare one panel line per orientation: the lines share that installation's production sensor and inverter cap, and their output is summed by each one's share of the kWp. A second installation, with a meter of its own, is a second entry.

Set it up

Install it in a few minutes.

Add Helios Forecast through HACS: it's in the default store, so open HACS, search for “Helios Forecast”, download it and restart. Then add the integration once per installation, with one panel line per orientation: together they give one forecast, one device and its set of entities, plugged straight into the Energy dashboard.

Why I built it

We can still turn this around.

I'm Jérôme, 44, the developer behind Helios. After years spent across the whole stack, backend, frontend, 3D, games, embedded, I wanted to build something that truly matters to me.

A card won't save the planet, I know. But guilt and numbers nobody reads change no one: we change when we can finally see what's happening in our own home. That's the whole point of Helios: make energy visible, tangible, so that acting stops being a chore and becomes the obvious thing to do.

Helios is free and open source, built by a single person, in full transparency.

ReikanYsora - Jérôme CREMOUX - 2026