Closed unik42 closed 1 year ago
Hey there @danielhiversen, mind taking a look at this issue as it has been labeled with an integration (tibber
) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
tibber documentation tibber source (message by IssueLinks)
Could you share the diagnostic information? Or any relevant logs?
If you tell me where to look.
"data": {
"homes": {}
}
So seems that the Tibber api does not return any homes for your account.
I have one home for my Tibber account and one secondary for some heaters at my cabin. Could it be that the reason is that I have two homes?
Do not think so.
Do you see your homes if you test this query at https://developer.tibber.com/explorer ?
{
viewer {
homes {
address {
address1
}
}
}
}
Yes. Both homes show up.
Hmm, then I do not know what is wrong.
I'll contact Tibber and ask them to remove the cabin from the app.
Same issue for me. Problem started at 2022-10-26 07:33 (UTC+2).
Same problem here, sensors not updated. Have not reinstalled integration but sensors starts working after reload of integration. Updating of sensors stops after a while (3-4 hours), have to reload again. Very strange.
Any Tibber errors in the log?
Same issue for me. Error in the homeassistant.log: 2022-10-27 22:54:52.348 ERROR (MainThread) [tibber] Error connecting to Tibber, resp code: 429 2022-10-27 22:54:52.391 ERROR (MainThread) [tibber] Error connecting to Tibber, resp code: 429 2022-10-27 22:54:52.393 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.tibber 2022-10-27 22:54:52.395 INFO (MainThread) [homeassistant.components.notify] Setting up notify.tibber
Error connecting to Tibber, resp code: 429
Indicate that the integration hit some rate limiting, and is blocked.
When I try the query now, it only says: "Network error: Failed to fetch"
I have the exact same problem. @Danielhiversen just reach out if you need anything to troubleshoot.
Both me and a friend experiences the same. The Tibber-integration suddenly stops receiving/polling data, but after a restart of the integration it starts again. Have Tibber started rate-limiting?
Found this in the logs: 2022-10-25 22:16:39.482 ERROR (MainThread) [tibber] Error connecting to Tibber, resp code: 502
After this occurred, the integration never did fetch any new data until I manually restarted a couple days later.
It seems the problem ocurred at the same time for everyone so this is probebly related to something tibber did. Sholudnt be too hard to figure out
Unsure if the problem I have is the same, but I have a fresh install of homeassistant. When I added the tibber integration, it seems to be successfully added, but no devices show up. When I reload the tibber integration I get the following line in the console log
2022-10-28 08:40:11.285 ERROR (MainThread) [tibber] Error connecting to Tibber, resp code: 400
I also tried to run the gql query from this comment: https://github.com/home-assistant/core/issues/81037#issuecomment-1292441755, and it did successfully show my home.
I am unsure if this is the same issue as the rest in the thread or a new, as I seem to be the only one with the 400 status codes Adding it here since all the other symptoms are the same
Where do you see the error message? The same happens to mine but I cant find where the error message should be.
Where do you see the error message? The same happens to mine but I cant find where the error message should be.
Easiest is under settings, on the menu there there is an entry named System. Within that menu you should find Logs
Thanks!
Logger: tibber Source: components/tibber/init.py:55 First occurred: 10:10:53 (1 occurrences) Last logged: 10:10:53
Error connecting to Tibber, resp code: 429
Same error.
Logger: tibber Source: components/tibber/init.py:55 First occurred: 11:46:51 (1 occurrences) Last logged: 11:46:51
Error connecting to Tibber, resp code: 429
Same issue here as well happened just now 13:15 1minute after reloading the integration.. It never recovers after an error.
Logger: graphql_subscription_manager Source: components/tibber/init.py:88 First occurred: 13:15:35 (1 occurrences) Last logged: 13:15:35
Websocket is closed.
429 = Too Many Requests
Tibber has definitively started rate-limiting...
My friend gets this error fast on a house with solar panel (more requests), while at my home the plugin works longer before beeing dropped (fewer requests).
I guess there's some throttling going on at Tibber. This happens to me to and I need to deactivate and activate Tibber to start receiving data again. Unfortunately it doesn't seem to be a way to programatically disable/enable an integration to work around the root cause of this issue. I guess the third best option would be to schedule a reboot of HA.
I got this message (in Norwegian) from Tibber:
Hei igjen!HA integrasjonen driftes av en privatperson på egent initiativ og har ingen tilknyttning direkte til Tibber, men vi ynskjer å hjelpe så langt kunnskapen vår strekker til Anbefaler å prøve å styre mot HomeID, du kan finne den ved å skrive inn koden under i API explorer: https://developer.tibber.com/explorer {
viewer {
homes{
id
appNickname
}
login
name
}
}
You can read here about their rate limiting: https://developer.tibber.com/docs/overview
This seems to be a decent workaround for any integration that needs a reload: https://github.com/home-assistant/core/issues/76491#issuecomment-1288634887
All i get from api explorer is: "Network error: Failed to fetch"
I deleted the old token and created a new one so nothing is fetching anything thus not exceeding any rate limit.
@Danielhiversen: Regarding this part in the Tibber response: "Anbefaler å prøve å styre mot HomeID..." Is that something you can implement in Tibber? It still does not work on my part.
I have no idea what that means
So, Tibber have recently added a rate-limit of 100 requests in 5 minutes pr ip-address. That sounds reasonable. I have no idea how many API-calls are done by the Tibber-addon though.
Have the same problem. Values not updated. Integration stops updating data. Happens every day. Reload integration fixes the problem (most of the times). This makes the integration useless. Rate limit seems like a likely cause.
My external IP is blocked, forever it seams. I cant even run queries in "api-explorer". If i run through vpn and therefore get some other external ip it works just fine.
Just had this issue myself after updates from tibber became unstable.
From the diagnostics on the integration page it reports:
"homes": { "current_home_id": { "last_data_timestamp": null, "has_active_subscription": false, "has_real_time_consumption": false, "last_cons_data_timestamp": null, "country": "NO" }, "old_home_id": { "last_data_timestamp": null, "has_active_subscription": false, "has_real_time_consumption": false, "last_cons_data_timestamp": null, "country": "NO" }
Api Explorer:
{ "data": { "viewer": { "homes": [ { "address": { "address1": "Current Home", "country": "NO", }, "features": { "realTimeConsumptionEnabled": true } }, { "address": { "address1": "Old home", "country": "NO" }, "features": { "realTimeConsumptionEnabled": false } } ] } } }
There are no errors in the log as far as I can see
I have had this problem for å while. I started reloading the integration ever 4 hours, but I was still losing data. As a workaround I made an automation that reloads the integration if data is not updated for 2 minutes. That works for me.
But if the root cause is that Tibber is rate limiting, then the integration should limit how often it queries the Tibber API. In addition it should pause and retry if it receives an error.
I see this 'reload the integration immediately (after a minute or two)'-hack as a potential pitfall. If then rate-limit based on IP, this could potentially kick in some other block. I have seen users report that they're unable to connect anymore without using a VPN - probably because they've been blocked by their own IP.
Tibber: "We have recently added a rate limit of 100 requests in 5 minutes per IP address to protect the API". That should amount to one query every 3 seconds. That seems reasonable. The integration could be modified to limit the the numbers of queries to this value?
Just sent a message to tibber support to ask if the "Network error: Failed to fetch" is indicative of a rate-limit problem and also if there is any perma-ban on ip:s that have reached the limit.
Logger: tibber Source: components/tibber/init.py:55 First occurred: 13:14:28 (1 occurrences) Last logged: 13:14:28
Error connecting to Tibber, resp code: 429
I am still unable to connect at all. So annoying!
@unik42 Have to tried to remove the integration for a while, say a day, and reinstalled it? It may be hammering on the API so much that the rate limit is continuously updating and blocking you.
I have not, and will do so immediately and try in a couple of days.
Any suggestions on how to implement some sort of rate limiting to the repo?
This should not have been made like this is the first place, the code should be parsing the response and have an exponential backoff . Not just hammering the api when the response code is not ok. This time it was a rate limit, next time it's the server struggling (might be the reason for implementing the rate limit init the first place) and then the server will not be able to recover because all the users are hammering it.
Any suggestions on how to implement some sort of rate limiting to the repo?
I haven't looked at the code, I assume it's just to have a longer sleep periode.
Workaround identified: Only use 1 device to communicate with the API. This also inludes the Tibber App. You can not use tha Tibber App in combination with Home Assistant integration, Home Assistant will hang. As olekenneth says there is most likely some response code that is not taken into consideration.
Workaround identified: Only use 1 device to communicate with the API. This also inludes the Tibber App. You can not use tha Tibber App in combination with Home Assistant integration, Home Assistant will hang. As olekenneth says there is most likely some response code that is not taken into consideration.
Well i only use the HA integration, and i only have one home. I never use the Tibber app. Still i am having the problem several times each day.
Workaround identified: Only use 1 device to communicate with the API. This also inludes the Tibber App. You can not use tha Tibber App in combination with Home Assistant integration, Home Assistant will hang. As olekenneth says there is most likely some response code that is not taken into consideration.
I think you draw conclusions a bit too fast. The root cause has not been identified yet and it is not really a workaround to stop using devices. Workaround in HA is to actually auto-reload the integration via an automation. As for the root cause as you can see from different comments the rate limit is just a part of it.
Once again, there are two types of communication from HA integration to the Tibber API, one is polling via HTTP API (for the price and accumulated consumption, etc. sensors) and one is subscription based via websocket (for real time sensors, like Pulse). The latter one is not using HTTP when already subscribed and still stalls. I cannot say how the Tibber backend handles the throttling, could be that subscription is affected too, but there is no evidence whatsoever so we cannot really point out that as a root cause without more information.
And since we're looking at the HA integration now the solution must be in the integration. It is not a Tibber product hence the integration must constantly evolve and be patched for the changes on the API side.
Back-off and auto-recover would be the best way forward.
Have had the integration uninstalled this weekend and reinstalled it just now. Still not able to populate devices, and still the following error in the log:
The problem
Tibber does not update any sensors. After removal of Tibber and reinstallalation, no devices or entities are populated. It is quite simply blank.
What version of Home Assistant Core has the issue?
Home Assistant 2022.10.4
What was the last working version of Home Assistant Core?
Home Assistant 2022.10.4
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Tibber
Link to integration documentation on our website
https://www.home-assistant.io/integrations/tibber/
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response