Hi all ![]()
I've been running BJReplay's excellent ha-solcast-solar integration for a while, and wanted three things on top of it: somewhere to keep my own actual-vs-forecast history, a way to work out my real panel tilt/azimuth from that history, and shading correction that tunes itself instead of me hand-editing dampening factors. So I built a companion integration that does exactly that โ and figured others might find it useful.
Solcast Solar Enhanced is an add-on, not a replacement โ it sits alongside the base Solcast integration and reads its forecast data (zero extra Solcast API calls). All credit to BJReplay for the foundation this builds on. ![]()
What it does
Built-in historical storage โ a zero-config SQLite database (stdlib sqlite3, lives in your HA config dir). It quietly records actual generation vs forecast every half-hour, so you finally have the history the smart features need.
Automatic rooftop PV tuning โ fits your real tilt and azimuth from clear-sky history using a numpy grid search. In my case it converged to within ~1ยฐ of my actual orientation.
Adaptive shading dampening โ computes per-hour dampening purely from your measured actual/forecast ratio and pushes it back to the base integration. It starts as a no-op and ramps toward the measured correction as confidence builds, so it never does anything silly with thin data.
Plus:
-
Multi-site โ multiple arrays on one property, auto-discovered, with DC-ratio apportionment for string inverters (e.g. Fronius) that share one AC output. -
Curtailment-aware dampening โ if you have an export limit, curtailed clear-sky days no longer get misread as "shading" (it clips the forecast to what was achievable). -
Battery-aware, energy-counter or power-sensor inputs, optional history retention, OpenWeatherMap cloud cover for clear-sky filtering, and 11 languages.
Raspberry Pi friendly 
No scipy (it has no Pi wheel and breaks under HA โ see ha-solcast-solar #85), so the optimiser is a pure numpy grid search. numpy already ships with HA, storage is stdlib sqlite3 โ so there's nothing extra to install.
Requirements
-
Home Assistant 2026.5.4+
-
The base ha-solcast-solar integration (hard dependency)
-
A free OpenWeatherMap API key (for the clear-sky cloud filter that tuning & dampening rely on)
-
A generation sensor (ideally a cumulative energy counter)
Install
Via HACS โ Custom repositories โ add https://github.com/JimboHamez/ha_solcast_solar_enhanced (category: Integration) โ install โ restart โ add the integration and follow the setup wizard.
A peek at what's coming 
I'm working on hardware-based curtailment detection using per-MPPT DC telemetry โ when an inverter curtails, string voltage climbs toward open-circuit while current collapses, which is a direct fingerprint of being held back (independent of the forecast or export limit). The current release captures that data (opt-in) so the detector has real history to learn from; the detection itself is the next milestone.
Repo & feedback
This scratches my own itch (a multi-array Fronius setup with an export limit here in Melbourne), but I'd love feedback, bug reports, and to hear how it behaves on other hardware/inverters. Issues and PRs welcome.
Cheers!
