This custom component integrates the open-meteo-solar-forecast with Home Assistant. It allows you to see what your solar panels may produce in the future.
- Go to the HACS page in your Home Assistant instance.
- Search for
Open-Meteo Solar Forecast.- If it doesn't immediately show up, check that the
Typefilter hasIntegrationsticked.
- If it doesn't immediately show up, check that the
- Install it.
- Restart Home Assistant.
- Download the latest release.
- Unpack the release and copy the
custom_components/open_meteo_solar_forecastdirectory to thecustom_componentsdirectory in your Home Assistant configuration directory. - Restart Home Assistant.
To use this integration in your installation, head to "Settings" in the Home Assistant UI, then "Integrations". Click on the plus button and search for "Open-Meteo Solar Forecast" and follow the instructions.
The integration supports multiple PV arrays. For array-capable fields, you can enter either:
- a single scalar value (applied to all arrays), or
- a comma-separated list of values (one value per array).
All numeric parameter values must use a decimal point (.), even in locales that commonly use a decimal comma (for example German).
Using decimal commas can break parsing in multi-array configurations. For example:
damping_factor:0,4,0,5is interpreted as four list items, not two decimals (0.4,0.5).dc_efficiency:0,9is interpreted as two arrays (0and9) instead of a single value (0.9).
Use . for decimals and , only as the list separator between arrays.
Examples:
-
Two arrays with different orientations:
latitude:52.16, 52.16longitude:4.47, 4.47declination:20, 35azimuth:90, 270modules_power:2400, 1800
-
Per-array horizon usage:
use_horizon:false, truehorizon_filepath:/config/www/horizon_a.txt, /config/www/horizon_b.txt
When mixed with list inputs, single scalar values are automatically expanded to all arrays.
Azimuth ranges from 0° to 360°: North (0°), East (90°), South (180°), West (270°). For negative values, add 360° (e.g., -90° becomes 270°).
The DC efficiency is the efficiency of the DC wiring and should not be confused with the cell efficiency. The DC efficiency is typically around 0.93. The cell efficiency is accounted for in the cell temperature calculation and is assumed to be 0.12.
The damping factor is a number between 0.0 and 1.0, where:
- 0.0: No damping; panels produce maximum power
- 1.0: Full damping; power is at minimum
For damping_morning, a factor of 1.0 causes power to start at 0 and increase steadily until midday (sunrise + (sunset - sunrise) / 2).
For damping_evening, the same effect occurs in reverse, with power decreasing as the sun sets.
A horizon profile text file accounts for direct sunlight blockage from obstacles (buildings, trees, etc.). The file contains two tab-separated columns of floats: azimuth (0° = north, 180° = south) and elevation angle (0° = flat horizon, 90° = directly overhead). Use a minimum of two lines with azimuth values strictly increasing from 0° to 360°; intermediate values are interpolated linearly.
Note: Store the file outside the custom_component directory to avoid overwriting during updates.
Use horizon enables/disables shading and takes effect immediately. It can be combined with damping factors.
Partial shading controls shadow estimation:
- Disabled: Only diffuse irradiation is used when a shadow is detected (suitable for far-away objects)
- Enabled: Shadows are treated as partial (suitable for close-by objects). An experimental calculation accounts for conditions by comparing diffuse/direct irradiation ratios; cloudy days behave as homogeneously shaded, while sunny days apply additional reductions.
For more information, see the open-meteo-solar-forecast repository.
The forecast_solar component code was used as a base for this integration. Thanks for such a clean starting point!