Forecast.Solar - Error - Retrying setup: 'X-Ratelimit-Limit'

I just discovered that my addon for Forecast Solar is reporting " Retrying setup: ‘X-Ratelimit-Limit’ " I have tried reboot and uninstalling and installing put to no joy.

I have google for the error but nothing is coming up.

Has anyone see this before, and if so how did you resolve it as I enjoyed the forecast display within my energy dashboard.

You have reached the API limit on the number of requests per day.

I had yesterday the same problem. In the logs i see this now: forecast_solar.exceptions.ForecastSolarConnectionError: The Forecast.Solar API is unreachable

@kosakenzipfel I also have the same error " forecast_solar.exceptions.ForecastSolarConnectionError: The Forecast.Solar API is unreachable" @ 19:17 GMT and I also have
“Unexpected error fetching forecast_solar data: ‘list’ object has no attribute ‘items’” with the following message
Log Details (ERROR)

Logger: homeassistant.components.forecast_solar
Source: components/forecast_solar/coordinator.py:65
Integration: Forecast.Solar (documentation, issues)
First occurred: 26 May 2023 at 19:19:24 (1 occurrences)
Last logged: 26 May 2023 at 19:19:24

Unexpected error fetching forecast_solar data: ‘list’ object has no attribute ‘items’

Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 258, in _async_refresh self.data = await self._async_update_data() File “/usr/src/homeassistant/homeassistant/components/forecast_solar/coordinator.py”, line 65, in _async_update_data return await self.forecast.estimate() File “/usr/local/lib/python3.10/site-packages/forecast_solar/init.py”, line 162, in estimate return Estimate.from_dict(data) File “/usr/local/lib/python3.10/site-packages/forecast_solar/models.py”, line 182, in from_dict datetime.fromisoformat(d): w for d, w in data[“result”][“watts”].items() AttributeError: ‘list’ object has no attribute ‘items’

and @tom_i how can I reach my API limit when it was working with no issues for the pass year, and nothing has changed on my system ?

and latest, I still don’t have have the graph on my energy board

Hello,

same here. I setup a firewall rule to block all traffic to the IP of the forecast.solar service (148.251.178.234) which worked. So technically not outgoing traffic possible.

$ curl -v -H 'Accept: text/csv' 'https://api.forecast.solar/estimate/watthours/day/52/12/37/0/8.0'
* Host api.forecast.solar:443 was resolved.
* IPv6: 2a01:4f8:211:55d::2
* IPv4: 148.251.178.234
*   Trying 148.251.178.234:443...
* connect to 148.251.178.234 port 443 from 172.30.33.2 port 57176 failed: Connection refused
*   Trying [2a01:4f8:211:55d::2]:443...
* Immediate connect fail for 2a01:4f8:211:55d::2: Address not available
* Failed to connect to api.forecast.solar port 443 after 3 ms: Couldn't connect to server
* Closing connection
curl: (7) Failed to connect to api.forecast.solar port 443 after 3 ms: Couldn't connect to server
$

I had this rule set for more than 12h. When removing the rule in the firewall I still get the rate limit error. Can someone explain this to me? The plugin is disabled and I only used this one curl request.

$ curl -v -H 'Accept: text/csv' 'https://api.forecast.solar/estimate/watthours/day/52/12/37/0/8.0'
* Host api.forecast.solar:443 was resolved.
* IPv6: 2a01:4f8:211:55d::2
* IPv4: 148.251.178.234
*   Trying 148.251.178.234:443...
* Connected to api.forecast.solar (148.251.178.234) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / X25519 / RSASSA-PSS
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=api.forecast.solar
*  start date: Feb 26 02:44:19 2024 GMT
*  expire date: May 26 02:44:18 2024 GMT
*  subjectAltName: host "api.forecast.solar" matched cert's "api.forecast.solar"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
*   Certificate level 0: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://api.forecast.solar/estimate/watthours/day/52/12/37/0/8.0
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: api.forecast.solar]
* [HTTP/2] [1] [:path: /estimate/watthours/day/52/12/37/0/8.0]
* [HTTP/2] [1] [user-agent: curl/8.5.0]
* [HTTP/2] [1] [accept: text/csv]
> GET /estimate/watthours/day/52/12/37/0/8.0 HTTP/2
> Host: api.forecast.solar
> User-Agent: curl/8.5.0
> Accept: text/csv
>
< HTTP/2 429
< server: nginx
< date: Sun, 03 Mar 2024 21:04:46 GMT
< content-type: text/csv; charset=utf-8
< x-version: v7.15.3
< x-build: 1856 (Sat, 02 Mar 2024 15:50:19 +0100)
< x-pid: KSVw6TY2
< x-ratelimit-zone: IP 94.xxx.xxx.xxx
< x-ratelimit-period: 3600
< x-ratelimit-limit: 12
< x-ratelimit-retry-at: 2024-03-02T09:22:25+01:00
< access-control-allow-origin: *
< access-control-allow-methods: OPTIONS,HEAD,GET,POST
< access-control-allow-headers: Origin,Content-Type,Authorization,X-Requested-With,X-Delimiter,X-Separator
<
"Rate limit for API calls reached."
* Connection #0 to host api.forecast.solar left intact
[core-ssh ~]$

Yes, I do have a 94er adress. MY ISP provides a public IPv6 and a non-public v4. Could this be part of the problem?

Gruss
Ralf