Solar Forecast PV

Ok, so now you can check the values. Does it fit to your graph?
First values of forecast shall start with small values approx 7:20.
Are Inverter values before this timestamp?

green is forecast and blue real values. Forecast values starts aprox at 8:20 and real values sooner

I see. Please use the actual-power channel from your Bridge. It’s updated each minute and will report earlier values.

in the chart I’m using this two values :

Modbus value is real time measurement from PV

and actual values

for me forecast is 1hour late :frowning:

Has anyone else noticed that the Solcast forecast only covers the next ~48 hours recently. If I run an API call manually I don’t get any data beyond that.

Ok, I messaged the Solcast team and they tell me that I need to add ‘hours=168’ to my query string. Lets see if I am clever enough to work out how to do that in Github.

1 Like

First of all: Very great way for incorporating Solar forecasts!
So, if I got it correctly - as I’m using UI-only configuration:

  • I have to configure the “Bridge”-Thing (with API-keys)
  • I have to configure a minimum of one PV plane for each service
    each plane will seperately poll the API with the configured interval in the plane
  • the Bridge-Channels then collect the information from the plane(s) and this represents my PV as a whole
    using the interval I give within the Bridge-configuration - which will not poll from the API

What I experience is a bit of a strange behaviour between the two forecasts for my location / PV Planes:

Solcast calculates:

2022-10-21 07:43:06.633 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SC_RemainingProductionToday' changed from 11.708 kWh to 12.327 kWh
2022-10-21 07:43:06.633 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SC_ForecastToday' changed from 11.708 kWh to 12.384 kWh

as of ForecastSolar calculates:

2022-10-21 07:46:15.073 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'FS_RemainingProductionToday' changed from 0.921 kWh to 1.01 kWh
2022-10-21 07:46:15.073 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'FS_ForecastToday' changed from 0.598 kWh to 1.038 kWh

Is it only the different kind of weather services on both services? or do I miss some configuration here?

Solcast-configuration northside
grafik
Solcast-configuratin southside
grafik

Forecast-solar nothside

UID: solarforecast:fs-plane:forecastSolar:forecastsolarPVNorth
label: PV ForecastSolar Norden
thingTypeUID: solarforecast:fs-plane
configuration:
  azimuth: 175
  declination: 28
  kwp: 5.1
  refreshInterval: 30
bridgeUID: solarforecast:fs-site:forecastSolar

Forecast-solar southside

UID: solarforecast:fs-plane:forecastSolar:forecastsolarPVSouth
label: PV ForecastSolar Süden
thingTypeUID: solarforecast:fs-plane
configuration:
  azimuth: -5
  declination: 28
  kwp: 7.1
  refreshInterval: 30
bridgeUID: solarforecast:fs-site:forecastSolar

should be the same, right?

I cannot explain without looking at your configuration. Please check
a) when forecast starts with some values regarding raw channel and
b) when real values from PV are reported

Sadly: No.
While Forecast Solar is heading North with ± 180


Solcast is dealing with 0 North
image

oh. Thanks for spotting that!

on solcast I have 5 for my North-side and -175 for my South-side.
Forecast.solar it’s the other way round: -5 for my South-side and 175 for my North-Side.

Should be the same? so it’s just different calculations I guess?

Definitly not the same!
I don’t want to judge the accuracy of the 2 forecast options in general. See below the power predictions for my site today

  • green - my real PV values
  • blue -Solcast prediction
  • yellow - forecast.solar prediction

For me Solcast is providing more stable & reliable values during the day. Real PV production green line is outperforming the prediction blue line but nearly hits the total daily prediction yellow line at the end of the day.

Forecast.solar looks more shaky during the last day. At morning to high, at noon to low, in the afternoon to high and at the end far to low.

To be clear:
the binding is simply getting and providing the values. The quality of the values depends on the service.
E.g. I checked forecast.solar on the poor overall prediction after sunset with the raw channel which provides the raw json response from API. And for today only 980 Wh are predicted while I produced 9.7 kWh

"watt_hours_period":{"2022-10-29 08:10:00":0,"2022-10-29 09:00:00":5,"2022-10-29 10:00:00":20,"2022-10-29 11:00:00":155,"2022-10-29 12:00:00":395,"2022-10-29 13:00:00":276,"2022-10-29 14:00:00":42,"2022-10-29 15:00:00":36,"2022-10-29 16:00:00":28,"2022-10-29 17:00:00":17,"2022-10-29 18:00:00":6,"2022-10-29 18:09:00":0,"2022-10-30 08:12:00":0,"2022-10-30 09:00:00":208,"2022-10-30 10:00:00":859,"2022-10-30 11:00:00":1437,"2022-10-30 12:00:00":1815,"2022-10-30 13:00:00":1984,"2022-10-30 14:00:00":1939,"2022-10-30 15:00:00":1641,"2022-10-30 16:00:00":1088,"2022-10-30 17:00:00":517,"2022-10-30 18:00:00":158,"2022-10-30 18:07:00":3},"watt_hours_day":{"2022-10-29":980,"2022-10-30":11649}}

@weymann I have created a pull request to add the required argument to the API request if you could have a look please. I’m no Github expert though, so if I’ve stuffed it up, let me know what I have to do.

One question:
Just saw in persistence, that there are changing/jumping values delivered from the binding. Is this a case of misconfiguration on my side? I’m using forecast.solar with following configuration:

Bridge solarforecast:fs-site:home   "ForecastSolar Home" [ location="46.xx,15.xx", channelRefreshInterval="1"] {
        Thing fs-plane garage   "ForecastSolar Home Garage" [ refreshInterval=120, azimuth=0, declination=43, kwp=5.85, dampAM=0.5, dampPM=0.25]
}

Number:Energy			PV_WattHoursToday		"PV Ertragsprognose Heute [%.1f kWh]"							(gPV, gMeterEnergyD)		["Point","Energy"]	{channel="solarforecast:fs-site:home:today"}

In the persistence (recorded on Change) for this item i get:

Thanks,

Can you double check if this is really one item? Or maybe 2 channels mapped to same item?

If you pick every 2nd entry you see

  • 10.156 is reported each minute, value stays the same
    looks like today channel
  • 9.x is reported each minute and slightly increasing
    looks like actual channel reporting forecast till now

image

to jump in, as I have some struggle here on that.

How to measure or calculate the azimuth for both services? Currently the forecast values are wrong and I like to configure the 3 roof areas exactly as possible.

Thanks in advance!

Rgds
Andre

Mine too, nearly all time :slight_smile:
No, seriously: please keep in mind you’ll get estimation values. You have some possibilities to reach higher accuracy but finally forecast depends on so many parameters it’s nearly impossible to reach right values (100% accuracy) each day.

For sure your PV roof settings needs to be correct. Follow instructions from How do I find my Azimuth. Instruction can be used for both services just use the right helper image from Solcast or Forecast Solar to estimate your Azimuth

1 Like

Hi,

thanks for the instructions. This was very helpful.

Agreed and don’t expect 90-100% accuracy. But such high differences???

May be I have to wait and observe over longer period of time. Currently we have some ice and snow.

Thx & Rgds
Andre

I’ve just configured the addon for Solcast using their free tier model which allows 10 requests per day.
I have two planes and configured both with a refresh interval of 120 minutes.

I can see in the events.log that at 8:21 when activating the bridge and at 10:21 items like the per-day-estimations are updated. So I would expect 2 requests per plane which is 4, but Solcast web page tells me I’ve already used 8 out of 10 requests.

So does the binding really do 2 requests per plane per cycle?

Do you have time based active bridges? How does that work?

Thanks in advance!

No, I just meant, I turned it on for the first time after configuring it.

1 Like

HI I am having a few problems with this binding, so grateful for any assistance.

I’ve setup a free account at solcast and the data comes through fine to Openhab. I’m using text files and the configuration included in this thread (thing definition below).

In my event file this morning everything was fine then I ran out of connections (10 max allowed on the free account). The events then stopped coming through.

I thought the things file was set for 240 minutes between requests so I don’t understand why this is the case?

||Line 90538: 2023-02-08 09:08:18.530 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ForecastSolarHome_Remaining' changed from 25.692 kWh to 25.662 kWh|
|---|---|
||Line 90802: 2023-02-08 09:09:18.589 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ForecastSolarHome_Remaining' changed from 25.662 kWh to 25.631 kWh|
||Line 91127: 2023-02-08 09:10:17.568 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ForecastSolarHome_Remaining' changed from 25.631 kWh to 9.3 kWh|
||Line 91453: 2023-02-08 09:11:18.183 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ForecastSolarHome_Remaining' changed from 9.3 kWh to 9.284 kWh|
||Line 91851: 2023-02-08 09:12:18.800 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ForecastSolarHome_Remaining' changed from 9.284 kWh to 9.269 kWh|
||Line 92398: 2023-02-08 09:13:35.916 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ForecastSolarHome_Remaining' changed from 9.269 kWh to UNDEF|
Bridge solarforecast:sc-site:homeSite "Solcast" [
	apiKey="xxxxxx",
	channelRefreshInterval=1
] 	{
	Thing sc-plane cabaneroof "Solcast" [resourceId="2fd2-0ab7-756b-6999",refreshInterval=240,powerItem="inverter1PowerA",powerUnit="auto-detect"]
    Thing sc-plane cabaneground "Solcast" [resourceId="e404-6368-411d-ec85",refreshInterval=240,powerItem="inverter1PowerAg",powerUnit="auto-detect"]
}