BJReplay / ha-solcast-solar

Solcast Integration for Home Assistant
Apache License 2.0
160 stars 31 forks source link

Easier re-startup for returning Solcast users (down for a while...) #110

Closed gcoan closed 1 month ago

gcoan commented 1 month ago

Is your feature request related to a problem? Please describe. Came back home today after 2 weeks away, a week and a half of that with HA not working and no remote access to fix. [Weirdly HA seemed to loose outbound IP connectivity, it was still running but couldn't talk to anything]

So all my Solcast entities were empty.

Restarting HA fixed the remote connectivity but of course no Solcast data until I remembered why and manually ran the Solcast update automation.

For new users (and people like me which have had a broken HA), this extra step to manually run the Solcast update is something that could be improved upon.

Describe the solution you'd like When Solcast integration starts and detects that there is no Solcast data and/or zero API calls made today, it automatically calls the update_solcast service.

One disadvantage of this auto-retrieve is that users may not realise that this retrieve is a 'freebie' and they have to write the automation for future polls, but its pretty clear in the documentation

Describe alternatives you've considered Leave as-is, users have to remember to create/run the automation themselves.

Additional context I don't have the logfile any more as I ended up restarting HA and the PC my HA guests upon multiple times [because some weird reason my HA server had been allocated a different IP address, despite having a fixed IP]

But the logfile was pretty clear, it loaded the sites data, the API calls from Solcast and all the 'data for' from the cache were zero where now it shows data loaded from the cache:

2024-08-04 18:12:59.646 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 2/10
2024-08-04 18:12:59.899 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-04 18:13:00.595 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-03 23:00:00+00:00, idx 14961, len 15314
2024-08-04 18:13:00.688 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-04 contains only 16 of 48 records and may produce inaccurate forecast data
2024-08-04 18:13:00.688 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-05 contains all 48 records
2024-08-04 18:13:00.688 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-06 contains all 48 records
autoSteve commented 1 month ago

I am absolutely torn by this, @gcoan.

The title is changed because as I understand the code if a new rooftop is seen then a "dopast" forecast get is called, which also gets the future forecast. So new users should see data on initial config even if they have not yet configured an automation. If they do not configure one then the forecast eventually runs out, then they log an issue, then I label it as "Read the readme".

For your circumstance it may or may not make sense. For the "not make sense" argument, a new user could see that there is an issue with forecasts, restart the integration and all would seem right for seven days. Issue logged again (which they would have done anyway I guess)... On the other hand, this prospect intrigues.

autoSteve commented 1 month ago

(Regarding your weird "lost networking", check the IPv6 config in HA. I have seen this configured as "auto", getting an address, but routing/DNS issues prevent IPv6 working, so HA turns to custard for external connectivity.)

gcoan commented 1 month ago

I raised it to enable a discussion as much as anything else.

My scenario is quite an edge case but I was pretty sure that for new installs it didn't do a retrieve automatically. I think that's what happened when I installed initially and when I swapped from oziee to bjreplay fork (and went through a probably unnecessary uninstall)

autoSteve commented 1 month ago

For new API keys it does get forecast plus past.

                if not self._loaded_data:
                    # No file to load
                    _LOGGER.warning(f"There is no solcast.json to load, so fetching solar forecast, including past forecasts")
                    # Could be a brand new install of the integation, or the file has been removed. Poll once now...
                    await self.http_data(dopast=True)
autoSteve commented 1 month ago

and went through a probably unnecessary uninstall

This is what would have happened in your change-over case...

  1. Removed the Oziee integration. (The solcast.json file would have still existed.)
  2. Installed BJReplay. (Would have seen the solcast.json on startup, used it and not declared that there were any new sites, so would not have collected forecast.)

The logged messages in the code snippet above indicate that an API key has likely been added. Really it should say that a site has been added, which would not have been the case in your case. (Edit) The code mentioned earlier is only applicable for site addition. The proper "new user" code is now referenced...

autoSteve commented 1 month ago

But back to your edge case.

I think it does actually make sense. (Seventh-day issue raisers be damned to read the readme for eternity... 😈)

solcast.json contains the last updated timestamp. We keep track of API calls for the day. So if the last updated timestamp is yesterday or earlier, and the API uses for today is zero, then why not?

gcoan commented 1 month ago

solcast.json contains the last updated timestamp. We keep track of API calls for the day. So if the last updated timestamp is yesterday or earlier, and the API uses for today is zero, then why not?

It adds a benefit with the only negative being that it uses an API call/pair of API calls, but if you've got zero used anyway then limited impact.

And proposal that this only occurs on integration startup/restart?

autoSteve commented 1 month ago

And proposal that this only occurs on integration startup/restart?

True story. I'll see if it's an easy thing to implement.

gcoan commented 1 month ago

Regarding your weird "lost networking", check the IPv6 config in HA. I have seen this configured as "auto", getting an address, but routing/DNS issues prevent IPv6 working, so HA turns to custard for external connectivity.)

I did have IP v6 enabled and set to the default 'automatic', I've disabled it now.

It was very strange, I have a massive long HA logfile full of errors that didn't make sense about outbound connectivity from all of the integrations. Predbat (running under Appdaemon) was failing continuously with an 'out of threads' error, but yet HA was still running and I could acccess it from the local PC. My remote access was wireguard running under HA so I couldn't get in via that either.

I've now installed teamviewer on the HA host PC and the iPad app now seems to have matured enough to actually be usable so I"ve now got that as another remote control option.

Such a pain. At least the inverters were in Eco mode so they kept running the house off solar and batteries whilst I was away

autoSteve commented 1 month ago

If you're game to test this, and want to break Solcast for a day, unlike me, then insert in __init__.py...

Up the top:

from datetime import timedelta

Just before handle_service_update_forecast():

    # If the integration has failed for some time and then is restarted retrieve forecasts
    if solcast._api_used == 0 and solcast._data['last_updated'] < solcast.get_day_start_utc() - timedelta(days=1):
        _LOGGER.info('Integration has been failed for some time, or your update automation has not been running (see readme). Retrieving forecasts...')
        await solcast.http_data()

    async def handle_service_update_forecast(call: ServiceCall):
autoSteve commented 1 month ago

I modified the test to be one day before the start of get_day_start_utc(). This will prevent a restart following midnight with no API quota used triggering an update (which is entirely possible), but still meet your use case. Mostly.

gcoan commented 1 month ago

I'll have a go at testing it but I think I'll create a second test HA instance first.

I need to do that anyway as I want to test retrieving my missing solar generation & import/export history from the inverters and loading it into HA statistics.

Leave it with me to get the second instance up and running

gcoan commented 1 month ago

Got a second (test) HA server running now, restored from the last backup taken before HA went off into the boonies. Upgraded Solcast integration to 0.41 and the logfile on startup shows:

2024-08-05 21:46:25.094 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-05 21:46:25.094 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-05 21:46:25.094 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-05 21:46:25.211 WARNING (MainThread) [homeassistant.config_entries] Config entry 'misc@coan.cc' for tuya integration could not authenticate: Authentication failed. Please re-authenticate
2024-08-05 21:46:25.464 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_data()
2024-08-05 21:46:25.464 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing sites cache
2024-08-05 21:46:25.487 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-05 21:46:25.487 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-05 21:46:25.487 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-05 21:46:26.037 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-05 21:46:26.037 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-05 21:46:26.056 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 10/10
2024-08-05 21:46:26.214 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-05 21:46:26.585 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-04 23:00:00+00:00, idx 14913, len 14914
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-05 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-06 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-05 21:46:26.642 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-05 21:46:26.659 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.4445s
2024-08-05 21:46:26.660 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-05 21:46:26.672 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)

All the solcast entities are zero as expected.

Next step, try the code change above

gcoan commented 1 month ago

Up the top:

from datetime import timedelta

Done that

Just before handle_service_update_forecast():

    # If the integration has failed for some time and then is restarted retrieve forecasts
    if solcast._api_used

Couldn't find that in __init__.py

Do you mean insert it in here after line 176?:

    _LOGGER.info(f"Solcast API data UTC times are converted to {hass.config.time_zone}")

    if options.hard_limit < 100:
        _LOGGER.info(
            f"Solcast inverter hard limit value has been set. If the forecasts and graphs are not as you expect, try running the service 'solcast_solar.remove_hard_limit' to remove this setting. "
            f"This setting is really only for advanced quirky solar setups."
        )

XX insert code here

    async def handle_service_update_forecast(call: ServiceCall):
        """Handle service call"""
        _LOGGER.info(f"Service call: {SERVICE_UPDATE}")
        await coordinator.service_event_update()
autoSteve commented 1 month ago

Yep. That's the spot.

autoSteve commented 1 month ago

If you feel the need to upgrade to v4.0.42 and want these code mods @gcoan, then I've left them in __init.py__, commented out. Just un-comment them after upgrade.

There's nothing earth shattering in 42, so keeping your test instance held back might be simplest.

gcoan commented 1 month ago

Since it was one less reboot to insert the code into 4.0.41 rather than upgrade to 4.0.42 and uncomment the lines, I inserted the extra code into 4.0.41.

Good news it doesn't crash the integration.

Bad news, it doesn't work. Or at least it doesn't work whilst I am running my live HA instance in parallel due to:

2024-08-06 09:30:16.746 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-06 09:30:16.746 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-06 09:30:17.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-06 09:30:17.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-06 09:30:17.374 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 4/10

I'm already on 4 API calls today (1am update for ensuring overnight battery charging has as up to date solar forecast as it can be, and 6am for start of solar day).

I'll have to disable the solar forecast update on my main HA instance and test again tomorrow morning.

Curiously the spline magic is calculating a PV forecast remaining today despite the other sensors not being populated: image

image

But its not the correct value that my live HA instance is showing: image image

I'm guessing the spline code is picking up some old data and not realising that its out of date. So there, found another 'feature' for you to look at ...

(the purple is the HA test server vs default blue of HA live)

autoSteve commented 1 month ago

I'm guessing the spline code is picking up some old data and not realising that its out of date.

That is super-highly likely...

Why it is super-highly likely wants investigation and makes my head hurt, as brain says, "That is impossible".

restored from the last backup taken before HA went off into the boonies

So that is why all the forecasts are zero, which makes sense, but where the heck is the spline calc getting data from??? It is using exactly the same start timestamp as the pre-spline code was. So is this my issue, or a pre-existing latent "bight in bum" waiting to happen?

I've got a (mostly) free evening, so I'll stare at some code.

autoSteve commented 1 month ago

In solcastapi.py, if you set _SENSOR_DEBUG_LOGGING = True at the top of the file then restart, the voluminous sensor logging will return. I wouldn't mind seeing the output from your test rig, as it features the start/end timestamps and array indexes along with the resulting value...

autoSteve commented 1 month ago

Looking further. If the _data structure does not contain the indexes requested, then get_list_slice() will return zero values, which will probably cause the splines to be calculated from index zero of your solcast.json array.

My best guess is that setting _SENSOR_DEBUG_LOGGING = True will show zero st_i and end_i indexes... In which case, if confirmed, the splines should set all interpolated values to zero when that occurs.

autoSteve commented 1 month ago

Looking even further, your logs could be full of exceptions...

autoSteve commented 1 month ago

Assuming there is not exception Hell in your logs, replace this function in solcastapi.py on your test rig. This is a partial "fix", which should see the 'remaining' spline for estimate/10/90 overall go zero.

    async def spline_remaining(self):
        """A cubic spline to retrieve interpolated inter-interval reducing estimates for five minute periods"""
        def buildY(_data, _data_field, st):
            y = []
            for i in range(0, len(self._spline_period)):
                rem = 0
                for j in range(i, len(self._spline_period)): rem += _data[st+j][_data_field]
                y.append(0.5 * rem)
            return  y
        df = ['pv_estimate']
        if self.options.attr_brk_estimate10: df.append('pv_estimate10')
        if self.options.attr_brk_estimate90: df.append('pv_estimate90')
        xx = [ i for i in range(0, 1800*len(self._spline_period), 300) ]
        _data = self._data_forecasts
        st, _ = self.get_forecast_list_slice(_data, self.get_day_start_utc()) # Get start of day index
        self.fc_remaining['all'] = {}
        for _data_field in df:
            if st > 0:
                y = buildY(_data, _data_field, st)
                self.fc_remaining['all'][_data_field] = cubic_interp(xx, self._spline_period, y)
                for j in xx:
                    i = int(j/300)
                    k = int(math.floor(j/1800))
                    if math.copysign(1.0, self.fc_remaining['all'][_data_field][i]) < 0: self.fc_remaining['all'][_data_field][i] = 0.0 # Suppress negative values
                    if k+1 <= len(y)-1 and y[k] == y[k+1] and self.fc_remaining['all'][_data_field][i] > round(y[k],4): self.fc_remaining['all'][_data_field][i] = y[k] # Suppress spline bounce
            else:
                self.fc_remaining['all'][_data_field] = [0] * (len(self._spline_period) * 6)
        if self.options.attr_brk_site:
            for site in self._sites:
                self.fc_remaining[site['resource_id']] = {}
                _data = self._site_data_forecasts[site['resource_id']]
                st, _ = self.get_forecast_list_slice(_data, self.get_day_start_utc()) # Get start of day index
                for _data_field in df:
                    y = buildY(_data, _data_field, st)
                    self.fc_remaining[site['resource_id']][_data_field] = cubic_interp(xx, self._spline_period, y)
                    for j in xx:
                        i = int(j/300)
                        k = int(math.floor(j/1800))
                        if math.copysign(1.0, self.fc_remaining[site['resource_id']][_data_field][i]) < 0: self.fc_remaining[site['resource_id']][_data_field][i] = 0.0 # Suppress negative values
                        if k+1 <= len(y)-1 and y[k] == y[k+1] and self.fc_remaining[site['resource_id']][_data_field][i] > round(y[k],4): self.fc_remaining[site['resource_id']][_data_field][i] = y[k] # Suppress spline bounce
gcoan commented 1 month ago

Thanks for all the responses. Do you want me to turn on the extra logging first and post that, or just apply the fix (no logging), or apply fix and turn on logging?

autoSteve commented 1 month ago

Send it all. Logging. Fix. Restart. Hopefully bask in zeros remaining for today.

gcoan commented 1 month ago

Turned debug logging on:

2024-08-06 11:58:06.103 INFO (MainThread) [custom_components.solcast_solar]
-------------------------------------------------------------------
Solcast integration version: v4.0.41
This is a custom integration. When troubleshooting a problem, after
reviewing open and closed issues, and the discussions, check the
required automation is functioning correctly and try enabling debug
logging to see more. Troubleshooting tips available at:
https://github.com/BJReplay/ha-solcast-solar/discussions/38
Beta versions may also have addressed some issues so look at those.
If all else fails, then open an issue and our community will try to
help: https://github.com/BJReplay/ha-solcast-solar/issues
-------------------------------------------------------------------
2024-08-06 11:58:06.126 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-06 11:58:06.126 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-06 11:58:06.126 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-06 11:58:06.625 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_data()
2024-08-06 11:58:06.649 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing sites cache
2024-08-06 11:58:06.713 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-06 11:58:06.713 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-06 11:58:06.713 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-06 11:58:06.991 WARNING (MainThread) [homeassistant.config_entries] Config entry 'misc@coan.cc' for tuya integration could not authenticate: Authentication failed. Please re-authenticate
2024-08-06 11:58:07.264 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-06 11:58:07.264 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-06 11:58:07.287 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 6/10
2024-08-06 11:58:07.471 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-06 11:58:08.062 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-05 23:00:00+00:00, idx 14913, len 14914
2024-08-06 11:58:08.232 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-06 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 11:58:08.233 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 11:58:08.233 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 11:58:08.234 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 11:58:08.234 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 11:58:08.234 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 11:58:08.234 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 11:58:08.234 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 11:58:08.234 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-06 11:58:08.273 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.8012s
2024-08-06 11:58:08.274 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-06 11:58:08.427 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)
2024-08-06 11:58:10.146 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/themes", "/config/themes", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1182: self.hass.http.register_static_path(f"{URL_BASE}/themes", self.hass.config.path("themes")), please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 11:58:10.152 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/frontend", "/config/custom_components/hacs/hacs_frontend", False)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 54: hass.http.register_static_path(f"{URL_BASE}/frontend", locate_dir(), cache_headers=False), please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 11:58:10.176 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/iconset.js", "/config/custom_components/hacs/iconset.js", True)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 57: hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 11:58:10.180 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 11:58:10.205 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles", "/config/www/community", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1162: self.hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 11:58:10.421 ERROR (MainThread) [homeassistant.components.esphome.coordinator] Error requesting ESPHome Dashboard data: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-06 11:58:10.429 ERROR (MainThread) [homeassistant.components.esphome.dashboard] Dashboard unavailable; skipping reauth: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-06 11:58:11.030 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 17.7552
2024-08-06 11:58:11.032 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.032 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 4.5884
2024-08-06 11:58:11.032 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.032 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.032 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.032 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.045 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.045 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.045 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.067 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.068 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 10:55:00 sec 42900 res 5.0899
2024-08-06 11:58:11.068 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:25:00 sec 44700 res 4.0869
2024-08-06 11:58:11.068 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:55:00 sec 46500 res 3.3323
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 0 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.071 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.071 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.071 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.071 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.071 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.071 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.071 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.071 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-06 10:00:00 end 2024-08-06 11:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 10.8572
2024-08-06 11:58:11.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 10.8572
2024-08-06 11:58:11.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0.0
2024-08-06 11:58:11.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 6.898
2024-08-06 11:58:11.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 6.898
2024-08-06 11:58:11.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0.0
2024-08-06 11:58:11.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 17.7552
2024-08-06 11:58:11.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate10 st 2024-08-06 10:55:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0.0
2024-08-06 11:58:11.075 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.075 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.075 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.075 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.075 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 2.9519
2024-08-06 11:58:11.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 2.9519
2024-08-06 11:58:11.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 0.0
2024-08-06 11:58:11.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 1.6365
2024-08-06 11:58:11.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 1.6365
2024-08-06 11:58:11.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 0.0
2024-08-06 11:58:11.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 4.5884
2024-08-06 11:58:11.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate10 st 2024-08-06 10:55:00 end 2024-08-06 11:55:00 st_i 0 end_i 0 res 0.0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 1 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 2 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 3 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 4 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 11:58:11.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.085 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.085 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.085 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 5 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 11:58:11.085 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.085 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.085 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.086 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.086 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.086 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.086 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.086 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.086 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 6 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 11:58:11.086 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.087 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.087 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.087 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.087 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.087 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.087 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.087 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 11:58:11.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 10:55:00 sec 42900 res 3.3156
2024-08-06 11:58:11.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 10:55:00 sec 42900 res 3.3156
2024-08-06 11:58:11.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 10:55:00 sec 42900 res 0.0
2024-08-06 11:58:11.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 10:55:00 sec 42900 res 1.7743
2024-08-06 11:58:11.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 10:55:00 sec 42900 res 1.7743
2024-08-06 11:58:11.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 10:55:00 sec 42900 res 0.0
2024-08-06 11:58:11.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 10:55:00 sec 42900 res 5.0899
2024-08-06 11:58:11.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 10:55:00 sec 42900 res 0.0
2024-08-06 11:58:11.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:25:00 sec 44700 res 2.5881
2024-08-06 11:58:11.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:25:00 sec 44700 res 2.5881
2024-08-06 11:58:11.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 11:25:00 sec 44700 res 0.0
2024-08-06 11:58:11.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:25:00 sec 44700 res 1.4988
2024-08-06 11:58:11.090 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:25:00 sec 44700 res 1.4988
2024-08-06 11:58:11.090 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 11:25:00 sec 44700 res 0.0
2024-08-06 11:58:11.090 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:25:00 sec 44700 res 4.0869
2024-08-06 11:58:11.090 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 11:25:00 sec 44700 res 0.0
2024-08-06 11:58:11.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:55:00 sec 46500 res 2.1187
2024-08-06 11:58:11.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:55:00 sec 46500 res 2.1187
2024-08-06 11:58:11.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 11:55:00 sec 46500 res 0.0
2024-08-06 11:58:11.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:55:00 sec 46500 res 1.2136
2024-08-06 11:58:11.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:55:00 sec 46500 res 1.2136
2024-08-06 11:58:11.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 11:55:00 sec 46500 res 0.0
2024-08-06 11:58:11.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:55:00 sec 46500 res 3.3323
2024-08-06 11:58:11.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 11:55:00 sec 46500 res 0.0
2024-08-06 11:58:11.095 INFO (MainThread) [custom_components.solcast_solar] Solcast API data UTC times are converted to Europe/London
2024-08-06 11:58:15.878 ERROR (MainThread) [homeassistant.components.mqtt.client] Failed to connect to MQTT server due to exception: [Errno -5] Name has no usable address
2024-08-06 11:58:41.672 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'tplink_deco' calls async_forward_entry_setup for integration, tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, which is deprecated and will stop working in Home Assistant 2025.6, await async_forward_entry_setups instead at custom_components/tplink_deco/__init__.py, line 166: config_entry.async_create_task(, please create a bug report at https://github.com/amosyuen/ha-tplink-deco/issues
2024-08-06 11:58:41.705 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1. Please report this issue.
Stack (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2122, in async_forward_entry_setup
_report_non_awaited_platform_forwards(entry, "async_forward_entry_setup")
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1175, in _report_non_awaited_platform_forwards
report(
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 151, in report
_LOGGER.warning(msg, stack_info=True)
2024-08-06 11:58:41.720 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1. Please report this issue.
Stack (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2122, in async_forward_entry_setup
_report_non_awaited_platform_forwards(entry, "async_forward_entry_setup")
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1175, in _report_non_awaited_platform_forwards
report(
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 151, in report
_LOGGER.warning(msg, stack_info=True)
2024-08-06 11:58:41.807 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.helpers.event. This is deprecated and will stop working in Home Assistant 2024.11, it should be updated to import functions used from event directly at custom_components/hacs/base.py, line 630: self.hass.helpers.event.async_track_time_interval(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 11:58:48.204 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to iglob with args ('/config/**/*.yaml',) inside the event loop by custom integration 'watchman' at custom_components/watchman/utils.py, line 160: for filename in glob.iglob(folder, recursive=True): (offender: /config/custom_components/watchman/utils.py, line 160: for filename in glob.iglob(folder, recursive=True):), please create a bug report at https://github.com/andreasbrett/thewatchman/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#iglob
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/runner.py", line 166, in setup_and_run_hass
return await hass.async_run()
File "/usr/src/homeassistant/homeassistant/core.py", line 523, in async_run
await self.async_start()
File "/usr/src/homeassistant/homeassistant/core.py", line 576, in async_start
self.bus.async_fire_internal(EVENT_HOMEASSISTANT_STARTED)
File "/usr/src/homeassistant/homeassistant/core.py", line 1559, in async_fire_internal
self._hass.async_run_hass_job(job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 938, in async_run_hass_job
hassjob.target(*args)
File "/usr/src/homeassistant/homeassistant/core.py", line 1420, in __call__
self.hass.async_run_hass_job(self.listener_job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 941, in async_run_hass_job
return self._async_add_hass_job(hassjob, *args, background=background)
File "/usr/src/homeassistant/homeassistant/core.py", line 756, in _async_add_hass_job
task = create_eager_task(
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task
return Task(coro, loop=loop, name=name, eager_start=True)
File "/config/custom_components/watchman/__init__.py", line 273, in async_on_home_assistant_started
await parse_config(hass, reason="HA restart")
File "/config/custom_components/watchman/__init__.py", line 350, in parse_config
entity_list, service_list, files_parsed, files_ignored = await parse(
File "/config/custom_components/watchman/utils.py", line 252, in parse
for yaml_file, ignored in get_next_file(folders, ignored_files):
File "/config/custom_components/watchman/utils.py", line 160, in get_next_file
for filename in glob.iglob(folder, recursive=True):
2024-08-06 11:58:48.212 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to scandir with args ('/config/',) inside the event loop by custom integration 'watchman' at custom_components/watchman/utils.py, line 160: for filename in glob.iglob(folder, recursive=True): (offender: /usr/local/lib/python3.12/glob.py, line 160: with os.scandir(arg) as it:), please create a bug report at https://github.com/andreasbrett/thewatchman/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/runner.py", line 166, in setup_and_run_hass
return await hass.async_run()
File "/usr/src/homeassistant/homeassistant/core.py", line 523, in async_run
await self.async_start()
File "/usr/src/homeassistant/homeassistant/core.py", line 576, in async_start
self.bus.async_fire_internal(EVENT_HOMEASSISTANT_STARTED)
File "/usr/src/homeassistant/homeassistant/core.py", line 1559, in async_fire_internal
self._hass.async_run_hass_job(job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 938, in async_run_hass_job
hassjob.target(*args)
File "/usr/src/homeassistant/homeassistant/core.py", line 1420, in __call__
self.hass.async_run_hass_job(self.listener_job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 941, in async_run_hass_job
return self._async_add_hass_job(hassjob, *args, background=background)
File "/usr/src/homeassistant/homeassistant/core.py", line 756, in _async_add_hass_job
task = create_eager_task(
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task
return Task(coro, loop=loop, name=name, eager_start=True)
File "/config/custom_components/watchman/__init__.py", line 273, in async_on_home_assistant_started
await parse_config(hass, reason="HA restart")
File "/config/custom_components/watchman/__init__.py", line 350, in parse_config
entity_list, service_list, files_parsed, files_ignored = await parse(
File "/config/custom_components/watchman/utils.py", line 252, in parse
for yaml_file, ignored in get_next_file(folders, ignored_files):
File "/config/custom_components/watchman/utils.py", line 160, in get_next_file
for filename in glob.iglob(folder, recursive=True):
2024-08-06 11:58:48.260 WARNING (MainThread) [homeassistant.components.homeassistant.triggers.numeric_state] Error initializing 'HA: CPU utilisation is high' trigger: In 'numeric_state' condition: unknown entity sensor.studio_code_server_cpu_percent
2024-08-06 11:58:48.261 WARNING (MainThread) [homeassistant.components.homeassistant.triggers.numeric_state] Error initializing 'HA: CPU utilisation is high' trigger: In 'numeric_state' condition: unknown entity sensor.studio_code_server_memory_percent

Getting a load of rubbish other errors in there because most of the add-on's are not set to auto-start so that the test HA doesn't try to control by inverter & batteries

autoSteve commented 1 month ago

Well there are the zero st_i and end_i indexes, so that is confirmed...

Your 'Power now/+30/+60 sensors are also affected, and I've already written a fix for the moment spline.

gcoan commented 1 month ago

applied fix, restarted HA, new logs:

2024-08-06 12:03:15.173 INFO (MainThread) [custom_components.solcast_solar]
-------------------------------------------------------------------
Solcast integration version: v4.0.41
This is a custom integration. When troubleshooting a problem, after
reviewing open and closed issues, and the discussions, check the
required automation is functioning correctly and try enabling debug
logging to see more. Troubleshooting tips available at:
https://github.com/BJReplay/ha-solcast-solar/discussions/38
Beta versions may also have addressed some issues so look at those.
If all else fails, then open an issue and our community will try to
help: https://github.com/BJReplay/ha-solcast-solar/issues
-------------------------------------------------------------------
2024-08-06 12:03:15.178 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-06 12:03:15.179 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-06 12:03:15.179 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-06 12:03:15.912 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_data()
2024-08-06 12:03:15.918 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing sites cache
2024-08-06 12:03:15.955 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-06 12:03:15.955 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-06 12:03:15.955 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-06 12:03:16.473 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-06 12:03:16.473 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-06 12:03:16.877 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 6/10
2024-08-06 12:03:16.948 ERROR (MainThread) [homeassistant.components.esphome.coordinator] Error requesting ESPHome Dashboard data: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-06 12:03:16.969 ERROR (MainThread) [homeassistant.components.esphome.dashboard] Dashboard unavailable; skipping reauth: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-06 12:03:17.212 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-06 12:03:17.610 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-05 23:00:00+00:00, idx 14913, len 14914
2024-08-06 12:03:17.769 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-06 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:03:17.770 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:03:17.770 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:03:17.770 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:03:17.770 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:03:17.770 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:03:17.770 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:03:17.770 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:03:17.770 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-06 12:03:17.792 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.5799s
2024-08-06 12:03:17.793 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-06 12:03:17.923 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)
2024-08-06 12:03:18.060 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.069 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.070 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:00:00 sec 43200 res 4.9438
2024-08-06 12:03:18.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:30:00 sec 45000 res 3.9278
2024-08-06 12:03:18.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 12:00:00 sec 46800 res 3.2381
2024-08-06 12:03:18.075 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 0 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:03:18.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.088 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 10.5493
2024-08-06 12:03:18.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 10.5493
2024-08-06 12:03:18.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0.0
2024-08-06 12:03:18.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 6.7552
2024-08-06 12:03:18.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 6.7552
2024-08-06 12:03:18.089 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0.0
2024-08-06 12:03:18.090 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.090 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.090 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.090 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 2.8339
2024-08-06 12:03:18.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 2.8339
2024-08-06 12:03:18.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0.0
2024-08-06 12:03:18.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 1.6019
2024-08-06 12:03:18.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 1.6019
2024-08-06 12:03:18.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0.0
2024-08-06 12:03:18.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 1 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.093 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.102 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.102 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.102 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.102 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.103 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.103 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.103 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.103 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.103 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.104 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.104 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.104 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.104 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.104 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.104 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.104 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:03:18.332 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 2 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:03:18.332 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.332 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.332 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.332 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.332 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.332 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.332 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 3 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.333 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 4 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.334 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 5 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.335 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.336 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 6 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:03:18.336 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.336 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.336 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.336 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.336 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.336 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:00:00 sec 43200 res 3.1739
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:00:00 sec 43200 res 3.1739
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 11:00:00 sec 43200 res 0.0
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:00:00 sec 43200 res 1.7699
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:00:00 sec 43200 res 1.7699
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 11:00:00 sec 43200 res 0.0
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:00:00 sec 43200 res 4.9438
2024-08-06 12:03:18.337 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 11:00:00 sec 43200 res 0.0
2024-08-06 12:03:18.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:30:00 sec 45000 res 2.4939
2024-08-06 12:03:18.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:30:00 sec 45000 res 2.4939
2024-08-06 12:03:18.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 11:30:00 sec 45000 res 0.0
2024-08-06 12:03:18.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:30:00 sec 45000 res 1.4339
2024-08-06 12:03:18.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:30:00 sec 45000 res 1.4339
2024-08-06 12:03:18.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 11:30:00 sec 45000 res 0.0
2024-08-06 12:03:18.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:30:00 sec 45000 res 3.9278
2024-08-06 12:03:18.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 11:30:00 sec 45000 res 0.0
2024-08-06 12:03:18.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 12:00:00 sec 46800 res 2.0606
2024-08-06 12:03:18.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 12:00:00 sec 46800 res 2.0606
2024-08-06 12:03:18.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 12:00:00 sec 46800 res 0.0
2024-08-06 12:03:18.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 12:00:00 sec 46800 res 1.1775
2024-08-06 12:03:18.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 12:00:00 sec 46800 res 1.1775
2024-08-06 12:03:18.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 12:00:00 sec 46800 res 0.0
2024-08-06 12:03:18.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 12:00:00 sec 46800 res 3.2381
2024-08-06 12:03:18.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 12:00:00 sec 46800 res 0.0
2024-08-06 12:03:18.345 INFO (MainThread) [custom_components.solcast_solar] Solcast API data UTC times are converted to Europe/London
2024-08-06 12:03:18.381 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/themes", "/config/themes", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1182: self.hass.http.register_static_path(f"{URL_BASE}/themes", self.hass.config.path("themes")), please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:03:18.387 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/frontend", "/config/custom_components/hacs/hacs_frontend", False)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 54: hass.http.register_static_path(f"{URL_BASE}/frontend", locate_dir(), cache_headers=False), please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:03:18.397 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/iconset.js", "/config/custom_components/hacs/iconset.js", True)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 57: hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:03:18.402 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:03:18.406 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles", "/config/www/community", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1162: self.hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:03:19.100 ERROR (MainThread) [plugp100.protocol.klap.klap_protocol] Query failed after successful authentication. Remaining attempts count is 2
2024-08-06 12:03:22.139 ERROR (MainThread) [homeassistant.components.mqtt.client] Failed to connect to MQTT server due to exception: [Errno -5] Name has no usable address
2024-08-06 12:03:38.628 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'tplink_deco' calls async_forward_entry_setup for integration, tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, which is deprecated and will stop working in Home Assistant 2025.6, await async_forward_entry_setups instead at custom_components/tplink_deco/__init__.py, line 166: config_entry.async_create_task(, please create a bug report at https://github.com/amosyuen/ha-tplink-deco/issues
2024-08-06 12:03:38.661 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1. Please report this issue.
Stack (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2122, in async_forward_entry_setup
_report_non_awaited_platform_forwards(entry, "async_forward_entry_setup")
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1175, in _report_non_awaited_platform_forwards
report(
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 151, in report
_LOGGER.warning(msg, stack_info=True)
2024-08-06 12:03:38.670 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1. Please report this issue.
Stack (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2122, in async_forward_entry_setup
_report_non_awaited_platform_forwards(entry, "async_forward_entry_setup")
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1175, in _report_non_awaited_platform_forwards
report(
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 151, in report
_LOGGER.warning(msg, stack_info=True)
2024-08-06 12:03:38.746 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.helpers.event. This is deprecated and will stop working in Home Assistant 2024.11, it should be updated to import functions used from event directly at custom_components/hacs/base.py, line 630: self.hass.helpers.event.async_track_time_interval(, please create a bug report at https://github.com/hacs/integration/issues

And now showing zero in forecast remaining today: image

(total solar energy today is spurious, its a template sensor pulling old sensor values and the add-on is not running)

Looks like the site breakdown is still being filled in, sorry: image

gcoan commented 1 month ago

Well there are the zero st_i and end_i indexes, so that is confirmed...

Your 'Power now/+30/+60 sensors are also affected, and I've already written a fix for the moment spline.

yes these all have values in them: image

autoSteve commented 1 month ago

Full fix code, includes remaining and moment splines.

I'm going to commit this, as your test is well pleasing. I'm not going to make a fuss about a v.43 release for this (because I like the number 42). It is going to be a super-rare occurrence for people to hit this, but for completeness if you could please test the entire replacement that will confirm the moment splines also zeroed out.

    async def spline_moments(self):
        """A cubic spline to retrieve interpolated inter-interval momentary estimates for five minute periods"""
        df = ['pv_estimate']
        if self.options.attr_brk_estimate10: df.append('pv_estimate10')
        if self.options.attr_brk_estimate90: df.append('pv_estimate90')
        xx = [ i for i in range(0, 1800*len(self._spline_period), 300) ]
        _data = self._data_forecasts
        st, _ = self.get_forecast_list_slice(_data, self.get_day_start_utc()) # Get start of day index
        self.fc_moment['all'] = {}
        for _data_field in df:
            if st > 0:
                y = [_data[st+i][_data_field] for i in range(0, len(self._spline_period))]
                self.fc_moment['all'][_data_field] = cubic_interp(xx, self._spline_period, y)
                for j in xx:
                    i = int(j/300)
                    if math.copysign(1.0, self.fc_moment['all'][_data_field][i]) < 0: self.fc_moment['all'][_data_field][i] = 0.0 # Suppress negative values
                    k = int(math.floor(j/1800))
                    if k+1 <= len(y)-1 and y[k] == 0 and y[k+1] == 0: self.fc_moment['all'][_data_field][i] = 0.0 # Suppress spline bounce
            else: # The list slice was not found, so zero the moments
                self.fc_moment['all'][_data_field] = [0] * (len(self._spline_period) * 6)
        if self.options.attr_brk_site:
            for site in self._sites:
                self.fc_moment[site['resource_id']] = {}
                _data = self._site_data_forecasts[site['resource_id']]
                st, _ = self.get_forecast_list_slice(_data, self.get_day_start_utc()) # Get start of day index
                for _data_field in df:
                    if st > 0:
                        y = [_data[st+i][_data_field] for i in range(0, len(self._spline_period))]
                        self.fc_moment[site['resource_id']][_data_field] = cubic_interp(xx, self._spline_period, y)
                        for j in xx:
                            i = int(j/300)
                            if math.copysign(1.0, self.fc_moment[site['resource_id']][_data_field][i]) < 0: self.fc_moment[site['resource_id']][_data_field][i] = 0.0 # Suppress negative values
                            k = int(math.floor(j/1800))
                            if k+1 <= len(y)-1 and y[k] == 0 and y[k+1] == 0: self.fc_moment[site['resource_id']][_data_field][i] = 0.0 # Suppress spline bounce
                    else: # The list slice was not found, so zero the moments
                        self.fc_moment[site['resource_id']][_data_field] = [0] * (len(self._spline_period) * 6)

    def get_moment(self, site, _data_field, t):
        return self.fc_moment['all' if site is None else site][self._data_field if _data_field is None else _data_field][int(t / 300)]

    async def spline_remaining(self):
        """A cubic spline to retrieve interpolated inter-interval reducing estimates for five minute periods"""
        def buildY(_data, _data_field, st):
            y = []
            for i in range(0, len(self._spline_period)):
                rem = 0
                for j in range(i, len(self._spline_period)): rem += _data[st+j][_data_field]
                y.append(0.5 * rem)
            return  y
        df = ['pv_estimate']
        if self.options.attr_brk_estimate10: df.append('pv_estimate10')
        if self.options.attr_brk_estimate90: df.append('pv_estimate90')
        xx = [ i for i in range(0, 1800*len(self._spline_period), 300) ]
        _data = self._data_forecasts
        st, _ = self.get_forecast_list_slice(_data, self.get_day_start_utc()) # Get start of day index
        self.fc_remaining['all'] = {}
        for _data_field in df:
            if st > 0:
                y = buildY(_data, _data_field, st)
                self.fc_remaining['all'][_data_field] = cubic_interp(xx, self._spline_period, y)
                for j in xx:
                    i = int(j/300)
                    k = int(math.floor(j/1800))
                    if math.copysign(1.0, self.fc_remaining['all'][_data_field][i]) < 0: self.fc_remaining['all'][_data_field][i] = 0.0 # Suppress negative values
                    if k+1 <= len(y)-1 and y[k] == y[k+1] and self.fc_remaining['all'][_data_field][i] > round(y[k],4): self.fc_remaining['all'][_data_field][i] = y[k] # Suppress spline bounce
            else: # The list slice was not found, so zero the remainings
                self.fc_remaining['all'][_data_field] = [0] * (len(self._spline_period) * 6)
        if self.options.attr_brk_site:
            for site in self._sites:
                self.fc_remaining[site['resource_id']] = {}
                _data = self._site_data_forecasts[site['resource_id']]
                st, _ = self.get_forecast_list_slice(_data, self.get_day_start_utc()) # Get start of day index
                for _data_field in df:
                    if st > 0:
                        y = buildY(_data, _data_field, st)
                        self.fc_remaining[site['resource_id']][_data_field] = cubic_interp(xx, self._spline_period, y)
                        for j in xx:
                            i = int(j/300)
                            k = int(math.floor(j/1800))
                            if math.copysign(1.0, self.fc_remaining[site['resource_id']][_data_field][i]) < 0: self.fc_remaining[site['resource_id']][_data_field][i] = 0.0 # Suppress negative values
                            if k+1 <= len(y)-1 and y[k] == y[k+1] and self.fc_remaining[site['resource_id']][_data_field][i] > round(y[k],4): self.fc_remaining[site['resource_id']][_data_field][i] = y[k] # Suppress spline bounce
                    else: # The list slice was not found, so zero the remainings
                        self.fc_remaining[site['resource_id']][_data_field] = [0] * (len(self._spline_period) * 6)
autoSteve commented 1 month ago

Your 'Power now/+30/+60 sensors are also affected

I find it amusing that your estimate10 values were all zero for these moment sensors. I cannot explain this, but still chuckle as to why that is. (looks at more code...)

gcoan commented 1 month ago

Full fix code, includes remaining and moment splines.

I'm going to commit this, as your test is well pleasing. I'm not going to make a fuss about a v.43 release for this (because I like the number 42). It is going to be a super-rare occurrence for people to hit this, but for completeness if you could please test the entire replacement that will confirm the moment splines also zeroed out.

applied code.

latest logfile:

024-08-06 12:18:44.653 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-06 12:18:44.654 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-06 12:18:44.654 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-06 12:18:45.424 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_data()
2024-08-06 12:18:45.424 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing sites cache
2024-08-06 12:18:45.576 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-06 12:18:45.576 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-06 12:18:45.577 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-06 12:18:45.923 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-06 12:18:45.924 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-06 12:18:45.968 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 6/10
2024-08-06 12:18:46.167 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-06 12:18:46.721 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-05 23:00:00+00:00, idx 14913, len 14914
2024-08-06 12:18:46.800 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-06 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-06 12:18:46.801 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.6335s
2024-08-06 12:18:46.802 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-06 12:18:46.831 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)
2024-08-06 12:18:47.760 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/themes", "/config/themes", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1182: self.hass.http.register_static_path(f"{URL_BASE}/themes", self.hass.config.path("themes")), please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:18:47.766 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/frontend", "/config/custom_components/hacs/hacs_frontend", False)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 54: hass.http.register_static_path(f"{URL_BASE}/frontend", locate_dir(), cache_headers=False), please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:18:47.770 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/iconset.js", "/config/custom_components/hacs/iconset.js", True)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 57: hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:18:47.773 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:18:47.777 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles", "/config/www/community", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1162: self.hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:18:48.285 WARNING (MainThread) [homeassistant.config_entries] Config entry 'misc@coan.cc' for tuya integration could not authenticate: Authentication failed. Please re-authenticate
2024-08-06 12:18:48.402 ERROR (MainThread) [homeassistant.components.esphome.coordinator] Error requesting ESPHome Dashboard data: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-06 12:18:48.403 ERROR (MainThread) [homeassistant.components.esphome.dashboard] Dashboard unavailable; skipping reauth: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-06 12:18:48.807 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.808 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.808 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.808 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.808 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.808 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.808 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.808 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.808 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.809 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.810 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 0 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:18:48.810 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.810 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.810 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.810 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.810 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.810 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.811 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.811 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.811 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.811 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.811 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.811 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.811 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.812 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.813 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.813 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate10 st 2024-08-05 23:00:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.813 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.813 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.813 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.813 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.813 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.818 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.818 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.818 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.819 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.819 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.819 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.819 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.820 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.820 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.820 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.820 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate10 st 2024-08-06 11:15:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.821 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.821 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.821 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.821 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.821 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.821 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.821 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.821 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate10 st 2024-08-06 11:15:00 end 2024-08-06 12:15:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 1 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:18:48.822 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.823 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.823 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.823 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.823 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.823 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.823 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.823 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.823 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.824 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.825 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.829 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.829 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.829 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.829 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.829 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-06 12:18:48.831 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 2 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:18:48.831 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.831 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.831 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.831 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 3 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.832 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 4 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.833 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 5 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 6 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.835 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:18:48.836 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.836 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.836 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.836 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.836 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.836 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.836 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.836 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 11:15:00 sec 44100 res 0
2024-08-06 12:18:48.837 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.837 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.837 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.837 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.837 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.837 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.837 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.837 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 11:45:00 sec 45900 res 0
2024-08-06 12:18:48.838 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.839 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.840 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.840 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.840 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.840 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.840 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.840 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 12:15:00 sec 47700 res 0
2024-08-06 12:18:48.842 INFO (MainThread) [custom_components.solcast_solar] Solcast API data UTC times are converted to Europe/London
2024-08-06 12:18:53.125 ERROR (MainThread) [homeassistant.components.mqtt.client] Failed to connect to MQTT server due to exception: [Errno -5] Name has no usable address
2024-08-06 12:19:15.517 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'tplink_deco' calls async_forward_entry_setup for integration, tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, which is deprecated and will stop working in Home Assistant 2025.6, await async_forward_entry_setups instead at custom_components/tplink_deco/__init__.py, line 166: config_entry.async_create_task(, please create a bug report at https://github.com/amosyuen/ha-tplink-deco/issues
2024-08-06 12:19:15.552 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1. Please report this issue.
Stack (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2122, in async_forward_entry_setup
_report_non_awaited_platform_forwards(entry, "async_forward_entry_setup")
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1175, in _report_non_awaited_platform_forwards
report(
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 151, in report
_LOGGER.warning(msg, stack_info=True)
2024-08-06 12:19:15.562 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration tplink_deco with title: 192.168.1.101 and entry_id: 760741b0e8f7b7503e54fb7c71a12b81, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1. Please report this issue.
Stack (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2122, in async_forward_entry_setup
_report_non_awaited_platform_forwards(entry, "async_forward_entry_setup")
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1175, in _report_non_awaited_platform_forwards
report(
File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 151, in report
_LOGGER.warning(msg, stack_info=True)
2024-08-06 12:19:15.629 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.helpers.event. This is deprecated and will stop working in Home Assistant 2024.11, it should be updated to import functions used from event directly at custom_components/hacs/base.py, line 630: self.hass.helpers.event.async_track_time_interval(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-06 12:19:22.093 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to iglob with args ('/config/**/*.yaml',) inside the event loop by custom integration 'watchman' at custom_components/watchman/utils.py, line 160: for filename in glob.iglob(folder, recursive=True): (offender: /config/custom_components/watchman/utils.py, line 160: for filename in glob.iglob(folder, recursive=True):), please create a bug report at https://github.com/andreasbrett/thewatchman/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#iglob
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/runner.py", line 166, in setup_and_run_hass
return await hass.async_run()
File "/usr/src/homeassistant/homeassistant/core.py", line 523, in async_run
await self.async_start()
File "/usr/src/homeassistant/homeassistant/core.py", line 576, in async_start
self.bus.async_fire_internal(EVENT_HOMEASSISTANT_STARTED)
File "/usr/src/homeassistant/homeassistant/core.py", line 1559, in async_fire_internal
self._hass.async_run_hass_job(job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 938, in async_run_hass_job
hassjob.target(*args)
File "/usr/src/homeassistant/homeassistant/core.py", line 1420, in __call__
self.hass.async_run_hass_job(self.listener_job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 941, in async_run_hass_job
return self._async_add_hass_job(hassjob, *args, background=background)
File "/usr/src/homeassistant/homeassistant/core.py", line 756, in _async_add_hass_job
task = create_eager_task(
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task
return Task(coro, loop=loop, name=name, eager_start=True)
File "/config/custom_components/watchman/__init__.py", line 273, in async_on_home_assistant_started
await parse_config(hass, reason="HA restart")
File "/config/custom_components/watchman/__init__.py", line 350, in parse_config
entity_list, service_list, files_parsed, files_ignored = await parse(
File "/config/custom_components/watchman/utils.py", line 252, in parse
for yaml_file, ignored in get_next_file(folders, ignored_files):
File "/config/custom_components/watchman/utils.py", line 160, in get_next_file
for filename in glob.iglob(folder, recursive=True):
2024-08-06 12:19:22.097 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to scandir with args ('/config/',) inside the event loop by custom integration 'watchman' at custom_components/watchman/utils.py, line 160: for filename in glob.iglob(folder, recursive=True): (offender: /usr/local/lib/python3.12/glob.py, line 160: with os.scandir(arg) as it:), please create a bug report at https://github.com/andreasbrett/thewatchman/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/runner.py", line 166, in setup_and_run_hass
return await hass.async_run()
File "/usr/src/homeassistant/homeassistant/core.py", line 523, in async_run
await self.async_start()
File "/usr/src/homeassistant/homeassistant/core.py", line 576, in async_start
self.bus.async_fire_internal(EVENT_HOMEASSISTANT_STARTED)
File "/usr/src/homeassistant/homeassistant/core.py", line 1559, in async_fire_internal
self._hass.async_run_hass_job(job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 938, in async_run_hass_job
hassjob.target(*args)
File "/usr/src/homeassistant/homeassistant/core.py", line 1420, in __call__
self.hass.async_run_hass_job(self.listener_job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 941, in async_run_hass_job
return self._async_add_hass_job(hassjob, *args, background=background)
File "/usr/src/homeassistant/homeassistant/core.py", line 756, in _async_add_hass_job
task = create_eager_task(
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task
return Task(coro, loop=loop, name=name, eager_start=True)
File "/config/custom_components/watchman/__init__.py", line 273, in async_on_home_assistant_started
await parse_config(hass, reason="HA restart")
File "/config/custom_components/watchman/__init__.py", line 350, in parse_config
entity_list, service_list, files_parsed, files_ignored = await parse(
File "/config/custom_components/watchman/utils.py", line 252, in parse
for yaml_file, ignored in get_next_file(folders, ignored_files):
File "/config/custom_components/watchman/utils.py", line 160, in get_next_file
for filename in glob.iglob(folder, recursive=True):
2024-08-06 12:19:22.106 WARNING (MainThread) [homeassistant.components.homeassistant.triggers.numeric_state] Error initializing 'HA: CPU utilisation is high' trigger: In 'numeric_state' condition: unknown entity sensor.studio_code_server_cpu_percent
2024-08-06 12:19:22.107 WARNING (MainThread) [homeassistant.components.homeassistant.triggers.numeric_state] Error initializing 'HA: CPU utilisation is high' trigger: In 'numeric_state' condition: unknown entity sensor.studio_code_server_memory_percent
2024-08-06 12:20:00.338 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.339 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.340 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.340 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.340 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.340 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-06 11:00:00 end 2024-08-06 12:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.340 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate10 st 2024-08-06 11:20:00 end 2024-08-06 23:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.341 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.342 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.342 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.342 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-06 12:00:00 end 2024-08-06 13:00:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.342 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.342 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.342 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.342 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.342 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate10 st 2024-08-06 11:20:00 end 2024-08-06 12:20:00 st_i 0 end_i 0 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 11:20:00 sec 44400 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.343 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 11:50:00 sec 46200 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:00.344 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-06 12:20:00 sec 48000 res 0
2024-08-06 12:20:10.233 WARNING (Recorder) [homeassistant.components.sensor.recorder] The unit of sensor.watchman_missing_entities (None) cannot be converted to the unit of previously compiled statistics (items). Generation of long term statistics will be suppressed unless the unit changes back to items or a compatible unit. Go to https://my.home-assistant.io/redirect/developer_statistics to fix this

power now/next's all zero: image

autoSteve commented 1 month ago

Perfect. In a busted-test-rig kind of way. 😂

This pleases greatly, so thank you, Geoff.

gcoan commented 1 month ago

Just looked through the full list of solcast entities to see if there were any other outliers.

API last polled makes sense as that's the last successful poll on this HA (restored from backup). api used is updated on startup (API calls made on live HA) image

almost all of the solcast sensors are showing as zero, but peak time today/tomorrow is showing as unknown/null: image

looks good

autoSteve commented 1 month ago

A footnote to the splines calc. issue if no data is available: I believe it would have done a similar thing in the pre-spline code. So yes, a bug since forever, but with a twist.

The old code summed up intervals from st_i to end_i, which probably would have yielded a zero answer by happenstance for remaining sensors, but not for the moment sensors. Regardless I'm owning this as a bug in my mods of the code. 🤘 Sorry.

A better solution to not being able to determine st_i / end_i would be to have them return None. With the current code this would see very bad things happen, so I am not surprised that the original authors chose the path of returning zero.

Sadly, with a zero return they left rakes all over the place for folks to step on and smack themselves in the face with the handle...

gcoan commented 1 month ago

Left my test HA server running last night, got up this morning to find having two VMs running was too much for my PC and the main HA server had frozen at 3am. Shutting down the test VM and the main burst into life.

Weird stuff.

Anyway, gave me a chance then to restart the test HA and see if it auto downloaded the solar forecast now that the API count was zero (I'd already disabled the solar forecast fetch automation on my main HA server).

It didn't:

2024-08-07 10:34:00.413 INFO (MainThread) [custom_components.solcast_solar]
-------------------------------------------------------------------
Solcast integration version: v4.0.41
This is a custom integration. When troubleshooting a problem, after
reviewing open and closed issues, and the discussions, check the
required automation is functioning correctly and try enabling debug
logging to see more. Troubleshooting tips available at:
https://github.com/BJReplay/ha-solcast-solar/discussions/38
Beta versions may also have addressed some issues so look at those.
If all else fails, then open an issue and our community will try to
help: https://github.com/BJReplay/ha-solcast-solar/issues
-------------------------------------------------------------------
2024-08-07 10:34:00.419 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-07 10:34:00.420 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-07 10:34:00.420 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-07 10:34:01.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_data()
2024-08-07 10:34:01.092 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing sites cache
2024-08-07 10:34:01.107 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-07 10:34:01.107 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-07 10:34:01.108 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-07 10:34:01.700 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-07 10:34:01.701 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-07 10:34:01.714 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 0/10
2024-08-07 10:34:02.041 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-07 10:34:02.560 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-06 23:00:00+00:00, idx 14913, len 14914
2024-08-07 10:34:02.664 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 10:34:02.682 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 10:34:02.683 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 10:34:02.683 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 10:34:02.683 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 10:34:02.683 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 10:34:02.683 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 10:34:02.683 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-14 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 10:34:02.683 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-07 10:34:02.684 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.6233s
2024-08-07 10:34:02.687 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-07 10:34:02.718 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)
2024-08-07 10:34:05.656 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/themes", "/config/themes", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1182: self.hass.http.register_static_path(f"{URL_BASE}/themes", self.hass.config.path("themes")), please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 10:34:05.666 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/frontend", "/config/custom_components/hacs/hacs_frontend", False)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 54: hass.http.register_static_path(f"{URL_BASE}/frontend", locate_dir(), cache_headers=False), please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 10:34:05.672 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/iconset.js", "/config/custom_components/hacs/iconset.js", True)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 57: hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 10:34:05.678 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 10:34:05.687 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles", "/config/www/community", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1162: self.hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 10:34:05.746 ERROR (MainThread) [homeassistant.components.esphome.coordinator] Error requesting ESPHome Dashboard data: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-07 10:34:05.747 ERROR (MainThread) [homeassistant.components.esphome.dashboard] Dashboard unavailable; skipping reauth: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-07 10:34:06.018 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.018 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.019 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.022 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.022 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.022 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.023 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.030 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.030 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.030 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.032 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 0 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-07 10:34:06.033 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.033 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.033 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.033 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.033 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.033 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.033 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.033 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.034 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.034 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.034 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.034 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.034 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.034 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.034 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.034 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.035 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.035 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.035 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.035 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.035 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.035 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.035 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.035 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate10 st 2024-08-06 23:00:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.036 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.036 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.036 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.036 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.036 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.036 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.036 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.037 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-07 09:00:00 end 2024-08-07 10:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.037 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.037 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.037 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.038 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.038 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.038 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.038 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.038 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_remaining_today() pv_estimate10 st 2024-08-07 09:30:00 end 2024-08-07 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.039 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.039 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.039 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.039 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.039 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.039 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.039 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.039 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_n_hour() pv_estimate10 st 2024-08-07 10:00:00 end 2024-08-07 11:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.041 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.041 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.041 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.041 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.041 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.041 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.042 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.042 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_forecast_custom_hours() pv_estimate10 st 2024-08-07 09:30:00 end 2024-08-07 10:30:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.046 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 1 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-07 10:34:06.046 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.046 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.046 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.046 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.046 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.047 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.047 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.047 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.048 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.048 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.048 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.048 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.048 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.048 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.048 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.048 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_day() pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.049 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.049 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.049 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.049 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.049 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.049 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.049 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.049 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get max estimate: get_peak_w_time_day() pv_estimate10 st 2024-08-07 23:00:00 end 2024-08-08 23:00:00 st_i 0 end_i 0 res None
2024-08-07 10:34:06.054 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 2 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-07 10:34:06.055 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.055 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.055 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.055 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.055 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.056 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.056 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.058 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-08 23:00:00 end 2024-08-09 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.059 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 3 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-07 10:34:06.059 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.059 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.059 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.059 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.059 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.060 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.060 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.074 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-09 23:00:00 end 2024-08-10 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.075 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 4 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-07 10:34:06.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.076 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-10 23:00:00 end 2024-08-11 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.077 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 5 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-07 10:34:06.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.078 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-11 23:00:00 end 2024-08-12 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get forecast day: 6 st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 h.len 0
2024-08-07 10:34:06.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() bc31-4d4c-e844-6a4e pv_estimate10 st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() 23bb-0216-85c6-fd94 pv_estimate10 st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.079 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate: get_total_kwh_forecast_day() pv_estimate10 st 2024-08-12 23:00:00 end 2024-08-13 23:00:00 st_i 0 end_i 0 res 0
2024-08-07 10:34:06.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.080 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-07 09:30:00 sec 37800 res 0
2024-08-07 10:34:06.081 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.082 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-07 10:00:00 sec 39600 res 0
2024-08-07 10:34:06.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.083 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() bc31-4d4c-e844-6a4e pv_estimate10 t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() 23bb-0216-85c6-fd94 pv_estimate10 t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.084 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Get estimate moment: get_power_n_mins() pv_estimate10 t 2024-08-07 10:30:00 sec 41400 res 0
2024-08-07 10:34:06.090 INFO (MainThread) [custom_components.solcast_solar] Solcast API data UTC times are converted to Europe/London

My PV sensors in the test HA are all still set to zero and API used still zero.

In solcastapi.py, if you set _SENSOR_DEBUG_LOGGING = True at the top of the file then restart, the voluminous sensor logging will return.

I'll turn this off to cut down the guff

autoSteve commented 1 month ago

The test is:

if solcast._api_used == 0 and solcast._data['last_updated'] < solcast.get_day_start_utc() - timedelta(days=1)

At the bottom of your solcast.json file, what is the last_updated value?

autoSteve commented 1 month ago

Hang on...

Change solcast._data['last_updated'] to solcast.get_last_updated_datetime() in this line...

if solcast._api_used == 0 and solcast._data['last_updated'] < solcast.get_day_start_utc() - timedelta(days=1)

I have not looked in depth, so I hope that the last updated is UTC, and not local zone. It's UTC, and it is a string, so it is never going to compare well with a datetime variable.

autoSteve commented 1 month ago

Apologies for the mad comment edits...

gcoan commented 1 month ago

Reduced the number of cores and memory allocated to my test HA. It was on 4Gb 4cores same as my prod VM.

At the bottom of your solcast.json file, what is the last_updated value?

"last_updated": "2024-07-23T17:01:35.446072+00:00", "version": 4}

Change solcast._data['last_updated'] to solcast.get_last_updated_datetime() in this line...

if solcast._api_used == 0 and solcast._data['last_updated'] < solcast.get_day_start_utc() - timedelta(days=1)

Changed to:

    # If the integration has failed for some time and then is restarted retrieve forecasts
    if solcast._api_used == 0 and solcast.get_last_updated_datetime() < (solcast.get_day_start_utc() - timedelta(days=1)):
        _LOGGER.info('Integration has been failed for some time, or your update automation has not been running (see readme). Retrieving forecasts...')
        await solcast.http_data()

I put some extra brackets around the subtraction in the comparison operation. Belt and braces to ensure there's no extra weirdness going on...

Log before reboot:

2024-08-07 11:49:35.394 INFO (MainThread) [custom_components.solcast_solar]
-------------------------------------------------------------------
Solcast integration version: v4.0.41
This is a custom integration. When troubleshooting a problem, after
reviewing open and closed issues, and the discussions, check the
required automation is functioning correctly and try enabling debug
logging to see more. Troubleshooting tips available at:
https://github.com/BJReplay/ha-solcast-solar/discussions/38
Beta versions may also have addressed some issues so look at those.
If all else fails, then open an issue and our community will try to
help: https://github.com/BJReplay/ha-solcast-solar/issues
-------------------------------------------------------------------
2024-08-07 11:49:35.401 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-07 11:49:35.402 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-07 11:49:35.402 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-07 11:49:35.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_data()
2024-08-07 11:49:35.834 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing sites cache
2024-08-07 11:49:35.851 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-07 11:49:35.851 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-07 11:49:35.851 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-07 11:49:36.459 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-07 11:49:36.459 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-07 11:49:36.470 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 0/10
2024-08-07 11:49:36.720 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-07 11:49:37.245 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-06 23:00:00+00:00, idx 14913, len 14914
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-14 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:49:37.328 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-07 11:49:37.329 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.6071s
2024-08-07 11:49:37.329 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-07 11:49:37.415 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)

After reboot with the date comparison code change. Load of spurious other errors but doesn't seem to be working:

Beta versions may also have addressed some issues so look at those.
If all else fails, then open an issue and our community will try to
help: https://github.com/BJReplay/ha-solcast-solar/issues
-------------------------------------------------------------------
2024-08-07 11:56:40.923 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-07 11:56:40.923 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-07 11:56:40.923 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-07 11:56:41.407 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/themes", "/config/themes", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1182: self.hass.http.register_static_path(f"{URL_BASE}/themes", self.hass.config.path("themes")), please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 11:56:41.413 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/frontend", "/config/custom_components/hacs/hacs_frontend", False)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 54: hass.http.register_static_path(f"{URL_BASE}/frontend", locate_dir(), cache_headers=False), please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 11:56:41.433 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/iconset.js", "/config/custom_components/hacs/iconset.js", True)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 57: hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 11:56:41.454 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 11:56:41.459 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles", "/config/www/community", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1162: self.hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues
2024-08-07 11:56:42.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_data()
2024-08-07 11:56:42.031 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing sites cache
2024-08-07 11:56:42.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-07 11:56:42.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-07 11:56:42.244 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-07 11:56:42.253 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Plusnet Hub One for upnp
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 586, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/upnp/__init__.py", line 87, in async_setup_entry
device = await async_create_device(hass, location)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/upnp/device.py", line 73, in async_create_device
upnp_device = await factory.async_create_device(location)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/async_upnp_client/client_factory.py", line 105, in async_create_device
raise UpnpXmlContentError("Could not find device element")
async_upnp_client.exceptions.UpnpXmlContentError: ('Could not find device element', None)
2024-08-07 11:56:42.636 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-07 11:56:42.637 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-07 11:56:42.677 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 0/10
2024-08-07 11:56:43.091 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-07 11:56:43.483 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-06 23:00:00+00:00, idx 14913, len 14914
2024-08-07 11:56:43.620 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:56:43.620 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:56:43.621 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:56:43.621 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:56:43.622 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:56:43.622 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:56:43.622 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:56:43.623 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-14 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 11:56:43.623 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-07 11:56:43.624 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.533s
2024-08-07 11:56:43.625 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-07 11:56:43.800 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)
2024-08-07 11:56:43.853 ERROR (MainThread) [homeassistant.components.esphome.coordinator] Error requesting ESPHome Dashboard data: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-07 11:56:43.853 ERROR (MainThread) [homeassistant.components.esphome.dashboard] Dashboard unavailable; skipping reauth: Cannot connect to host 127.0.0.1:64260 ssl:default [Connect call failed ('127.0.0.1', 64260)]
2024-08-07 11:56:45.106 INFO (MainThread) [custom_components.solcast_solar] Solcast API data UTC times are converted to Europe/London
2024-08-07 11:56:49.139 ERROR (MainThread) [homeassistant.components.mqtt.client] Failed to connect to MQTT server due to exception: [Errno -5] Name has no usable address

I added some another bit of logging to the code to see what the comparison variables all are:

    _LOGGER.info('Checking for integration failed for some time solcast._api_used=%s solcast.get_last_updated_datetime()=%s, solcast.get_day_start_utc()=%s, timedelta(days=1)=%s', solcast._api_used, solcast.get_last_updated_datetime(), solcast.get_day_start_utc(), timedelta(days=1))

Output:

2024-08-07 12:07:39.999 INFO (MainThread) [custom_components.solcast_solar] Checking for integration failed for some time solcast._api_used={'cvfvELyIRX32zeXd6v63PL_rnwDb75Av': 0} solcast.get_last_updated_datetime()=2024-07-23 17:01:35.446072+00:00, solcast.get_day_start_utc()=2024-08-06 23:00:00+00:00, timedelta(days=1)=1 day, 0:00:00

Looks like api_used is coming back with a more complex structure than a single value so its that part of the comparison that's (now) failing

autoSteve commented 1 month ago

That lot slightly broke my head.

This will take some time to consider.

gcoan commented 1 month ago

Can't beat a load of extra printf() lines in the code until you work out what it's doing...

autoSteve commented 1 month ago

Gah! This instead.

    if solcast.get_api_used_count() == 0 and solcast.get_last_updated_datetime() < solcast.get_day_start_utc() - timedelta(days=1):
autoSteve commented 1 month ago

It was on 4Gb 4cores same as my prod VM

I have caused me to be spoiled. 16GB/8 core VM, plus dev same. Then again, I am running on a three-node Proxmox cluster with 384GB/30 core hyper-threaded mini-monster. It's why I need solar/batteries...

gcoan commented 1 month ago

It was on 4Gb 4cores same as my prod VM

I have caused me to be spoiled. 16GB/8 core VM, plus dev same. Then again, I am running on a three-node Proxmox cluster with 384GB/30 core hyper-threaded mini-monster. It's why I need solar/batteries...

Mine is a much more meagre i5-7400T Tiny PC with 16Gb of RAM with Virtualbox VM's running under Windows 10. The prod HA hung again this afternoon (Windows machine was 100% CPU) so have had to drop the CPU count and CPU.

First time I made the change Solcast crashed, fixed the indentation error I'd caused and this time it took absolutely ages to load the Solcast integration - looking at the logs it encountered a 429 error from Solcast so backed off and retried:

image

2024-08-07 15:09:47.601 INFO (MainThread) [custom_components.solcast_solar]
-------------------------------------------------------------------
Solcast integration version: v4.0.41
This is a custom integration. When troubleshooting a problem, after
reviewing open and closed issues, and the discussions, check the
required automation is functioning correctly and try enabling debug
logging to see more. Troubleshooting tips available at:
https://github.com/BJReplay/ha-solcast-solar/discussions/38
Beta versions may also have addressed some issues so look at those.
If all else fails, then open an issue and our community will try to
help: https://github.com/BJReplay/ha-solcast-solar/issues
-------------------------------------------------------------------
2024-08-07 15:09:47.610 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-07 15:09:47.610 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-07 15:09:47.610 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-07 15:09:48.428 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 429/Solcast too busy in sites_data()
2024-08-07 15:09:49.021 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded sites cache for ******Db75Av
2024-08-07 15:09:49.021 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-07 15:09:49.021 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-07 15:09:49.022 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-07 15:09:49.073 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 429/Solcast too busy in sites_usage()
2024-08-07 15:09:49.444 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded API usage cache
2024-08-07 15:09:49.444 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 0/10
2024-08-07 15:09:50.038 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-07 15:09:50.433 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-06 23:00:00+00:00, idx 14913, len 14914
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-14 contains only 0 of 48 records and may produce inaccurate forecast data
2024-08-07 15:09:50.500 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-07 15:09:50.501 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.4629s
2024-08-07 15:09:50.501 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-07 15:09:50.942 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)
2024-08-07 15:09:52.525 INFO (MainThread) [custom_components.solcast_solar] Solcast API data UTC times are converted to Europe/London
2024-08-07 15:09:52.526 INFO (MainThread) [custom_components.solcast_solar] Checking for integration failed for some time solcast.get_api_used_count()=0 solcast.get_last_updated_datetime()=2024-07-23 17:01:35.446072+00:00, solcast.get_day_start_utc()=2024-08-06 23:00:00+00:00, timedelta(days=1)=1 day, 0:00:00
2024-08-07 15:09:52.526 INFO (MainThread) [custom_components.solcast_solar] Integration has been failed for some time, or your update automation has not been running (see readme). Retrieving forecasts...
2024-08-07 15:09:52.526 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Getting forecast update for Solcast site bc31-4d4c-e844-6a4e
2024-08-07 15:09:52.526 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Polling API for site bc31-4d4c-e844-6a4e lastday 2024-08-14 23:00:00+00:00 numhours 177
2024-08-07 15:09:52.527 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Fetch data url: https://api.solcast.com.au/rooftop_sites/bc31-4d4c-e844-6a4e/forecasts
2024-08-07 15:09:52.527 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Fetching forecast
2024-08-07 15:09:53.017 WARNING (MainThread) [custom_components.solcast_solar.solcastapi] The Solcast API is busy, pausing 46 seconds before retry
2024-08-07 15:10:39.018 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Fetching forecast
2024-08-07 15:10:39.097 WARNING (MainThread) [custom_components.solcast_solar.solcastapi] The Solcast API is busy, pausing 89 seconds before retry
2024-08-07 15:10:42.088 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: {('solcast_solar', '97da3e23dc19ba83c3119c7ddba45f3f'): 655.962457215}
2024-08-07 15:11:42.289 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: {('solcast_solar', '97da3e23dc19ba83c3119c7ddba45f3f'): 655.962457215}
2024-08-07 15:12:08.098 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Fetching forecast
2024-08-07 15:12:08.978 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Fetch successful
2024-08-07 15:12:08.979 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API returned data. API Counter incremented from 0 to 1
2024-08-07 15:12:08.979 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-07 15:12:08.988 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP ssession returned data type in fetch_data() is <class 'dict'>
2024-08-07 15:12:08.988 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session status in fetch_data() is 200/Success
2024-08-07 15:12:08.991 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Status 200/Success in fetch_data(), returned: {'forecasts': [{'pv_estimate': 1.784, 'pv_estimate10': 1.4135, 'pv_estimate90': 2.0923, 'period_end': '2024-08-07T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3221, 'pv_estimate10': 0.8088, 'pv_estimate90': 2.0254, 'period_end': '2024-08-07T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3803, 'pv_estimate10': 0.7748, 'pv_estimate90': 2.2623, 'period_end': '2024-08-07T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.62, 'pv_estimate10': 0.8683, 'pv_estimate90': 1.9731, 'period_end': '2024-08-07T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.595, 'pv_estimate10': 0.9071, 'pv_estimate90': 1.67475, 'period_end': '2024-08-07T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3682, 'pv_estimate10': 0.8133, 'pv_estimate90': 1.4366100000000002, 'period_end': '2024-08-07T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0936, 'pv_estimate10': 0.6507, 'pv_estimate90': 1.14828, 'period_end': '2024-08-07T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.7664, 'pv_estimate10': 0.412, 'pv_estimate90': 0.80472, 'period_end': '2024-08-07T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.3859, 'pv_estimate10': 0.2128, 'pv_estimate90': 0.4902, 'period_end': '2024-08-07T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.161, 'pv_estimate10': 0.0976, 'pv_estimate90': 0.2293, 'period_end': '2024-08-07T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0488, 'pv_estimate10': 0.0293, 'pv_estimate90': 0.0732, 'period_end': '2024-08-07T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0362, 'pv_estimate10': 0.0207, 'pv_estimate90': 0.1465, 'period_end': '2024-08-08T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.526, 'pv_estimate10': 0.1446, 'pv_estimate90': 1.8756, 'period_end': '2024-08-08T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.581, 'pv_estimate10': 0.3685, 'pv_estimate90': 2.9913, 'period_end': '2024-08-08T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.3835, 'pv_estimate10': 0.7145, 'pv_estimate90': 3.9861, 'period_end': '2024-08-08T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.3436, 'pv_estimate10': 0.8193, 'pv_estimate90': 4.6492, 'period_end': '2024-08-08T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.5387, 'pv_estimate10': 0.9445, 'pv_estimate90': 5.4256, 'period_end': '2024-08-08T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.0138, 'pv_estimate10': 1.1509, 'pv_estimate90': 6.1128, 'period_end': '2024-08-08T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.3579, 'pv_estimate10': 1.3065, 'pv_estimate90': 6.5413, 'period_end': '2024-08-08T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.497, 'pv_estimate10': 1.4263, 'pv_estimate90': 6.6858, 'period_end': '2024-08-08T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.6629, 'pv_estimate10': 1.5527, 'pv_estimate90': 6.8148, 'period_end': '2024-08-08T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.7795, 'pv_estimate10': 1.6444, 'pv_estimate90': 6.7822, 'period_end': '2024-08-08T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.7109, 'pv_estimate10': 1.6031, 'pv_estimate90': 6.5704, 'period_end': '2024-08-08T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.467, 'pv_estimate10': 1.4384, 'pv_estimate90': 6.1254, 'period_end': '2024-08-08T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1633, 'pv_estimate10': 1.2075, 'pv_estimate90': 5.5667, 'period_end': '2024-08-08T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.8042, 'pv_estimate10': 0.9479, 'pv_estimate90': 4.9613, 'period_end': '2024-08-08T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.4881, 'pv_estimate10': 0.7536, 'pv_estimate90': 4.3607, 'period_end': '2024-08-08T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2106, 'pv_estimate10': 0.6345, 'pv_estimate90': 3.812, 'period_end': '2024-08-08T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.9214, 'pv_estimate10': 0.5235, 'pv_estimate90': 3.3541, 'period_end': '2024-08-08T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.6611, 'pv_estimate10': 0.4321, 'pv_estimate90': 2.9502, 'period_end': '2024-08-08T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.372, 'pv_estimate10': 0.3197, 'pv_estimate90': 2.5946, 'period_end': '2024-08-08T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0681, 'pv_estimate10': 0.2349, 'pv_estimate90': 2.2445, 'period_end': '2024-08-08T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.8265, 'pv_estimate10': 0.1934, 'pv_estimate90': 1.834, 'period_end': '2024-08-08T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6412, 'pv_estimate10': 0.1757, 'pv_estimate90': 1.4598, 'period_end': '2024-08-08T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.5022, 'pv_estimate10': 0.161, 'pv_estimate90': 1.1559, 'period_end': '2024-08-08T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.38, 'pv_estimate10': 0.1513, 'pv_estimate90': 0.8913, 'period_end': '2024-08-08T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2836, 'pv_estimate10': 0.1415, 'pv_estimate90': 0.6585, 'period_end': '2024-08-08T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2196, 'pv_estimate10': 0.122, 'pv_estimate90': 0.4325, 'period_end': '2024-08-08T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.161, 'pv_estimate10': 0.0976, 'pv_estimate90': 0.244, 'period_end': '2024-08-08T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0927, 'pv_estimate10': 0.0586, 'pv_estimate90': 0.1317, 'period_end': '2024-08-08T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.029, 'pv_estimate10': 0.0193, 'pv_estimate90': 0.0387, 'period_end': '2024-08-08T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0146, 'pv_estimate10': 0.0098, 'pv_estimate90': 0.0195, 'period_end': '2024-08-09T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1073, 'pv_estimate10': 0.0683, 'pv_estimate90': 0.1513, 'period_end': '2024-08-09T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2586, 'pv_estimate10': 0.1561, 'pv_estimate90': 0.9663, 'period_end': '2024-08-09T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.5805, 'pv_estimate10': 0.2489, 'pv_estimate90': 2.3152, 'period_end': '2024-08-09T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0205, 'pv_estimate10': 0.3888, 'pv_estimate90': 3.6439, 'period_end': '2024-08-09T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.6891, 'pv_estimate10': 0.5805, 'pv_estimate90': 4.8531, 'period_end': '2024-08-09T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.5342, 'pv_estimate10': 0.8311, 'pv_estimate90': 6.0295, 'period_end': '2024-08-09T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.2518, 'pv_estimate10': 1.0737, 'pv_estimate90': 6.5081, 'period_end': '2024-08-09T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.7914, 'pv_estimate10': 1.2765, 'pv_estimate90': 6.8187, 'period_end': '2024-08-09T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.295, 'pv_estimate10': 1.5277, 'pv_estimate90': 6.8942, 'period_end': '2024-08-09T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.8134, 'pv_estimate10': 1.8011, 'pv_estimate90': 6.9913, 'period_end': '2024-08-09T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.1198, 'pv_estimate10': 2.0535, 'pv_estimate90': 6.8398, 'period_end': '2024-08-09T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.3969, 'pv_estimate10': 2.3036, 'pv_estimate90': 6.6907, 'period_end': '2024-08-09T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.4107, 'pv_estimate10': 2.4838, 'pv_estimate90': 6.3297, 'period_end': '2024-08-09T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.3264, 'pv_estimate10': 2.637, 'pv_estimate90': 5.9508, 'period_end': '2024-08-09T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.9972, 'pv_estimate10': 2.6998, 'pv_estimate90': 5.4032, 'period_end': '2024-08-09T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.5559, 'pv_estimate10': 2.7103, 'pv_estimate90': 4.8194, 'period_end': '2024-08-09T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.0437, 'pv_estimate10': 2.7149, 'pv_estimate90': 4.1717, 'period_end': '2024-08-09T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.414, 'pv_estimate10': 2.6759, 'pv_estimate90': 3.4287, 'period_end': '2024-08-09T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.6787, 'pv_estimate10': 2.5269, 'pv_estimate90': 2.6787, 'period_end': '2024-08-09T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.8005, 'pv_estimate10': 1.710475, 'pv_estimate90': 1.8005, 'period_end': '2024-08-09T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9376, 'pv_estimate10': 0.89072, 'pv_estimate90': 0.9376, 'period_end': '2024-08-09T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1957, 'pv_estimate10': 0.185915, 'pv_estimate90': 0.1957, 'period_end': '2024-08-09T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1464, 'pv_estimate10': 0.13908, 'pv_estimate90': 0.1464, 'period_end': '2024-08-09T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1502, 'pv_estimate10': 0.14268999999999998, 'pv_estimate90': 0.1502, 'period_end': '2024-08-09T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1484, 'pv_estimate10': 0.14098, 'pv_estimate90': 0.15582000000000001, 'period_end': '2024-08-09T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1693, 'pv_estimate10': 0.160835, 'pv_estimate90': 0.177765, 'period_end': '2024-08-09T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2068, 'pv_estimate10': 0.19646, 'pv_estimate90': 0.21714000000000003, 'period_end': '2024-08-09T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1809, 'pv_estimate10': 0.1438, 'pv_estimate90': 0.189945, 'period_end': '2024-08-09T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0712, 'pv_estimate10': 0.0387, 'pv_estimate90': 0.07476000000000001, 'period_end': '2024-08-09T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0836, 'pv_estimate10': 0.0102, 'pv_estimate90': 0.1363, 'period_end': '2024-08-10T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0727, 'pv_estimate10': 0.0811, 'pv_estimate90': 2.0268, 'period_end': '2024-08-10T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.033, 'pv_estimate10': 0.1672, 'pv_estimate90': 3.4603, 'period_end': '2024-08-10T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.946, 'pv_estimate10': 0.2459, 'pv_estimate90': 4.324, 'period_end': '2024-08-10T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.776, 'pv_estimate10': 0.3595, 'pv_estimate90': 5.2257, 'period_end': '2024-08-10T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.2813, 'pv_estimate10': 0.4969, 'pv_estimate90': 5.7579, 'period_end': '2024-08-10T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.8066, 'pv_estimate10': 0.6325, 'pv_estimate90': 6.2807, 'period_end': '2024-08-10T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.057, 'pv_estimate10': 0.7622, 'pv_estimate90': 6.5697, 'period_end': '2024-08-10T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.174, 'pv_estimate10': 0.8569, 'pv_estimate90': 6.8419, 'period_end': '2024-08-10T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.2808, 'pv_estimate10': 0.9855, 'pv_estimate90': 6.9623, 'period_end': '2024-08-10T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.377, 'pv_estimate10': 1.1304, 'pv_estimate90': 6.9555, 'period_end': '2024-08-10T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.3798, 'pv_estimate10': 1.2238, 'pv_estimate90': 6.8919, 'period_end': '2024-08-10T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.2319, 'pv_estimate10': 1.2746, 'pv_estimate90': 6.6575, 'period_end': '2024-08-10T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.0636, 'pv_estimate10': 1.3186, 'pv_estimate90': 6.3253, 'period_end': '2024-08-10T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.8546, 'pv_estimate10': 1.3538, 'pv_estimate90': 5.9288, 'period_end': '2024-08-10T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.4239, 'pv_estimate10': 1.2888, 'pv_estimate90': 5.3726, 'period_end': '2024-08-10T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.9335, 'pv_estimate10': 1.1214, 'pv_estimate90': 4.799, 'period_end': '2024-08-10T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.5187, 'pv_estimate10': 0.9867, 'pv_estimate90': 4.1519, 'period_end': '2024-08-10T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1397, 'pv_estimate10': 0.8852, 'pv_estimate90': 3.4642, 'period_end': '2024-08-10T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.6748, 'pv_estimate10': 0.7237, 'pv_estimate90': 2.80854, 'period_end': '2024-08-10T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.291, 'pv_estimate10': 0.501, 'pv_estimate90': 2.40555, 'period_end': '2024-08-10T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.9278, 'pv_estimate10': 0.3345, 'pv_estimate90': 2.02419, 'period_end': '2024-08-10T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.5961, 'pv_estimate10': 0.245, 'pv_estimate90': 1.6759050000000002, 'period_end': '2024-08-10T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.4159, 'pv_estimate10': 0.1884, 'pv_estimate90': 1.486695, 'period_end': '2024-08-10T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2274, 'pv_estimate10': 0.1319, 'pv_estimate90': 1.2887700000000002, 'period_end': '2024-08-10T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9817, 'pv_estimate10': 0.0989, 'pv_estimate90': 1.030785, 'period_end': '2024-08-10T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.7144, 'pv_estimate10': 0.0801, 'pv_estimate90': 0.7501200000000001, 'period_end': '2024-08-10T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4062, 'pv_estimate10': 0.057, 'pv_estimate90': 0.42651, 'period_end': '2024-08-10T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1758, 'pv_estimate10': 0.0333, 'pv_estimate90': 0.18459000000000003, 'period_end': '2024-08-10T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0479, 'pv_estimate10': 0.0096, 'pv_estimate90': 0.050295, 'period_end': '2024-08-10T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0153, 'pv_estimate10': 0, 'pv_estimate90': 0.0785, 'period_end': '2024-08-11T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1165, 'pv_estimate10': 0.0203, 'pv_estimate90': 1.7174, 'period_end': '2024-08-11T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2786, 'pv_estimate10': 0.0456, 'pv_estimate90': 3.2124, 'period_end': '2024-08-11T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6512, 'pv_estimate10': 0.0702, 'pv_estimate90': 4.4032, 'period_end': '2024-08-11T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1577, 'pv_estimate10': 0.0994, 'pv_estimate90': 5.11, 'period_end': '2024-08-11T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.6957, 'pv_estimate10': 0.1428, 'pv_estimate90': 5.6819, 'period_end': '2024-08-11T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.3172, 'pv_estimate10': 0.1952, 'pv_estimate90': 6.2298, 'period_end': '2024-08-11T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.9704, 'pv_estimate10': 0.2724, 'pv_estimate90': 6.502, 'period_end': '2024-08-11T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.6439, 'pv_estimate10': 0.4437, 'pv_estimate90': 6.7485, 'period_end': '2024-08-11T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.1248, 'pv_estimate10': 0.6468, 'pv_estimate90': 6.8491, 'period_end': '2024-08-11T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.3429, 'pv_estimate10': 0.8298, 'pv_estimate90': 6.7863, 'period_end': '2024-08-11T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.519, 'pv_estimate10': 1.0404, 'pv_estimate90': 6.7096, 'period_end': '2024-08-11T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.5834, 'pv_estimate10': 1.2595, 'pv_estimate90': 6.463, 'period_end': '2024-08-11T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.5715, 'pv_estimate10': 1.4339, 'pv_estimate90': 6.1312, 'period_end': '2024-08-11T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.4641, 'pv_estimate10': 1.5569, 'pv_estimate90': 5.6999, 'period_end': '2024-08-11T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.213, 'pv_estimate10': 1.565, 'pv_estimate90': 5.085, 'period_end': '2024-08-11T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.872, 'pv_estimate10': 1.4607, 'pv_estimate90': 4.4446, 'period_end': '2024-08-11T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.5562, 'pv_estimate10': 1.3633, 'pv_estimate90': 3.8922, 'period_end': '2024-08-11T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1716, 'pv_estimate10': 1.2329, 'pv_estimate90': 3.2428, 'period_end': '2024-08-11T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.729, 'pv_estimate10': 1.11, 'pv_estimate90': 2.86545, 'period_end': '2024-08-11T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2908, 'pv_estimate10': 0.9533, 'pv_estimate90': 2.4053400000000003, 'period_end': '2024-08-11T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.8156, 'pv_estimate10': 0.7873, 'pv_estimate90': 1.9063800000000002, 'period_end': '2024-08-11T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2143, 'pv_estimate10': 0.6453, 'pv_estimate90': 1.275015, 'period_end': '2024-08-11T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9967, 'pv_estimate10': 0.511, 'pv_estimate90': 1.046535, 'period_end': '2024-08-11T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.7905, 'pv_estimate10': 0.3868, 'pv_estimate90': 0.830025, 'period_end': '2024-08-11T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6107, 'pv_estimate10': 0.2676, 'pv_estimate90': 0.641235, 'period_end': '2024-08-11T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4452, 'pv_estimate10': 0.1946, 'pv_estimate90': 0.46746, 'period_end': '2024-08-11T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.3287, 'pv_estimate10': 0.1261, 'pv_estimate90': 0.345135, 'period_end': '2024-08-11T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1906, 'pv_estimate10': 0.0612, 'pv_estimate90': 0.20013, 'period_end': '2024-08-11T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0475, 'pv_estimate10': 0.0143, 'pv_estimate90': 0.052, 'period_end': '2024-08-11T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0097, 'pv_estimate10': 0.0048, 'pv_estimate90': 0.0145, 'period_end': '2024-08-12T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1064, 'pv_estimate10': 0.0387, 'pv_estimate90': 0.6094, 'period_end': '2024-08-12T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2811, 'pv_estimate10': 0.0919, 'pv_estimate90': 1.5738, 'period_end': '2024-08-12T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9176, 'pv_estimate10': 0.1534, 'pv_estimate90': 2.7603, 'period_end': '2024-08-12T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.5746, 'pv_estimate10': 0.2205, 'pv_estimate90': 3.6633, 'period_end': '2024-08-12T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.1968, 'pv_estimate10': 0.3024, 'pv_estimate90': 4.4816, 'period_end': '2024-08-12T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.8531, 'pv_estimate10': 0.4493, 'pv_estimate90': 5.0455, 'period_end': '2024-08-12T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.4105, 'pv_estimate10': 0.626, 'pv_estimate90': 5.5219, 'period_end': '2024-08-12T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.7678, 'pv_estimate10': 0.796, 'pv_estimate90': 5.738, 'period_end': '2024-08-12T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.0484, 'pv_estimate10': 0.9849, 'pv_estimate90': 5.835, 'period_end': '2024-08-12T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.2964, 'pv_estimate10': 1.1766, 'pv_estimate90': 5.8732, 'period_end': '2024-08-12T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.4858, 'pv_estimate10': 1.3602, 'pv_estimate90': 5.8608, 'period_end': '2024-08-12T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.5638, 'pv_estimate10': 1.5318, 'pv_estimate90': 5.7494, 'period_end': '2024-08-12T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.5745, 'pv_estimate10': 1.67, 'pv_estimate90': 5.5252, 'period_end': '2024-08-12T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.5057, 'pv_estimate10': 1.7742, 'pv_estimate90': 5.2067, 'period_end': '2024-08-12T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.3205, 'pv_estimate10': 1.846, 'pv_estimate90': 4.8247, 'period_end': '2024-08-12T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.0313, 'pv_estimate10': 1.8778, 'pv_estimate90': 4.3836, 'period_end': '2024-08-12T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.6164, 'pv_estimate10': 1.8539, 'pv_estimate90': 3.7885, 'period_end': '2024-08-12T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1811, 'pv_estimate10': 1.7902, 'pv_estimate90': 3.2084, 'period_end': '2024-08-12T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.6559, 'pv_estimate10': 1.6623, 'pv_estimate90': 2.788695, 'period_end': '2024-08-12T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.1206, 'pv_estimate10': 1.4618, 'pv_estimate90': 2.22663, 'period_end': '2024-08-12T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.6386, 'pv_estimate10': 1.2106, 'pv_estimate90': 1.7205300000000001, 'period_end': '2024-08-12T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3132, 'pv_estimate10': 0.932, 'pv_estimate90': 1.37886, 'period_end': '2024-08-12T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2892, 'pv_estimate10': 0.6955, 'pv_estimate90': 1.3536599999999999, 'period_end': '2024-08-12T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1656, 'pv_estimate10': 0.4688, 'pv_estimate90': 1.22388, 'period_end': '2024-08-12T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9671, 'pv_estimate10': 0.291, 'pv_estimate90': 1.015455, 'period_end': '2024-08-12T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.7148, 'pv_estimate10': 0.1916, 'pv_estimate90': 0.75054, 'period_end': '2024-08-12T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.3698, 'pv_estimate10': 0.1149, 'pv_estimate90': 0.38829, 'period_end': '2024-08-12T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1425, 'pv_estimate10': 0.0506, 'pv_estimate90': 0.1548, 'period_end': '2024-08-12T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0324, 'pv_estimate10': 0.0093, 'pv_estimate90': 0.0415, 'period_end': '2024-08-12T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0098, 'pv_estimate10': 0.0049, 'pv_estimate90': 0.0098, 'period_end': '2024-08-13T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.128, 'pv_estimate10': 0.0394, 'pv_estimate90': 0.7147, 'period_end': '2024-08-13T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.684, 'pv_estimate10': 0.0985, 'pv_estimate90': 1.7693, 'period_end': '2024-08-13T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.0942, 'pv_estimate10': 0.1724, 'pv_estimate90': 3.0244, 'period_end': '2024-08-13T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1784, 'pv_estimate10': 0.2537, 'pv_estimate90': 3.9406, 'period_end': '2024-08-13T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.1156, 'pv_estimate10': 0.3888, 'pv_estimate90': 4.8098, 'period_end': '2024-08-13T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.8019, 'pv_estimate10': 0.5336, 'pv_estimate90': 5.3464, 'period_end': '2024-08-13T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.4643, 'pv_estimate10': 0.7063, 'pv_estimate90': 5.8692, 'period_end': '2024-08-13T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.8295, 'pv_estimate10': 0.8815, 'pv_estimate90': 6.1164, 'period_end': '2024-08-13T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 6.1997, 'pv_estimate10': 1.1188, 'pv_estimate90': 6.309, 'period_end': '2024-08-13T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 6.401, 'pv_estimate10': 1.4052, 'pv_estimate90': 6.401, 'period_end': '2024-08-13T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 6.2833, 'pv_estimate10': 1.6123, 'pv_estimate90': 6.2833, 'period_end': '2024-08-13T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 6.1712, 'pv_estimate10': 1.7429, 'pv_estimate90': 6.1712, 'period_end': '2024-08-13T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.8863, 'pv_estimate10': 1.7995, 'pv_estimate90': 5.8863, 'period_end': '2024-08-13T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.483, 'pv_estimate10': 1.7671, 'pv_estimate90': 5.483, 'period_end': '2024-08-13T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.9582, 'pv_estimate10': 1.6861, 'pv_estimate90': 4.9582, 'period_end': '2024-08-13T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.482, 'pv_estimate10': 1.605, 'pv_estimate90': 4.7061, 'period_end': '2024-08-13T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.891, 'pv_estimate10': 1.5155, 'pv_estimate90': 3.8938, 'period_end': '2024-08-13T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.3244, 'pv_estimate10': 1.4012, 'pv_estimate90': 3.3265, 'period_end': '2024-08-13T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.7232, 'pv_estimate10': 1.2286, 'pv_estimate90': 2.85936, 'period_end': '2024-08-13T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2037, 'pv_estimate10': 0.9881, 'pv_estimate90': 2.313885, 'period_end': '2024-08-13T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.7472, 'pv_estimate10': 0.7621, 'pv_estimate90': 1.8345600000000002, 'period_end': '2024-08-13T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3653, 'pv_estimate10': 0.5765, 'pv_estimate90': 1.433565, 'period_end': '2024-08-13T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2987, 'pv_estimate10': 0.4263, 'pv_estimate90': 1.363635, 'period_end': '2024-08-13T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1635, 'pv_estimate10': 0.2804, 'pv_estimate90': 1.221675, 'period_end': '2024-08-13T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9329, 'pv_estimate10': 0.2102, 'pv_estimate90': 0.979545, 'period_end': '2024-08-13T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6711, 'pv_estimate10': 0.1555, 'pv_estimate90': 0.704655, 'period_end': '2024-08-13T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.3858, 'pv_estimate10': 0.0942, 'pv_estimate90': 0.40509, 'period_end': '2024-08-13T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1425, 'pv_estimate10': 0.0428, 'pv_estimate90': 0.1611, 'period_end': '2024-08-13T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0285, 'pv_estimate10': 0.0095, 'pv_estimate90': 0.038, 'period_end': '2024-08-13T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0049, 'pv_estimate10': 0, 'pv_estimate90': 0.0098, 'period_end': '2024-08-14T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0886, 'pv_estimate10': 0.0197, 'pv_estimate90': 0.3956, 'period_end': '2024-08-14T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2511, 'pv_estimate10': 0.0492, 'pv_estimate90': 1.5983, 'period_end': '2024-08-14T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.7675, 'pv_estimate10': 0.0886, 'pv_estimate90': 2.6428, 'period_end': '2024-08-14T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.6836, 'pv_estimate10': 0.1428, 'pv_estimate90': 3.6973, 'period_end': '2024-08-14T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.5825, 'pv_estimate10': 0.2098, 'pv_estimate90': 4.4298, 'period_end': '2024-08-14T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.5043, 'pv_estimate10': 0.3012, 'pv_estimate90': 5.0359, 'period_end': '2024-08-14T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.3052, 'pv_estimate10': 0.4674, 'pv_estimate90': 5.5673, 'period_end': '2024-08-14T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.8668, 'pv_estimate10': 0.6546, 'pv_estimate90': 5.8921, 'period_end': '2024-08-14T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.2599, 'pv_estimate10': 0.8778, 'pv_estimate90': 6.09, 'period_end': '2024-08-14T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.4889, 'pv_estimate10': 1.1103, 'pv_estimate90': 6.1287, 'period_end': '2024-08-14T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.5788, 'pv_estimate10': 1.3054, 'pv_estimate90': 6.0818, 'period_end': '2024-08-14T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.5212, 'pv_estimate10': 1.4715, 'pv_estimate90': 5.9322, 'period_end': '2024-08-14T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.378, 'pv_estimate10': 1.6204, 'pv_estimate90': 5.6749, 'period_end': '2024-08-14T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 5.1443, 'pv_estimate10': 1.7429, 'pv_estimate90': 5.3286, 'period_end': '2024-08-14T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.7384, 'pv_estimate10': 1.759, 'pv_estimate90': 4.872, 'period_end': '2024-08-14T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.2938, 'pv_estimate10': 1.6778, 'pv_estimate90': 4.4124, 'period_end': '2024-08-14T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.8037, 'pv_estimate10': 1.5882, 'pv_estimate90': 3.8664, 'period_end': '2024-08-14T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.2729, 'pv_estimate10': 1.4584, 'pv_estimate90': 3.436545, 'period_end': '2024-08-14T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.768, 'pv_estimate10': 1.278, 'pv_estimate90': 2.9064, 'period_end': '2024-08-14T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2921, 'pv_estimate10': 1.0381, 'pv_estimate90': 2.406705, 'period_end': '2024-08-14T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.7768, 'pv_estimate10': 0.8461, 'pv_estimate90': 1.86564, 'period_end': '2024-08-14T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2768, 'pv_estimate10': 0.7116, 'pv_estimate90': 1.34064, 'period_end': '2024-08-14T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1674, 'pv_estimate10': 0.5426, 'pv_estimate90': 1.22577, 'period_end': '2024-08-14T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0597, 'pv_estimate10': 0.3663, 'pv_estimate90': 1.1126850000000001, 'period_end': '2024-08-14T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.8525, 'pv_estimate10': 0.2429, 'pv_estimate90': 0.8951250000000001, 'period_end': '2024-08-14T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6224, 'pv_estimate10': 0.1743, 'pv_estimate90': 0.65352, 'period_end': '2024-08-14T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.3801, 'pv_estimate10': 0.1036, 'pv_estimate90': 0.399105, 'period_end': '2024-08-14T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1473, 'pv_estimate10': 0.0475, 'pv_estimate90': 0.1505, 'period_end': '2024-08-14T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0238, 'pv_estimate10': 0.0095, 'pv_estimate90': 0.0285, 'period_end': '2024-08-14T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T23:30:00.0000000Z', 'period': 'PT30M'}]}
2024-08-07 15:12:08.991 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Solcast returned 355 records
2024-08-07 15:12:09.013 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Forecasts dictionary length 14914
2024-08-07 15:12:09.296 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP data call processing took 0.3053s
2024-08-07 15:12:09.298 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Getting forecast update for Solcast site 23bb-0216-85c6-fd94
2024-08-07 15:12:09.298 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Polling API for site 23bb-0216-85c6-fd94 lastday 2024-08-14 23:00:00+00:00 numhours 177
2024-08-07 15:12:09.298 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Fetch data url: https://api.solcast.com.au/rooftop_sites/23bb-0216-85c6-fd94/forecasts
2024-08-07 15:12:09.298 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Fetching forecast
2024-08-07 15:12:10.250 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Fetch successful
2024-08-07 15:12:10.254 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API returned data. API Counter incremented from 1 to 2
2024-08-07 15:12:10.254 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-07 15:12:10.275 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP ssession returned data type in fetch_data() is <class 'dict'>
2024-08-07 15:12:10.276 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session status in fetch_data() is 200/Success
2024-08-07 15:12:10.280 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Status 200/Success in fetch_data(), returned: {'forecasts': [{'pv_estimate': 1.3038, 'pv_estimate10': 1.0327, 'pv_estimate90': 1.5296, 'period_end': '2024-08-07T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9657, 'pv_estimate10': 0.5901, 'pv_estimate90': 1.4884, 'period_end': '2024-08-07T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0084, 'pv_estimate10': 0.5652, 'pv_estimate90': 1.78, 'period_end': '2024-08-07T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1838, 'pv_estimate10': 0.6336, 'pv_estimate90': 2.1189, 'period_end': '2024-08-07T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1967, 'pv_estimate10': 0.662, 'pv_estimate90': 2.408, 'period_end': '2024-08-07T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2004, 'pv_estimate10': 0.5934, 'pv_estimate90': 2.7861, 'period_end': '2024-08-07T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9252, 'pv_estimate10': 0.4744, 'pv_estimate90': 2.2948, 'period_end': '2024-08-07T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.5591, 'pv_estimate10': 0.2998, 'pv_estimate90': 1.6362, 'period_end': '2024-08-07T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2806, 'pv_estimate10': 0.1543, 'pv_estimate90': 0.7814, 'period_end': '2024-08-07T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1168, 'pv_estimate10': 0.0708, 'pv_estimate90': 0.1664, 'period_end': '2024-08-07T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0354, 'pv_estimate10': 0.0212, 'pv_estimate90': 0.0531, 'period_end': '2024-08-07T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-07T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0263, 'pv_estimate10': 0.015, 'pv_estimate90': 0.027615, 'period_end': '2024-08-08T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.127, 'pv_estimate10': 0.105, 'pv_estimate90': 0.13335, 'period_end': '2024-08-08T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.219, 'pv_estimate10': 0.20804999999999998, 'pv_estimate90': 0.22995000000000002, 'period_end': '2024-08-08T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.3598, 'pv_estimate10': 0.34181, 'pv_estimate90': 0.37779, 'period_end': '2024-08-08T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6014, 'pv_estimate10': 0.5978, 'pv_estimate90': 0.6314700000000001, 'period_end': '2024-08-08T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.8156, 'pv_estimate10': 0.6894, 'pv_estimate90': 0.85638, 'period_end': '2024-08-08T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9673, 'pv_estimate10': 0.8405, 'pv_estimate90': 1.015665, 'period_end': '2024-08-08T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1231, 'pv_estimate10': 0.9543, 'pv_estimate90': 1.179255, 'period_end': '2024-08-08T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3016, 'pv_estimate10': 1.042, 'pv_estimate90': 1.3666800000000001, 'period_end': '2024-08-08T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.5575, 'pv_estimate10': 1.1345, 'pv_estimate90': 1.6353750000000002, 'period_end': '2024-08-08T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.7945, 'pv_estimate10': 1.2017, 'pv_estimate90': 1.884225, 'period_end': '2024-08-08T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.9884, 'pv_estimate10': 1.1714, 'pv_estimate90': 2.0878200000000002, 'period_end': '2024-08-08T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.1016, 'pv_estimate10': 1.0509, 'pv_estimate90': 2.1909, 'period_end': '2024-08-08T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.1148, 'pv_estimate10': 0.8819, 'pv_estimate90': 2.555, 'period_end': '2024-08-08T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.0083, 'pv_estimate10': 0.6919, 'pv_estimate90': 2.8223, 'period_end': '2024-08-08T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.8194, 'pv_estimate10': 0.5497, 'pv_estimate90': 2.978, 'period_end': '2024-08-08T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.6162, 'pv_estimate10': 0.4626, 'pv_estimate90': 2.9547, 'period_end': '2024-08-08T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.4045, 'pv_estimate10': 0.3813, 'pv_estimate90': 2.7862, 'period_end': '2024-08-08T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2139, 'pv_estimate10': 0.3144, 'pv_estimate90': 2.5325, 'period_end': '2024-08-08T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0023, 'pv_estimate10': 0.2322, 'pv_estimate90': 2.1613, 'period_end': '2024-08-08T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.7799, 'pv_estimate10': 0.1704, 'pv_estimate90': 1.7075, 'period_end': '2024-08-08T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.603, 'pv_estimate10': 0.1403, 'pv_estimate90': 1.3405, 'period_end': '2024-08-08T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4675, 'pv_estimate10': 0.1274, 'pv_estimate90': 1.0666, 'period_end': '2024-08-08T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.3658, 'pv_estimate10': 0.1168, 'pv_estimate90': 0.8441, 'period_end': '2024-08-08T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2764, 'pv_estimate10': 0.1097, 'pv_estimate90': 0.6504, 'period_end': '2024-08-08T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2058, 'pv_estimate10': 0.1027, 'pv_estimate90': 0.4801, 'period_end': '2024-08-08T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1593, 'pv_estimate10': 0.0885, 'pv_estimate90': 0.3147, 'period_end': '2024-08-08T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1168, 'pv_estimate10': 0.0708, 'pv_estimate90': 0.177, 'period_end': '2024-08-08T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0673, 'pv_estimate10': 0.0425, 'pv_estimate90': 0.0956, 'period_end': '2024-08-08T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.021, 'pv_estimate10': 0.014, 'pv_estimate90': 0.0281, 'period_end': '2024-08-08T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-08T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0106, 'pv_estimate10': 0.0071, 'pv_estimate90': 0.0142, 'period_end': '2024-08-09T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0779, 'pv_estimate10': 0.0496, 'pv_estimate90': 0.1097, 'period_end': '2024-08-09T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1876, 'pv_estimate10': 0.1133, 'pv_estimate90': 0.2381, 'period_end': '2024-08-09T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.423, 'pv_estimate10': 0.1805, 'pv_estimate90': 0.44415, 'period_end': '2024-08-09T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6735, 'pv_estimate10': 0.2828, 'pv_estimate90': 0.707175, 'period_end': '2024-08-09T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.8603, 'pv_estimate10': 0.423, 'pv_estimate90': 0.903315, 'period_end': '2024-08-09T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.989, 'pv_estimate10': 0.6064, 'pv_estimate90': 1.03845, 'period_end': '2024-08-09T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0762, 'pv_estimate10': 0.784, 'pv_estimate90': 1.1300100000000002, 'period_end': '2024-08-09T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1538, 'pv_estimate10': 0.9324, 'pv_estimate90': 1.21149, 'period_end': '2024-08-09T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3841, 'pv_estimate10': 1.1163, 'pv_estimate90': 1.453305, 'period_end': '2024-08-09T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.5755, 'pv_estimate10': 1.3164, 'pv_estimate90': 1.654275, 'period_end': '2024-08-09T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.868, 'pv_estimate10': 1.5012, 'pv_estimate90': 1.9614000000000003, 'period_end': '2024-08-09T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.159, 'pv_estimate10': 1.6843, 'pv_estimate90': 2.1948, 'period_end': '2024-08-09T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.5347, 'pv_estimate10': 1.8163, 'pv_estimate90': 2.7161, 'period_end': '2024-08-09T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.9409, 'pv_estimate10': 1.9188, 'pv_estimate90': 3.1796, 'period_end': '2024-08-09T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.3338, 'pv_estimate10': 1.9675, 'pv_estimate90': 3.58, 'period_end': '2024-08-09T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.6777, 'pv_estimate10': 1.9917, 'pv_estimate90': 3.9129, 'period_end': '2024-08-09T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.0176, 'pv_estimate10': 2.0356, 'pv_estimate90': 4.1866, 'period_end': '2024-08-09T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.3628, 'pv_estimate10': 2.1036, 'pv_estimate90': 4.3937, 'period_end': '2024-08-09T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.5256, 'pv_estimate10': 2.0976, 'pv_estimate90': 4.5256, 'period_end': '2024-08-09T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.6357, 'pv_estimate10': 1.9657, 'pv_estimate90': 4.6357, 'period_end': '2024-08-09T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.6441, 'pv_estimate10': 1.7786, 'pv_estimate90': 4.6441, 'period_end': '2024-08-09T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.5544, 'pv_estimate10': 1.5486, 'pv_estimate90': 4.5544, 'period_end': '2024-08-09T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.4508, 'pv_estimate10': 1.3136, 'pv_estimate90': 4.4508, 'period_end': '2024-08-09T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 4.1608, 'pv_estimate10': 1.0179, 'pv_estimate90': 4.1608, 'period_end': '2024-08-09T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.8662, 'pv_estimate10': 0.7448, 'pv_estimate90': 3.8857, 'period_end': '2024-08-09T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1974, 'pv_estimate10': 0.4875, 'pv_estimate90': 3.3595, 'period_end': '2024-08-09T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2696, 'pv_estimate10': 0.2386, 'pv_estimate90': 2.8561, 'period_end': '2024-08-09T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9995, 'pv_estimate10': 0.1043, 'pv_estimate90': 1.9435, 'period_end': '2024-08-09T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1452, 'pv_estimate10': 0.0281, 'pv_estimate90': 0.6751, 'period_end': '2024-08-09T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-09T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0185, 'pv_estimate10': 0.0074, 'pv_estimate90': 0.019425, 'period_end': '2024-08-10T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0964, 'pv_estimate10': 0.0588, 'pv_estimate90': 0.10122, 'period_end': '2024-08-10T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1666, 'pv_estimate10': 0.1213, 'pv_estimate90': 0.17493, 'period_end': '2024-08-10T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2255, 'pv_estimate10': 0.1784, 'pv_estimate90': 0.236775, 'period_end': '2024-08-10T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2942, 'pv_estimate10': 0.2613, 'pv_estimate90': 0.30891, 'period_end': '2024-08-10T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.3672, 'pv_estimate10': 0.3619, 'pv_estimate90': 0.38556000000000007, 'period_end': '2024-08-10T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4156, 'pv_estimate10': 0.39482, 'pv_estimate90': 0.43638000000000005, 'period_end': '2024-08-10T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.5021, 'pv_estimate10': 0.47699499999999995, 'pv_estimate90': 0.527205, 'period_end': '2024-08-10T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6214, 'pv_estimate10': 0.5903299999999999, 'pv_estimate90': 0.65247, 'period_end': '2024-08-10T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.013, 'pv_estimate10': 0.7194, 'pv_estimate90': 1.06365, 'period_end': '2024-08-10T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.4065, 'pv_estimate10': 0.8255, 'pv_estimate90': 1.476825, 'period_end': '2024-08-10T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.7714, 'pv_estimate10': 0.8938, 'pv_estimate90': 1.8599700000000001, 'period_end': '2024-08-10T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.158, 'pv_estimate10': 0.9309, 'pv_estimate90': 2.2136, 'period_end': '2024-08-10T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.4836, 'pv_estimate10': 0.9632, 'pv_estimate90': 2.705, 'period_end': '2024-08-10T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.7602, 'pv_estimate10': 0.9889, 'pv_estimate90': 3.1219, 'period_end': '2024-08-10T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.9964, 'pv_estimate10': 0.9413, 'pv_estimate90': 3.5431, 'period_end': '2024-08-10T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.0858, 'pv_estimate10': 0.8189, 'pv_estimate90': 3.9002, 'period_end': '2024-08-10T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.134, 'pv_estimate10': 0.7203, 'pv_estimate90': 4.1798, 'period_end': '2024-08-10T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.177, 'pv_estimate10': 0.646, 'pv_estimate90': 4.3714, 'period_end': '2024-08-10T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1182, 'pv_estimate10': 0.5278, 'pv_estimate90': 4.5656, 'period_end': '2024-08-10T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.8117, 'pv_estimate10': 0.3649, 'pv_estimate90': 4.6393, 'period_end': '2024-08-10T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.4897, 'pv_estimate10': 0.243, 'pv_estimate90': 4.6319, 'period_end': '2024-08-10T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2126, 'pv_estimate10': 0.1777, 'pv_estimate90': 4.5376, 'period_end': '2024-08-10T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.8286, 'pv_estimate10': 0.1367, 'pv_estimate90': 4.4174, 'period_end': '2024-08-10T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3216, 'pv_estimate10': 0.0957, 'pv_estimate90': 4.1344, 'period_end': '2024-08-10T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.932, 'pv_estimate10': 0.0718, 'pv_estimate90': 3.8358, 'period_end': '2024-08-10T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.631, 'pv_estimate10': 0.0581, 'pv_estimate90': 3.4468, 'period_end': '2024-08-10T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2955, 'pv_estimate10': 0.0414, 'pv_estimate90': 2.7777, 'period_end': '2024-08-10T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1275, 'pv_estimate10': 0.0241, 'pv_estimate90': 2.1156, 'period_end': '2024-08-10T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0348, 'pv_estimate10': 0.007, 'pv_estimate90': 0.5783, 'period_end': '2024-08-10T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-10T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0111, 'pv_estimate10': 0, 'pv_estimate90': 0.0148, 'period_end': '2024-08-11T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0846, 'pv_estimate10': 0.0147, 'pv_estimate90': 0.08882999999999999, 'period_end': '2024-08-11T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2022, 'pv_estimate10': 0.0331, 'pv_estimate90': 0.21231, 'period_end': '2024-08-11T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4442, 'pv_estimate10': 0.051, 'pv_estimate90': 0.46641, 'period_end': '2024-08-11T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6545, 'pv_estimate10': 0.0721, 'pv_estimate90': 0.687225, 'period_end': '2024-08-11T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.8449, 'pv_estimate10': 0.1036, 'pv_estimate90': 0.8871450000000001, 'period_end': '2024-08-11T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0023, 'pv_estimate10': 0.1416, 'pv_estimate90': 1.052415, 'period_end': '2024-08-11T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1205, 'pv_estimate10': 0.1976, 'pv_estimate90': 1.176525, 'period_end': '2024-08-11T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1647, 'pv_estimate10': 0.323, 'pv_estimate90': 1.222935, 'period_end': '2024-08-11T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.3651, 'pv_estimate10': 0.4716, 'pv_estimate90': 1.433355, 'period_end': '2024-08-11T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.6337, 'pv_estimate10': 0.6055, 'pv_estimate90': 1.715385, 'period_end': '2024-08-11T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.888, 'pv_estimate10': 0.7595, 'pv_estimate90': 1.9824, 'period_end': '2024-08-11T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.1497, 'pv_estimate10': 0.9199, 'pv_estimate90': 2.1665, 'period_end': '2024-08-11T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.4019, 'pv_estimate10': 1.0476, 'pv_estimate90': 2.6357, 'period_end': '2024-08-11T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.6553, 'pv_estimate10': 1.1376, 'pv_estimate90': 3.0621, 'period_end': '2024-08-11T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.8899, 'pv_estimate10': 1.1436, 'pv_estimate90': 3.368, 'period_end': '2024-08-11T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.0099, 'pv_estimate10': 1.0672, 'pv_estimate90': 3.5955, 'period_end': '2024-08-11T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1047, 'pv_estimate10': 0.9959, 'pv_estimate90': 3.8126, 'period_end': '2024-08-11T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1844, 'pv_estimate10': 0.9005, 'pv_estimate90': 3.9677, 'period_end': '2024-08-11T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.2204, 'pv_estimate10': 0.8105, 'pv_estimate90': 4.0763, 'period_end': '2024-08-11T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1292, 'pv_estimate10': 0.6958, 'pv_estimate90': 4.0943, 'period_end': '2024-08-11T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.0364, 'pv_estimate10': 0.5744, 'pv_estimate90': 4.0161, 'period_end': '2024-08-11T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.03, 'pv_estimate10': 0.4705, 'pv_estimate90': 3.9295, 'period_end': '2024-08-11T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.9015, 'pv_estimate10': 0.3721, 'pv_estimate90': 3.674, 'period_end': '2024-08-11T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.7676, 'pv_estimate10': 0.2813, 'pv_estimate90': 3.4157, 'period_end': '2024-08-11T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.4369, 'pv_estimate10': 0.1941, 'pv_estimate90': 2.9204, 'period_end': '2024-08-11T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.0122, 'pv_estimate10': 0.1411, 'pv_estimate90': 2.3986, 'period_end': '2024-08-11T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1326, 'pv_estimate10': 0.0915, 'pv_estimate90': 1.6601, 'period_end': '2024-08-11T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2702, 'pv_estimate10': 0.0444, 'pv_estimate90': 0.9354, 'period_end': '2024-08-11T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0345, 'pv_estimate10': 0.0103, 'pv_estimate90': 0.0836, 'period_end': '2024-08-11T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-11T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.007, 'pv_estimate10': 0.0035, 'pv_estimate90': 0.0105, 'period_end': '2024-08-12T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0772, 'pv_estimate10': 0.0281, 'pv_estimate90': 0.0865, 'period_end': '2024-08-12T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.204, 'pv_estimate10': 0.0666, 'pv_estimate90': 0.2142, 'period_end': '2024-08-12T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4585, 'pv_estimate10': 0.1113, 'pv_estimate90': 0.48142500000000005, 'period_end': '2024-08-12T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6595, 'pv_estimate10': 0.1599, 'pv_estimate90': 0.692475, 'period_end': '2024-08-12T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.8441, 'pv_estimate10': 0.2195, 'pv_estimate90': 0.886305, 'period_end': '2024-08-12T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9901, 'pv_estimate10': 0.3271, 'pv_estimate90': 1.0396050000000001, 'period_end': '2024-08-12T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0983, 'pv_estimate10': 0.4563, 'pv_estimate90': 1.153215, 'period_end': '2024-08-12T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2322, 'pv_estimate10': 0.5807, 'pv_estimate90': 1.29381, 'period_end': '2024-08-12T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.5004, 'pv_estimate10': 0.7189, 'pv_estimate90': 1.57542, 'period_end': '2024-08-12T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.7722, 'pv_estimate10': 0.8593, 'pv_estimate90': 1.86081, 'period_end': '2024-08-12T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.0098, 'pv_estimate10': 0.9936, 'pv_estimate90': 2.11029, 'period_end': '2024-08-12T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2634, 'pv_estimate10': 1.1193, 'pv_estimate90': 2.37657, 'period_end': '2024-08-12T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.4944, 'pv_estimate10': 1.2204, 'pv_estimate90': 2.5405, 'period_end': '2024-08-12T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.7279, 'pv_estimate10': 1.2967, 'pv_estimate90': 2.8973, 'period_end': '2024-08-12T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.9552, 'pv_estimate10': 1.3492, 'pv_estimate90': 3.2183, 'period_end': '2024-08-12T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1329, 'pv_estimate10': 1.3725, 'pv_estimate90': 3.478, 'period_end': '2024-08-12T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.2985, 'pv_estimate10': 1.3551, 'pv_estimate90': 3.7192, 'period_end': '2024-08-12T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.3887, 'pv_estimate10': 1.3084, 'pv_estimate90': 3.8638, 'period_end': '2024-08-12T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.4361, 'pv_estimate10': 1.2148, 'pv_estimate90': 3.9599, 'period_end': '2024-08-12T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.4056, 'pv_estimate10': 1.068, 'pv_estimate90': 3.989, 'period_end': '2024-08-12T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.219, 'pv_estimate10': 0.8842, 'pv_estimate90': 3.9434, 'period_end': '2024-08-12T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.824, 'pv_estimate10': 0.6803, 'pv_estimate90': 3.8027, 'period_end': '2024-08-12T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.3536, 'pv_estimate10': 0.5072, 'pv_estimate90': 3.5753, 'period_end': '2024-08-12T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.8374, 'pv_estimate10': 0.3413, 'pv_estimate90': 3.267, 'period_end': '2024-08-12T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2913, 'pv_estimate10': 0.2112, 'pv_estimate90': 2.759, 'period_end': '2024-08-12T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.7375, 'pv_estimate10': 0.1389, 'pv_estimate90': 2.2179, 'period_end': '2024-08-12T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2689, 'pv_estimate10': 0.0833, 'pv_estimate90': 1.5428, 'period_end': '2024-08-12T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1033, 'pv_estimate10': 0.0367, 'pv_estimate90': 0.6559, 'period_end': '2024-08-12T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0235, 'pv_estimate10': 0.0067, 'pv_estimate90': 0.0749, 'period_end': '2024-08-12T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-12T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0071, 'pv_estimate10': 0.0036, 'pv_estimate90': 0.0071, 'period_end': '2024-08-13T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0929, 'pv_estimate10': 0.0286, 'pv_estimate90': 0.097545, 'period_end': '2024-08-13T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.2241, 'pv_estimate10': 0.0715, 'pv_estimate90': 0.23530500000000001, 'period_end': '2024-08-13T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.355, 'pv_estimate10': 0.1251, 'pv_estimate90': 0.37274999999999997, 'period_end': '2024-08-13T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4412, 'pv_estimate10': 0.1841, 'pv_estimate90': 0.46326, 'period_end': '2024-08-13T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4986, 'pv_estimate10': 0.2828, 'pv_estimate90': 0.52353, 'period_end': '2024-08-13T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.533, 'pv_estimate10': 0.3887, 'pv_estimate90': 0.5596500000000001, 'period_end': '2024-08-13T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.5248, 'pv_estimate10': 0.5151, 'pv_estimate90': 0.5510400000000001, 'period_end': '2024-08-13T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.5103, 'pv_estimate10': 0.48478499999999997, 'pv_estimate90': 0.535815, 'period_end': '2024-08-13T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.8673, 'pv_estimate10': 0.8169, 'pv_estimate90': 0.910665, 'period_end': '2024-08-13T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2381, 'pv_estimate10': 1.0266, 'pv_estimate90': 1.2381, 'period_end': '2024-08-13T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.7603, 'pv_estimate10': 1.1781, 'pv_estimate90': 1.7603, 'period_end': '2024-08-13T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.1816, 'pv_estimate10': 1.2738, 'pv_estimate90': 2.1816, 'period_end': '2024-08-13T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.6097, 'pv_estimate10': 1.3152, 'pv_estimate90': 2.6097, 'period_end': '2024-08-13T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.0098, 'pv_estimate10': 1.2915, 'pv_estimate90': 3.0098, 'period_end': '2024-08-13T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.3192, 'pv_estimate10': 1.2322, 'pv_estimate90': 3.3192, 'period_end': '2024-08-13T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.5387, 'pv_estimate10': 1.1728, 'pv_estimate90': 3.7156350000000002, 'period_end': '2024-08-13T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.7366, 'pv_estimate10': 1.1073, 'pv_estimate90': 3.754, 'period_end': '2024-08-13T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.82, 'pv_estimate10': 1.0236, 'pv_estimate90': 3.8723, 'period_end': '2024-08-13T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.7977, 'pv_estimate10': 0.8973, 'pv_estimate90': 3.939, 'period_end': '2024-08-13T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.5876, 'pv_estimate10': 0.7213, 'pv_estimate90': 3.9216, 'period_end': '2024-08-13T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.3036, 'pv_estimate10': 0.5559, 'pv_estimate90': 3.8207, 'period_end': '2024-08-13T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.9517, 'pv_estimate10': 0.4201, 'pv_estimate90': 3.6134, 'period_end': '2024-08-13T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.5354, 'pv_estimate10': 0.3102, 'pv_estimate90': 3.3621, 'period_end': '2024-08-13T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.018, 'pv_estimate10': 0.2035, 'pv_estimate90': 2.9174, 'period_end': '2024-08-13T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.5346, 'pv_estimate10': 0.1525, 'pv_estimate90': 2.4382, 'period_end': '2024-08-13T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.0001, 'pv_estimate10': 0.1128, 'pv_estimate90': 1.7828, 'period_end': '2024-08-13T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.319, 'pv_estimate10': 0.0683, 'pv_estimate90': 1.1389, 'period_end': '2024-08-13T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1034, 'pv_estimate10': 0.031, 'pv_estimate90': 0.3936, 'period_end': '2024-08-13T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0207, 'pv_estimate10': 0.0069, 'pv_estimate90': 0.0276, 'period_end': '2024-08-13T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-13T23:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T00:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T00:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T01:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T01:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T02:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T02:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T03:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T03:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T04:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T04:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0036, 'pv_estimate10': 0, 'pv_estimate90': 0.0071, 'period_end': '2024-08-14T05:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0643, 'pv_estimate10': 0.0143, 'pv_estimate90': 0.083, 'period_end': '2024-08-14T05:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1822, 'pv_estimate10': 0.0357, 'pv_estimate90': 0.19131, 'period_end': '2024-08-14T06:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4675, 'pv_estimate10': 0.0643, 'pv_estimate90': 0.49087500000000006, 'period_end': '2024-08-14T06:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.6779, 'pv_estimate10': 0.1036, 'pv_estimate90': 0.711795, 'period_end': '2024-08-14T07:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.8265, 'pv_estimate10': 0.1522, 'pv_estimate90': 0.8678250000000001, 'period_end': '2024-08-14T07:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9077, 'pv_estimate10': 0.2187, 'pv_estimate90': 0.953085, 'period_end': '2024-08-14T08:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9336, 'pv_estimate10': 0.3403, 'pv_estimate90': 0.98028, 'period_end': '2024-08-14T08:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.9378, 'pv_estimate10': 0.4772, 'pv_estimate90': 0.98469, 'period_end': '2024-08-14T09:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.1725, 'pv_estimate10': 0.6406, 'pv_estimate90': 1.2311250000000002, 'period_end': '2024-08-14T09:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.5156, 'pv_estimate10': 0.8108, 'pv_estimate90': 1.5913800000000002, 'period_end': '2024-08-14T10:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.8553, 'pv_estimate10': 0.9536, 'pv_estimate90': 1.948065, 'period_end': '2024-08-14T10:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2368, 'pv_estimate10': 1.0751, 'pv_estimate90': 2.34864, 'period_end': '2024-08-14T11:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.5847, 'pv_estimate10': 1.1841, 'pv_estimate90': 2.5882, 'period_end': '2024-08-14T11:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.9252, 'pv_estimate10': 1.2738, 'pv_estimate90': 2.9649, 'period_end': '2024-08-14T12:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.1922, 'pv_estimate10': 1.2855, 'pv_estimate90': 3.258, 'period_end': '2024-08-14T12:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.3646, 'pv_estimate10': 1.2261, 'pv_estimate90': 3.4887, 'period_end': '2024-08-14T13:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.5086, 'pv_estimate10': 1.1605, 'pv_estimate90': 3.6993, 'period_end': '2024-08-14T13:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.5739, 'pv_estimate10': 1.0655, 'pv_estimate90': 3.8025, 'period_end': '2024-08-14T14:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.5494, 'pv_estimate10': 0.9395, 'pv_estimate90': 3.8449, 'period_end': '2024-08-14T14:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.3804, 'pv_estimate10': 0.7579, 'pv_estimate90': 3.8285, 'period_end': '2024-08-14T15:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.2253, 'pv_estimate10': 0.6174, 'pv_estimate90': 3.7667, 'period_end': '2024-08-14T15:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 3.0365, 'pv_estimate10': 0.519, 'pv_estimate90': 3.583, 'period_end': '2024-08-14T16:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.7065, 'pv_estimate10': 0.3953, 'pv_estimate90': 3.3449, 'period_end': '2024-08-14T16:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 2.2113, 'pv_estimate10': 0.2663, 'pv_estimate90': 2.9354, 'period_end': '2024-08-14T17:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.7361, 'pv_estimate10': 0.1762, 'pv_estimate90': 2.4654, 'period_end': '2024-08-14T17:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 1.2171, 'pv_estimate10': 0.1264, 'pv_estimate90': 1.8967, 'period_end': '2024-08-14T18:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.4289, 'pv_estimate10': 0.0752, 'pv_estimate90': 1.1308, 'period_end': '2024-08-14T18:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.1068, 'pv_estimate10': 0.0345, 'pv_estimate90': 0.4484, 'period_end': '2024-08-14T19:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0.0172, 'pv_estimate10': 0.0069, 'pv_estimate90': 0.0207, 'period_end': '2024-08-14T19:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T20:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T20:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T21:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T21:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T22:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T22:30:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T23:00:00.0000000Z', 'period': 'PT30M'}, {'pv_estimate': 0, 'pv_estimate10': 0, 'pv_estimate90': 0, 'period_end': '2024-08-14T23:30:00.0000000Z', 'period': 'PT30M'}]}
2024-08-07 15:12:10.280 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Solcast returned 355 records
2024-08-07 15:12:10.287 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Forecasts dictionary length 14914
2024-08-07 15:12:10.436 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP data call processing took 0.1561s
2024-08-07 15:12:11.001 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-06 23:00:00+00:00, idx 14913, len 15268
2024-08-07 15:12:11.106 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 18 of 48 records and may produce inaccurate forecast data
2024-08-07 15:12:11.112 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains all 48 records
2024-08-07 15:12:11.112 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains all 48 records
2024-08-07 15:12:11.112 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains all 48 records
2024-08-07 15:12:11.113 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains all 48 records
2024-08-07 15:12:11.113 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains all 48 records
2024-08-07 15:12:11.113 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains all 48 records
2024-08-07 15:12:11.113 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-14 contains all 48 records
2024-08-07 15:12:11.114 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-07 15:12:11.114 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 0.6766s
2024-08-07 15:12:11.420 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Saved forecast cache

Messages from HA bootstrap indicating its waiting for the Solcast integration to finish in the middle of that log.

... but whilst the log indicates it was successful, API count incremented, etc, none of the sensors are populated correctly:

image

Logging into Solcast, the API calls were indeed correctly made:

image

Checking the files, solcast-usage.json contains daily_limit_consumed: 2 and last_updated in solcast.json is updated: "last_updated": "2024-08-07T14:12:10.437562+00:00", "version": 4}

So looks like a scope of variables thing maybe from when the solcast update is called?

autoSteve commented 1 month ago

That is super cool that the forecast fired for your dev after out-of-action for a while. (Finally.) Baby steps, sorry... (How good is the back-off retry!)

Build forecast finished okay, so I can't immediately see any reason why the forecasts and other sensors would be zero.

All proceeded normally. But apparently not. The API use sensor/last polled should be updated at the very least. 🤔

It's been more than five minutes after your restart poll, so much more to wrap my head around... Given bed-time, I hope to wake and find that this has all been an interesting dream. (I have been known to mutter Python in my sleep, reported by nearest and dearest. I shall probably be muttering to myself in about an hour...)

autoSteve commented 1 month ago

Lols. Ttypo...

solcast_solar.solcastapi] HTTP ssession returned data type in fetch_data() is <class 'dict'>

autoSteve commented 1 month ago

(You did look at the sensors after a 5 minute boundary after re-start, yeah? Changes were made by Isorin to suppress updates to five-minute intervals for much sensors a while back... Though I have not looked to see whether this is implicated.)

gcoan commented 1 month ago

(You did look at the sensors after a 5 minute boundary after re-start, yeah? Changes were made by Isorin to suppress updates to five-minute intervals for much sensors a while back... Though I have not looked to see whether this is implicated.)

I probably didn't wait 5 minutes, but would have thought that things like pv_forecast_today and api_last_polled would have been updated immediately after a Solcast poll?

I just restarted the test VM up and the sensors are all now populated: image

With the last time polled (14:12 UTC) corresponding to the prior log file of polling at 15:12 BST

However, when I look at the sensor history, all is revealed:

image

The poll on initial HA startup at 15:12 must have populated the solcast cache file but NOT the sensors, they only appear to have been updated just now when I restarted the VM 10 minutes ago.

2024-08-07 17:57:38.008 INFO (MainThread) [custom_components.solcast_solar]
-------------------------------------------------------------------
Solcast integration version: v4.0.41
This is a custom integration. When troubleshooting a problem, after
reviewing open and closed issues, and the discussions, check the
required automation is functioning correctly and try enabling debug
logging to see more. Troubleshooting tips available at:
https://github.com/BJReplay/ha-solcast-solar/discussions/38
Beta versions may also have addressed some issues so look at those.
If all else fails, then open an issue and our community will try to
help: https://github.com/BJReplay/ha-solcast-solar/issues
-------------------------------------------------------------------
2024-08-07 17:57:38.011 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Configuration directory is /config
2024-08-07 17:57:38.011 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites cache exists
2024-08-07 17:57:38.011 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Connecting to https://api.solcast.com.au/rooftop_sites?format=json&api_key=******Db75Av
2024-08-07 17:57:38.960 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_data()
2024-08-07 17:57:38.961 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing sites cache
2024-08-07 17:57:39.052 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Sites data: {'sites': [{'name': '87 High Street (E)', 'resource_id': 'bc31-4d4c-e844-6a4e', 'capacity': 10, 'capacity_dc': 8.58, 'longitude': **.******, 'latitude': **.******, 'azimuth': -100, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.99, 'tags': ['UK', 'Bedfordshire', 'GivEnergy']}, {'name': '87 High Street (W)', 'resource_id': '23bb-0216-85c6-fd94', 'capacity': 9, 'capacity_dc': 6.34, 'longitude': **.******, 'latitude': **.******, 'azimuth': 80, 'tilt': 37, 'install_date': '2023-01-07T00:00:00.0000000Z', 'loss_factor': 0.98, 'tags': ['UK', ' Bedfordshire', ' GivEnergy']}], 'page_count': 1, 'current_page': 1, 'total_records': 2}
2024-08-07 17:57:39.053 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Getting API limit and usage from solcast for ******Db75Av
2024-08-07 17:57:39.054 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API usage cache exists
2024-08-07 17:57:39.672 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] HTTP session returned status 200/Success in sites_usage()
2024-08-07 17:57:39.672 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Writing API usage cache file: /config/solcast-usage.json
2024-08-07 17:57:39.675 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] API counter for ******Db75Av is 4/10
2024-08-07 17:57:40.068 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] The saved data file exists, file type is <class 'dict'>
2024-08-07 17:57:41.179 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calc forecast start index midnight utc: 2024-08-06 23:00:00+00:00, idx 14913, len 15268
2024-08-07 17:57:41.282 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-07 contains only 18 of 48 records and may produce inaccurate forecast data
2024-08-07 17:57:41.283 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-08 contains all 48 records
2024-08-07 17:57:41.283 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-09 contains all 48 records
2024-08-07 17:57:41.283 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-10 contains all 48 records
2024-08-07 17:57:41.283 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-11 contains all 48 records
2024-08-07 17:57:41.283 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-12 contains all 48 records
2024-08-07 17:57:41.284 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-13 contains all 48 records
2024-08-07 17:57:41.284 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Data for 2024-08-14 contains all 48 records
2024-08-07 17:57:41.284 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Calculating splines
2024-08-07 17:57:41.284 DEBUG (MainThread) [custom_components.solcast_solar.solcastapi] Build forecast processing took 1.1754s
2024-08-07 17:57:41.285 INFO (MainThread) [custom_components.solcast_solar.solcastapi] Loaded solcast.json forecast cache
2024-08-07 17:57:41.343 DEBUG (MainThread) [custom_components.solcast_solar.coordinator] Finished fetching solcast_solar data in 0.000 seconds (success: True)

I can re-test this tomorrow if need be, I have got a backup of the test server taken before we started messing around with this fix.

autoSteve commented 1 month ago

And here's the rub: I did not update the sensors after fetch. This should sort that...

    # If the integration has failed for some time and then is restarted retrieve forecasts
    if solcast.get_api_used_count() == 0 and solcast.get_last_updated_datetime() < solcast.get_day_start_utc() - timedelta(days=1):
        try:
            _LOGGER.info('Integration has been failed for some time, or your update automation has not been running (see readme). Retrieving forecasts...')
            #await solcast.solcast.sites_weather()
            await solcast.http_data(dopast=False)
            coordinator._dataUpdated = True
            await coordinator.update_integration_listeners()
            coordinator._dataUpdated = False
        except Exception as ex:
            _LOGGER.error("Exception force fetching data on stale start: %s", traceback.format_exc())
gcoan commented 1 month ago

I'll restore the server back and try the code change in the morning.

There's a commented out line

await solcast.solcast.sites_weather()

Assume this is a remnant of old code you copied and pasted in & not needed.