Page 1 of 1

Evohome goes offline everytime after 15 minutes...

Posted: Monday 30 December 2019 19:21
by reneklomp
I am running (again) latest stable version of Domoticz.

After every (re)start of Domoticz, my configured Evohome goes offline 15 minutes later. Until then it looks OK with updates every 60 seconds:

2019-12-30 19:14:59.598 (Evohome) fetch data from server

After 15 minutes I get the following log message for each subsequent request - so every 60 seconds. Also devices show offline as of then:

2019-12-30 18:40:14.666 Error: (Evohome) v1 get temps failed with message: unable to connect to Evohome portal

I have connected and got data just fine directly from the API through using curl etc. All looks good then and I am able to access the data flawlessly.
I have also gone through the delete location + account and recreated the account + location on their site for accepting the EULA (as this was mentioned as a potential problem. Also, when I request from the API that looks fine here:

{
"requiredEulaVersion": 0,
"acceptedEulas": [
{
"eulaVersion": 0,
"acceptanceDate": "2019-12-30T14:12:54.327"
}
]
}

Also disabling and (re)enabling the Evohome hardware in Domoticz shows the same behaviour. Then again, after 15 minutes I get the error messages and Evohome goes offline.

It almost looks like an expired session token or something similar after 15 minutes... are we using the refresh token correctly?
Any ideas as to why this is failing?

Rene.

Re: Evohome goes offline everytime after 15 minutes...

Posted: Monday 30 December 2019 19:42
by reneklomp
The state of Evohome devices goes to the state as shown in the picture...
Image2.jpg
Image2.jpg (158.83 KiB) Viewed 696 times
Also the Temperature devices show offline and a broken icon...
Image4.jpg
Image4.jpg (40.05 KiB) Viewed 696 times
This has been a long standing problem for me where I can't rely on the state of these devices (TemporaryOverride, PermanentOverride, Auto, etc.).
I wish someone has seen this before and maybe has a solution!?
I did try the latest Beta which might offer a solution as I don't recall having seen it. However, the Beta has other issues that made me go back to a new install of the latest stable release.

Rene.

Re: Evohome goes offline everytime after 15 minutes...

Posted: Monday 30 December 2019 19:43
by gordonb3
Honeywell changed the grants on one of the application IDs that we are using. The result is that the session that is used to retrieve the higher temperature resolution expires after 15 minutes and the code in `stable` does not handle that situation correctly. Change to `development` or disable the higher temperature resolution.

Re: Evohome goes offline everytime after 15 minutes...

Posted: Monday 30 December 2019 20:34
by reneklomp
Thank you so much!! I just reconfigured to have temp precision same as controller and that did the trick! I will stick to the 0.5 degrees accuracy until the next stable release then so at least my scripts will work. Thanks again!!!

Rene.

Re: Evohome goes offline everytime after 15 minutes...

Posted: Monday 30 December 2019 20:57
by gordonb3
No worries. Note worthy: your scripts should not have experienced issues since all the commands are being sent through the less fine grained interface.

Re: Evohome goes offline everytime after 15 minutes...

Posted: Monday 30 December 2019 21:27
by reneklomp
Well, about right.. however, what was not working in my script is the lower couple of lines in the snippet below:

setpoint = My.GetValue(otherdevices_svalues['Room'],2)
room_mode = My.GetValue(otherdevices_svalues['Room'],3)
time_until = My.GetValue(otherdevices_svalues['Room'],4)

I use it later on in my script to temporarily override the temperature until the next setpoint time:

commandArray['SetSetPoint:269']=temp_pm .. '#TemporaryOverride#' .. time_until

That fails if the device reports as offline.

Rene.

Re: Evohome goes offline everytime after 15 minutes...

Posted: Monday 30 December 2019 21:46
by gordonb3
Ah... Yes. If the zone is reported as offline then the until time is not populated and you must specify one when you want to issue a temporary override. In this particular use case the script will indeed fail.