ha-solcast-solar: Breaking Changes - 3.1.1

The problem

Just reporting on some breaking changes.

the transition from detailedForecast to forecast attribute, was documented, but it might be nice to have a ‘transition’ period where the integration supplies both attributes, which allows people to migrate their automations to the new schema, with maybe a warning that the old scheme will disappear in the future.

I have two arrays with the one API key that has been working well, but the behaviour has changed with this release.

image

Old entity was called sensor.solcast_cottonwood_east, which is no longer available and a new entity is called sensor.cottonwood_east, same for West array.

Peak forecast today/ tomorrow used to present the combined array peak, but after upgrade it appears to be halved. You can see below when I upgraded the peak forecast for today dropped from 8.4 kWh, to 4.2 kWh

image

I see what is going on, now that default is 30 minutes forecasts, the Peak Forecast is reporting 4.2 kWh for the 30 minute peak, whereas previously it reported 8.4 kWh for the 60 minute peak.

In a similar fashion the Forecast This/Next Hour are actually reporting the Forecast for the next 30 minutes.

image

image

What version of Solcast Integration has the issue?

3.1.1

What version of Home Assistant are you using?

core2023.08.01

Diagnostics information

home-assistant_solcast_solar_2023-08-05T20-39-03.617Z.log

Logs debug/info/error output

023-08-06 06:38:49.096 INFO (MainThread) [custom_components.solcast_solar] SOLCAST - Service call: update_forecasts
2023-08-06 06:38:49.096 INFO (MainThread) [custom_components.solcast_solar.coordinator] SOLCAST - Event called to force an update of data from Solcast API
2023-08-06 06:38:49.096 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - force_api_poll called.
2023-08-06 06:38:49.096 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - Polling Solcast API
2023-08-06 06:38:49.096 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - API polling for rooftop 60b4-41b9-80ca-06b0
2023-08-06 06:38:49.096 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - fetch_data code url - https://api.solcast.com.au/rooftop_sites/60b4-41b9-80ca-06b0/forecasts
2023-08-06 06:38:49.096 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - OK REAL API CALL HAPPENING RIGHT NOW
2023-08-06 06:38:49.858 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - API returned data. API Counter incremented from 28 to 29
2023-08-06 06:38:49.886 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - fetch_data code http_session returned data type is <class 'dict'>
2023-08-06 06:38:49.886 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - fetch_data code http_session status is 200
2023-08-06 06:38:49.888 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] SOLCAST - fetch_data Returned: {'forecasts': [{'pv_estimate': 0.0966, 'pv_estimate10': 0.0828, 'pv_estimate90': 0.0998, 'period_end': '2023-08-05T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4768, 'pv_estimate10': 0.4367, 'pv_estimate90': 0.50064, 'period_end': '2023-08-05T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0476, 'pv_estimate10': 1.0293, 'pv_estimate90': 1.0521, 'period_end': '2023-08-05T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.6564, 'pv_estimate10': 1.6133, 'pv_estimate90': 1.6853, 'period_end': '2023-08-05T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2374, 'pv_estimate10': 2.1362, 'pv_estimate90': 2.3127, 'period_end': '2023-08-05T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.6756, 'pv_estimate10': 2.2903, 'pv_estimate90': 2.9063, 'period_end': '2023-08-05T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.9691, 'pv_estimate10': 2.0843, 'pv_estimate90': 3.3338, 'period_end': '2023-08-06T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1571, 'pv_estimate10': 1.79, 'pv_estimate90': 3.6943, 'period_end': '2023-08-06T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.2889, 'pv_estimate10': 1.733, 'pv_estimate90': 3.9727, 'period_end': '2023-08-06T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.4187, 'pv_estimate10': 1.8551, 'pv_estimate90': 4.1544, 'period_end': '2023-08-06T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.563, 'pv_estimate10': 2.0735, 'pv_estimate90': 4.242, 'period_end': '2023-08-06T02:00:00.0000000Z', 'period':

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 1
  • Comments: 24 (9 by maintainers)

Most upvoted comments

I suspect confusion is developing as SolCast works in power (kW): Screenshot 2023-08-18 20 46 38 and the energy dashboard works in energy (kWh): Screenshot 2023-08-18 20 53 34

Now if you are using a 60 minute timeslot then those values are the same.

But the default unit in solcast is 30 minutes, and it is preferred to get these higher resolution responses, but the energy dashboard works in 60 minute timeslots. This integration does a great job of taking those 30 minute responses into a format that is understood by the Energy Dashboard, which is probably the primary purpose of the custom integration.

Making breaking changes between releases is confusing for the end users as not everyone can rescale their templates and automations when the attributes change forecasts (60 minute intervals) was depreciated leaving detailedForecasts (30 minute intervals). This then flowed into the other calculated sensors; forecast next hour and peak values.

It is confusing when your 15 kW solar system is forecasting production of 6 kWh (energy)over a 30 minute period (which means it is forecasting 12 kW of power)