Given a ‘solar forecast’ (prediction) it is only right to ask at the end of the day how good that forecast was, when compared to ‘actual generation’ (reality).
If I want to use the forecast for anything other than looking at a line on a graph, then I want to make sure it is ‘good for purpose’. Particularly if I want to know how much cheap electricity I should put into my battery at 02:00 in the morning, still leaving room to store excess solar energy later in the day.
Quick and easy:
The HA forecast.solar integration provides an entity for energy_production_today, and this value can be seen in history for the past 10 days [but not kept in long-term-stats…]. It is easy to pull up one or more ‘forecast-today’ values, along with any ‘total energy today’ generation from an inverter.
I have two integrations, for east and west facing planes. The solar forecast integration also updates every hour during the day, and the forecast can change quite a lot. In simple terms this gives an idea of accuracy by checking to see if the sum of both forecasts adds up to the end of day generation.
Bit more work:
I use Node-RED [but you can do this in HA] and have added a sensor for solar-v-forecast which is calculated from the above figures. This runs at 22:15 every day, pulls state history from HA, and has a stab at averaging out the forecast from the early morning figures. This allows me to plot the overall performance for the past 10 days.
The overall ratio figure tells me that, for yesterday, I got 70% of forecast. In general, I get either 150% or 50%, so forecast accuracy is worth checking.
Do it all yourself:
I use Node-RED to pull down the forecast.solar using the API and manage the data myself. This allows for capturing forecast and actual in more detail. I have a three-day graph to show tomorrow, today with actual, and yesterday as history. All of this has to be run from array data held in Node-RED.
The huge advantage to doing this is I have the data, and in a place where I can work with it and save it to a separate long-term database. This permits back-analysis on my solar system as I have stored hourly data in a separate database.
Ask Solcast:
I have been using Solcast for several months to see if that provides a more accurate forecast (which it does) and I am monitoring the actual/forecast ratio and seeing 90-100% most of the time. One of the great features of Solcast is they provide a back-cast, looking back for two days. I assume that, if you have a vast field of solar panels, it is easier to ask Solcast what you generated yesterday than it is to monitor and process the data ‘in the field’ yourself.
Again, all run in Node-RED, and this is just the backcast for the last two days. The match is very good, both for end of day actual/forecast ratio, but also hour by hour.
Thursday was a nice sunny day (with a few clouds) and the backcast match is good throughout. Friday was overcast with periods of heavy rain. The overall end-of-day match is spot on at 100%, and remarkably the peaks and troughs match both value and time.
Such a good match, backwards, confirms that for myself and my setup, Solcast is a good forecast, and that I have the correct settings.