New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Honeywell Thermostat Stops working after a while (key Error) #8554
Comments
Anyone has any idea on this one? |
@watchforstock do you have any insight? |
I would guess that for some reason the API isn't returning valid content for some reason. From a quick scan of the code (https://github.com/watchforstock/evohome-client/blob/master/evohomeclient/__init__.py#L40) it looks like the response code isn't being tested to check it succeeded. Ideally it should be throwing an exception to be caught by the home assistant code. I've not heard reports of this - either home assistant is querying more regularly than others or people are using the evohomeclient2 package which has a different code path. |
Ok thanks for your input perhaps another HA Dev can take a look? off thing is as soon as HA restarts it works fine again. |
For info, I've hitting the same fault since moving to 0.49:
|
@balloob or @fabaff @turbokongen do you have any input here? |
Hi all, I had the thermostat working with the current honeywel component for about two weeks, and never got an error message. As soon I updated the references to the
My first guess is that this can be linked to Honeywell rate-limiting API requests, as it seems the v1 library had some sort of request caching that is not implemented in v2. It seems also that the @matthewcky2k , can you try to enable debugging to see if we can have more info on the issue? You have to edit the honeywell.py component, line 72, from |
I'm just testing a fix for this. The session ID is only valid for an hour but the user data is never updated because of this check here. PR incoming if it behaves as expected. |
ok thanks @dansarginson |
Hmm, apologies but I had the two APIs mixed up in my head. I suspect the correct answer is @namadori's work to move to the new API. |
I think I'm seeing something similar, thermostats don't update until I restart then all the data comes in. I tried to enabled debug but am getting this in the log file:
|
@mattjam that won't work unfortunately since we're not on the evohomeclient2 library. I'm currently testing another fix for this (the test time is quite long since I can't force it into error quicker than a day or two) so heads up for a PR if I can confirm the right effect. For anyone who's interested, I still think that the token we get back from the Honeywell API eventually times out. This is no surprise; Honeywell shouldn't issue authentication tokens that don't age off. We eventually get an exception here when we ask the evohomeclient library to try to read from a dictionary that no longer contains any devices. When our authentication token times out, there's no way for the library to get a new one, but if we set all of the user data in the client to 'None' when catching the exception, I'm hoping all will be well. |
Thanks @dansarginson I've done a bit more testing and I'm wondering if what I'm seeing is related to the changes in History query (#8748) With my setup, the graph doesn't update after restarting hass. When I do restart, the past data then populates properly but no new data ever gets added, i.e. the problem is immediate for me and doesn't take a few days for a session to expire. Looking at the database, I can see new entries are indeed there, although the order of the json objects looks slightly different. |
This fixes an issue (home-assistant#8554) whereby the Honeywell thermostats stopped working after a period of hours or days. We do this by forgetting the authorisation token that was sent back to us when we first logged in, which causes the underlying evohomeclient library to perform the full login procedure again.
This fixes an issue (#8554) whereby the Honeywell thermostats stopped working after a period of hours or days. We do this by forgetting the authorisation token that was sent back to us when we first logged in, which causes the underlying evohomeclient library to perform the full login procedure again.
Home Assistant release (
hass --version
):0.49
Python release (
python3 --version
):3.5.3
Component/platform:
Honeywell Thermostat
Description of problem:
Works fine for a while after HA is started but then stops updating
Expected:
Updates as expected
Problem-relevant
configuration.yaml
entries and steps to reproduce:Traceback (if applicable):
Additional info:
The text was updated successfully, but these errors were encountered: