Can't get forecast.solar forecast to line up with my production

I got my solar panel for a few days, and after getting it connected to HA, I found the default solar forecast were off. I know it’s forecast, but every day it’s the same like this.

Is this normal because of the weather? In the past few days, here in my city in the Netherlands were quite cloudy (no rain btw). Still surprised the panels produced some electricity though.

Or is it because I have 2 groups of panels? 9 on the roof (42 degree declination), and 5 on flat-roof (35 degree declination). I configured forecast solar with 1 declination, 42 degree.

For the Azimuth, I use the value from the Sun integration, which is very close to the manual calculation I got from Google. So, I guess the Azimuth is correct.

Or is it because for whatever reason I ended up with 3 entries for “Home” in the forecast solar integration? I disabled two of those.

I wanted to show this “forecast” to my wife, to get wife approval karma, but I am afraid she won’t accept it like this :rofl:

So, any idea?

Here’s an example from today:

The forecast works based on the clear-sky solar irradiance onto your PV plane. The orientation has to be as accurate as you can make it, for both inclination and azimuth, and the total solar power peak figure has to correct too.

Each plane has to be set up with its own figures, combining into one ‘virtual’ surface is always going to produce inaccurate values. I have two planes (east and west) and the total generation curve produced cannot be replicated using a single plane ‘equivalent’.

HA allows you to set up more than one instance of forecast.solar, thus ideally one for each plane. The energy dashboard very nicely adds up all the integrations and shows the total (dotted) line.

forecast.solar allows only so many free API calls, but normally HA will only call each integration once per hour, and the last time I looked the ‘free’ account allows for 12 per hour.

So, set up two integrations (call them east and west or whatever they are) one with declination 42, power set to max watts peak for the 9 panels, and the other with declination 35 degrees and max watts peak for 5 panels. If you have a system of 14 panels, and it has a peak power of say 4.2 kW, one side will be 9/14th of 4200 peak watts, and the other 5/14th total power (assuming your panels are identical).

As for azimuth, this is the direction the panels face, with 90deg being due east, 180 due south, and 270 due west. A quick and dirty way to check this out is to use something like www.suncalc.org to zoom in on your roof, play with the time bar (top of map), and when the sun lines up with facing your panels note the azimuth. Alternatively line the sun up with the ridge along the panel edge and add/subtract 90 degrees.

Now you should have an ‘accurate’ forecast. After that, the forecast is designed to deal with the weather. On a nice sunny day, you should see a nice full curve, and this should match quite well to your actuals. Expect differences due to shading, early/late damping, and the issue of the 1-hour shift that is the subject of much debate above. You may, in time, be able to adjust the morning/evening to better fit forecast-actual by adding the damping factor. I use 0.4 myself to compensate for shading from houses etc on the horizon so as to flatten the morning/evening forecast.

The total inverter power is just there to stop the system forecasting say 5kW in high summer when your inverter can only actually produce 3kW, but with split planes like this as I have, my east/west arrangement means that my inverter limit is never reached.

And then there is cloud and rain. Yes, it is a forecast, so it is going to be out a bit. Also I find that the forecast does not match too well for planes that are not facing south - the production curve becomes quite lopsided. Having two equally sized planes I have managed to balance out the damping so that the error on one plane is typically cancelled out by the error in the other. In your case, the 9/14 and 5/14 split means that the overall combined error may be more likely to show at one end of the day.

However, having put a lot of time and effort into this, I now collect my own forecast using the API calls directly and processing the result myself. Today my own graph shows (for forecast and for actual power)

And here is the HA energy dashboard, for effectively the same data.

The integration calls forecast.solar once per hour, and the energy graph (dotted line) is updated either hourly or three hourly. At such times you may see the line go up or down dramatically - this is a side effect of various things being updated and then pulled together for the graph. It usually settles out again although I do not believe that the historical part of the curve is accurate.

There are differences, for various reasons, but over time the forecast is mostly good to very good.

1 Like

@Biscuit Thanks for explaining in details, really appreciated. Using the Suncalc website, I found the Azimuth was 273 (HA sun.azimuth reported 287). So, I renamed the integration to “Roof 42”.

image

I edited the parameters, changed the Azimuth to 273, and changed the total modules to 3645 (9 panels, each 405 watt). But, what is this “Inverter size”? Is that the max panel wattage, which 405?

My solar panel system is using micro-inverter IQ7A-72-2, so each panel has that inverter.
IQ7A inverters for solar panels | Enphase microinverters

image

Looking at the above technical spec. it might be 405 watt, each panel spec is Q.CELLS Q.PEAK DUO M-G11+ 405 watt-peak.

image

Now, how do I add the second one? For the 5 panels.

If I add new integration from the Settings → Integration → Add Forecast Solar, the GUI is different. It doesn’t ask the inverter size.

image

I added forecast.solar a year ago, but I can’t think that much has changed.

Adding forecast.solar as an integration from the main settings page brings up a UI page asking for name, latitude, longitude (all pre-filled from HA settings), declination, azimuth, and total peak power.

Once added, each integration can be adjusted later using the ‘configure’ option within the integration listing, which allows changes to some settings, and adds options for damping factor and inverter size.

I have two integrations already, and adding another does bring up the usual page, so I think you need to double check the difference between adding a new integration (on top of any you have already) and modifying an existing integration. If necessary - delete all integrations and start from scratch, add one, then add the second using the same route.

The inverter size - this usually relates to those of us with a standard inverter. Where the panel size is such that the panel peak summer generation is greater than the physical output of the inverter, it could mean that the forecast is more than the inverter can deliver. I have 4.4 kW peak system, with an inverter of 5 kW. With split panels east and west, my maximum peak is midday at about 3.6 kW, thus I have no issue with capping. For someone with 6kW peak, and an inverter of 4kW capacity, the inverter would be set to 4kW to stop the forecast giving higher figures in the middle of summer.

With your micro inverter, if your panel has a peak power of 405 watts, and the inverter has a peak output power of 366 watts, then your 9 panel system could be said to have a peak of 3645 W and the inverter should be limited to 3294 W. However, this is really just academic and you can either leave the inverter figure at 0 or set it higher (4000 W) and just see what happens in the summer. If you see the forecast going up to 3650+ and the actual stopping at 3300, then you will know that your micro inverters are effectively limiting output, and then you can decide if you want to limit the forecast to match.
Hope that makes sense!

2 Likes

@Biscuit After reading your explanation and example about “Inverter size”, I think the value of 405 is totally wrong.

From the company installer, I got this data:

Total panel : 14
Each panel : 405 watt
Total watt-peak: 5670 watt
Estimated production per year: 4854 watt

I guess, I should use 4854 as the inverter size for all 14 panels. So, I changed the configuration like below, using just one integration for all 14 panels. Let’s see what happen :slight_smile:

image

You have 14 panels. Each produces 405 watts peak, so your 9 panel plane will be 3645 watts peak, and your 5 panel plane will be 2025 watts peak. You can increase or reduce this a little either way to adjust the forecast. I have found my east plane generates more because of beneficial reflection from a house wall, so I bumped that up a bit.

You can either ignore the inverter size (leave at 0) or set to something over your peak and forget it to start with.

One plane will not give you accurate results, however you can try it out and just see what happens. It may be near enough for your purposes.

This is, after all, a forecast and it took me many months of tinkering to get my forecast to line up with actual production. If you eventually want to do anything important with the forecast (or want the approval kama) then accuracy may become more important.

My solar forecast (worked from the API calls) top right - yesterday was a cloudy day, today very sunny. My summary (summation of total energy under the forecast curve) for today was 5.5 kWh, which I know is always optimistic. Production today, 4.7 kWh, so not bad. Tomorrow looks like a good day too.

Good luck with your solar journey!

FWIW, I have decided to use both Forecast.Solar and Solcast predictions and take averages, since they both can vary quite significantly from each other and my “actual” on any given day. More tuning I’m sure may improve this but for example today is a very clear day so ought to be an “ideal” near perfect prediction to actual, but still have a 10kWH difference between the two different models. I think my actual will end up being somewhere between the two, as it was yesterday.

Solcast gives you a 10%-90% probability range which is helpful to see how much uncertainty there is in the model - and its still a lot even today. Although it was created with southern hemisphere in mind I’ve not noticed it be a lot more wrong than Forecast.Solar.

As the prediction models get updated continuously, I think what level of “accuracy” to expect/rely on also depends how you plan to use the prediction and when. In my case I want to estimate a target overnight charge from grid, for battery storage. So I want to compare today’s “actual” with what was predicted for today, as at [some cut-off time] yesterday, not the current “today” prediction both integrations provide. Then I could explore whether tuning any parameters improves that day ahead forecast (on “ideal” clear days when random cloud variation ought to be minimal). But for now, given the large delta between the two and my actuals, I don’t rely on anything more than a fairly arbitrary “low, medium, high” interpretation of the figures for setting that charge target.

@Biscuit would you mind sharing how you built your graph “Solar Forecast: yesterday - today- tomorrow”? I’ve been playing with different ways of drawing this using the apexcharts card and day offsets, and averages and so on, but not managed to produce one that looks as neat as yours…

Happy to share but it is all done in Node-RED as I effectively capture the forecast from API calls every hour and build a table spanning three days (72 hours). I am doing this so that I can correct the inherent problem with the 1 hour time-shift, and record actual generation over a matching 60 minute period. I also capture the forecast to history, as it does tend to change post-now and that affects the day-energy figures the integration provides.

This table is then used to plot graphs, and also to perform power-analysis. It all works but I have not developed it further other than being able to identify, for example, the estimated time period for when solar power will be 1.2 kW for the day.

This is (a picture of ) the NR flow - does quite a bit but all that is really needed is the API capture, actual solar capture, table build, and data calculation for the graph display. I am sure I have already shared the key parts of the flow (to get the graph working) but just can’t find my old post. If (iff) you really would like a copy then I will have to extract a redacted version and post again. Looking at this I see that it dates from last September and is full of function nodes which I now try to avoid using!

Let me know if you would like either the NR flow or just the Apex chart settings.

1 Like

OK found it!

https://community.home-assistant.io/t/access-data-from-forecast-solar/435964/10?u=biscuit

You probably need to read down the postings to get the ‘how to set up the actual sensor’ and ‘how to set apex charts’.

This all dates back to last August but hopefully it all hangs together and still works.

2 Likes

Thanks I’ll take a look!

For Enphase IQ7A-72-2 Micro Inverters, the total inverter size will be 349 watts x number of panels.

For example, I have
22 x 370w panels = 8140w total panel output
22 x 349w microinverters = 7678w total inverter size

2 Likes

Could you share the code of Solar Forecast card ?

My Solar Forecast runs in Node-RED, to call the API directly and manipulate the data.

I have shared this setup on another thread - see above/below.

It does require Node-RED, an extra utility sensor to get the actual solar figures, and if you read down the quoted discussion the Apex Chart settings are included as well.

This will not be accurate if there are two different planes. Using a inverter size that is equal to the sum of all micro inverters will assume that the inverter can handle the total production of each plane up to the inverter size. So if (12) 370W panels are in 1 plane, it would allow for the full 4440W production in that plane as long as the other plane is not forecast to produce over 3238 during that time.

With micro inverters, the more accurate way to estimate your production may be to calculate panel wattage as the wattage of the micro inverter rather than the wattage of the panel. So rather than having a total panel output of 8140, the total panel output would be 7678 in your example. Then you would leave the inverter size as blank/empty.

This will still not be entirely accurate since sun angle impacts production. The only real way to get completely “accurate” forecast figures would be to enter each panel as its own array for Forecast.Solar (which is not inaccurate, since this is literally what micro inverters do). However, if you have more than 12 panels, you will run into the API call limits. I assume a paid tier gives you more API calls.

FWIW, other non-micro inverter based arrays have their own problems if there are multiple planes. I have two planes (only facing 180 degrees and the other facing 270 degrees) with one inverter. Since solar.forcast doesn’t support multiple planes/arrays per inverter, I cannot limit my overall production based on the inverter size. Luckily for me, I oversized my inverter for future growth and battery, so it can handle 100% production from both planes at the same time (even though that would never happen), so I don’t have top worry about how the inverter size would impact my production.

Hi @nkrick,

Yeah, I wasnt going down that rabbit hole, I was simply answering this question.

The maximum continuous output power (of each micro inverter) is 349 VA = 349 W.

When using the solcast service, you have the ability to configure multiple planes/rooftops.

You configure the details of each rooftop on the solcast site.

Example image from https://github.com/oziee/ha-solcast-solar#configuration
image

Solcast does this for you.

I also had some difficulty setting this up, the forcast was not in line with the production.


In my case I had to set up the Azimuth properly. I stumbled upon Find your Azimuth (doc.forcast.solar) and the Suncalc.org worked for me.

1 Like

This is very good info, thank you! I used suncalc to calculate it but mine is still a bit off, though.

Have you correctly set all other variables?
It looks like the forecast is following the production, but the figures are of.

This is my graph:


I think it’s in de “Total Watt Peak Power”, when I change the “Total Watt Peak Power of your solar modules” from my 4820 to 2000 the graph will look like this:

The “Total Watt Peak Power” has been provided the company that installed my panels, it’s based on all kinds of factors like the azimuth, angle of the panels, shading factors (tree, buildings, other solarpanels, etc. etc.), maximum power of the panels and probably some more.

1 Like