Problem connecting to Evohome Web API

For Evohome related questions in Domoticz

Moderator: leecollings

infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Problem connecting to Evohome Web API

Post by infiltrator88 »

Hi,
I recently installed Evohome heating and I am trying to add it to my domoticz.
I allowed new devices for 5 minutes. I created the new hardware Evohome via Web Api and filled in my emailaddress and password that I also use for the app and the webportal.
Unfortunately I am recieving this error which I can't resolve:

2019-12-05 17:00:44.372 Status: (EvoHome Web API) Worker started...
2019-12-05 17:00:54.373 Status: (EvoHome Web API) connect to Evohome server
2019-12-05 17:00:57.732 Error: (EvoHome Web API) retrieve installation info failed with message: unable to connect to Evohome portal
2019-12-05 17:00:57.732 Error: (EvoHome Web API) failed to retrieve installation info from server

I don't block any connections with a firewall or something so that shouldn't be the problem. Anyone had this problem before or has a solution for this problem?
Thanks in advance
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

no one recognizes this problem?
gordonb3
Posts: 111
Joined: Saturday 31 March 2018 22:24
Target OS: Linux
Domoticz version: Custom
Location: Delft, NL
Contact:

Re: Problem connecting to Evohome Web API

Post by gordonb3 »

The message you are seeing indicates an unspecified networking error, i.e. not related to the http protocol and thus bound to your local machine.
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

thanks for your reply gordon. I wouldn't know what the problem is then. My domoticz is installed on an RPI3B. I am using the router of my provider and I am not blocking any traffic by my knowledge.
The app(on my phone) on the same network does connect to Evohome(it is the same API I think) so that would indicate the problem is my domoticz installation or my RPI.
Someone has a clue how to troubleshoot this?
gordonb3
Posts: 111
Joined: Saturday 31 March 2018 22:24
Target OS: Linux
Domoticz version: Custom
Location: Delft, NL
Contact:

Re: Problem connecting to Evohome Web API

Post by gordonb3 »

If it was routing then you would have seen a Curl error 7 being returned. It's most likely a library (version) conflict. I suggest you search the forum for similar issues and do not restrict to Evohome but include other Web API connectors (e.g. Toon) as well. You're most likely not the first to encounter the issue. The alternative would be to compile Domoticz yourself on the target system.
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

thanks for the quick reply. I will search the forum and hopefully find a solution because i really wouldn't know how to compile domoticz myself.
gordonb3
Posts: 111
Joined: Saturday 31 March 2018 22:24
Target OS: Linux
Domoticz version: Custom
Location: Delft, NL
Contact:

Re: Problem connecting to Evohome Web API

Post by gordonb3 »

Update: it seems that Honeywell is still busy updating their services and one of the recent changes involved appears to be the silencing of errors. i.e. if their algorithm concludes that you should not be sending or requesting what you did, they will return absolutely nothing at all: no header, no body, and this (also) will lead to the error you are seeing. Sadly this new policy makes it rather impossible to detect the source of the error. Assuming you are on some kind of Linux system with access to Curl, you can try to enter the API related commands manually and see if and at what point the problem starts.
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

gordonb3 wrote: Saturday 14 December 2019 22:36 Update: it seems that Honeywell is still busy updating their services and one of the recent changes involved appears to be the silencing of errors. i.e. if their algorithm concludes that you should not be sending or requesting what you did, they will return absolutely nothing at all: no header, no body, and this (also) will lead to the error you are seeing. Sadly this new policy makes it rather impossible to detect the source of the error. Assuming you are on some kind of Linux system with access to Curl, you can try to enter the API related commands manually and see if and at what point the problem starts.
Thank you Gordon for you reply. hmm I don't know what the exact Curl code is. is there a way to find this or do I need to check Evohome with script?
I am on an RPI so I have access to curl.
gordonb3
Posts: 111
Joined: Saturday 31 March 2018 22:24
Target OS: Linux
Domoticz version: Custom
Location: Delft, NL
Contact:

Re: Problem connecting to Evohome Web API

Post by gordonb3 »

Okay

Step 1: Logon

Enter your logon credentials in the two top lines of the next code block

Code: Select all

user=<your-email-address>
pwd=<your-password>

postdata="installationInfo-Type=application%2Fx-www-form-urlencoded;charset%3Dutf-8&Host=rs.alarmnet.com%2F&Cache-Control=no-store%20no-cache&Pragma=no-cache&grant_type=password&scope=EMEA-V1-Basic%20EMEA-V1-Anonymous%20EMEA-V1-Get-Current-User-Account&Username=${user}&Password=${pwd}&Connection=Keep-Alive"
curl -X POST -H "Authorization: Basic YjAxM2FhMjYtOTcyNC00ZGJkLTg4OTctMDQ4YjlhYWRhMjQ5OnRlc3Q=" -H "charsets: utf-8" -H "Accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml" -d "${postdata}" "https://tccna.honeywell.com/Auth/OAuth/Token"
logon return wrote:{
"access_token":"Pn8I7iNXKJ3kbYNcBeQgnQiTIB9bOFzpPKqqSvGDqcwvyHCm4....",
"token_type":"bearer",
"expires_in":3599,
"refresh_token":"6M6TEclo65k53Ef0HbpPOWu0XIzuauNCgz04Yt0STMSa1U6g....",
"scope":"EMEA-V1-Basic EMEA-V1-Anonymous"
}

Step 2: Retrieve your user ID

Grab the access token from the previous return and enter it in the top line of the next code block

Code: Select all

access_token=<access-token-returned-by-the-previous-call>

curl -X GET -H "Authorization: bearer ${access_token}" -H "applicationId: b013aa26-9724-4dbd-8897-048b9aada249" -H "accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml" -H "content-type: application/json" -H "charsets: utf-8" "https://tccna.honeywell.com/WebAPI/emea/api/v1/userAccount"
user info return wrote: {
"userId": "1234567",
"username": "your-email-address",
"firstname": "your-first-name",
...

Step 3: Retrieve Evohome installation info(s)

Now grab the user ID that was returned in Step 2 and enter it in the top line of the next code block

Code: Select all

userId=<user-ID-returned-in-step-2>

curl -X GET -H "Authorization: bearer ${access_token}" -H "applicationId: b013aa26-9724-4dbd-8897-048b9aada249" -H "accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml" -H "content-type: application/json" -H "charsets: utf-8" "https://tccna.honeywell.com/WebAPI/emea/api/v1/location/installationInfo?userId=${userId}&includeTemperatureControlSystems=True"
location info return wrote: [
{
"locationInfo": {
"locationId": "1234567",
...
"temperatureControlSystems": [
{
"systemId": "1234567",
"modelType": "EvoTouch",
"zones": [
{
"zoneId": "1234567",
"modelType": "HeatingZone",
...

Step 4: retrieve temperatures etc.

Grab the location ID that was returned in Step 3 and enter it in the top line of the next code block

Code: Select all

locationId=<location-ID-returned-in-step-3>

curl -X GET -H "Authorization: bearer ${access_token}" -H "applicationId: b013aa26-9724-4dbd-8897-048b9aada249" -H "accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml" -H "content-type: application/json" -H "charsets: utf-8" "https://tccna.honeywell.com/WebAPI/emea/api/v1/location/${locationId}/status?includeTemperatureControlSystems=True"
user info return wrote: {
"locationId": "1234567",
"gateways": [
{
"gatewayId": "1234567",
"temperatureControlSystems": [
{
"systemId": "1234567",
"zones": [
{
"zoneId": "1234567",
"temperatureStatus": {
"temperature": 18.0,
"isAvailable": true
},
"activeFaults": [],
...
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

Step 3: Retrieve Evohome installation info(s)


I put in the CURL command and got this output:

[
{
"code": "LatestEulaNotAccepted",
"message": "Latest Eula is not accepted."
}
]

I have never seen a EULA before with evohome?

Found this:
https://github.com/watchforstock/evohom ... /issues/53

need to try it when I am at home.
gordonb3
Posts: 111
Joined: Saturday 31 March 2018 22:24
Target OS: Linux
Domoticz version: Custom
Location: Delft, NL
Contact:

Re: Problem connecting to Evohome Web API

Post by gordonb3 »

Interesting...

Question: what is the returned value for "language" in Step 2? There have been some reports in the past that the API does not function if the language has been set to Hungarian.
gordonb3
Posts: 111
Joined: Saturday 31 March 2018 22:24
Target OS: Linux
Domoticz version: Custom
Location: Delft, NL
Contact:

Re: Problem connecting to Evohome Web API

Post by gordonb3 »

A bit puzzled here actually. Did you not see that message "Latest Eula is not accepted" being logged as an error in Domoticz? Because I'm pretty sure it must have.
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

Step 2:
"country": "Netherlands"

I have not seen the message with "Latest Eula is not accepted". (not in setup --> Log)

Errors in log file I got:
2019-12-17 15:14:17.810 Status: (EvoHome Verwarming) connect to Evohome server
2019-12-17 15:14:20.049 Error: (EvoHome Verwarming) retrieve installation info failed with message: unable to connect to Evohome portal
2019-12-17 15:14:20.049 Error: (EvoHome Verwarming) failed to retrieve installation info from server
2019-12-17 15:15:21.176 Error: (EvoHome Verwarming) retrieve installation info failed with message: unable to connect to Evohome portal

because a lack of time yesterday I will have to try the new account somewhere this week.
gordonb3
Posts: 111
Joined: Saturday 31 March 2018 22:24
Target OS: Linux
Domoticz version: Custom
Location: Delft, NL
Contact:

Re: Problem connecting to Evohome Web API

Post by gordonb3 »

infiltrator88 wrote: Tuesday 17 December 2019 15:14 Step 2:
"country": "Netherlands"
Does this reply mean that you do not have a field "language" in the return from Step 2?
infiltrator88 wrote: Tuesday 17 December 2019 15:14 I have not seen the message with "Latest Eula is not accepted". (not in setup --> Log)

Errors in log file I got:
2019-12-17 15:14:17.810 Status: (EvoHome Verwarming) connect to Evohome server
2019-12-17 15:14:20.049 Error: (EvoHome Verwarming) retrieve installation info failed with message: unable to connect to Evohome portal
2019-12-17 15:14:20.049 Error: (EvoHome Verwarming) failed to retrieve installation info from server
2019-12-17 15:15:21.176 Error: (EvoHome Verwarming) retrieve installation info failed with message: unable to connect to Evohome portal
Okay, so that is weird because this log entry states that you are being served an empty page and no error state whereas the manual method returned the EULA message.
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

gordonb3 wrote: Tuesday 17 December 2019 16:10
infiltrator88 wrote: Tuesday 17 December 2019 15:14 Step 2:
"country": "Netherlands"
Does this reply mean that you do not have a field "language" in the return from Step 2?
infiltrator88 wrote: Tuesday 17 December 2019 15:14 I have not seen the message with "Latest Eula is not accepted". (not in setup --> Log)

Errors in log file I got:
2019-12-17 15:14:17.810 Status: (EvoHome Verwarming) connect to Evohome server
2019-12-17 15:14:20.049 Error: (EvoHome Verwarming) retrieve installation info failed with message: unable to connect to Evohome portal
2019-12-17 15:14:20.049 Error: (EvoHome Verwarming) failed to retrieve installation info from server
2019-12-17 15:15:21.176 Error: (EvoHome Verwarming) retrieve installation info failed with message: unable to connect to Evohome portal
Okay, so that is weird because this log entry states that you are being served an empty page and no error state whereas the manual method returned the EULA message.

I am sorry I misread your threat.
"language": "nlNL"

Is it possible that both problems aren't related? Hopefully I will find the time tonight to make a new account.
gordonb3
Posts: 111
Joined: Saturday 31 March 2018 22:24
Target OS: Linux
Domoticz version: Custom
Location: Delft, NL
Contact:

Re: Problem connecting to Evohome Web API

Post by gordonb3 »

Sh*t!

It's not the Evohome portal that's sending empty data. It's Domoticz HTTP client that instructs curl to wipe it all! If you enable debuglevel normal you should see the associated HTTP error code pop up in the log. This fluke has kept me awake for over two years, I hate that.
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

Ok, I removed my account and all. Made a new account. Added it again and behold....


019-12-17 18:05:40.809 Status: (EvoHome Verwarming) register new zone 'Mijn Woning: Woonkamer'
2019-12-17 18:05:40.812 Status: (EvoHome Verwarming) register new zone 'Mijn Woning: Badkamer'
2019-12-17 18:05:40.815 Status: (EvoHome Verwarming) register new zone 'Mijn Woning: Keuken'
2019-12-17 18:05:40.817 Status: (EvoHome Verwarming) register new zone 'Mijn Woning: Bijkeuken'


looks like it's working although my tabs aren't looking normal in web interface now looks like sh*t. (all tabs)
Image


EDIT: Seems a pc problem. other pc shows normal tabs. Ticket can be closed
infiltrator88
Posts: 20
Joined: Tuesday 15 January 2019 11:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by infiltrator88 »

gordonb3 wrote: Tuesday 17 December 2019 17:06 Sh*t!

It's not the Evohome portal that's sending empty data. It's Domoticz HTTP client that instructs curl to wipe it all! If you enable debuglevel normal you should see the associated HTTP error code pop up in the log. This fluke has kept me awake for over two years, I hate that.
lol over two years is a long time.
Thanks for all the help Gordonb3!
lustasag
Posts: 1
Joined: Sunday 15 March 2020 21:06
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Problem connecting to Evohome Web API

Post by lustasag »

Hi,

I'm sorry for bumping this relatively old thread, but I also have login problems and tried these shell sniplets to debug my config.

I am using DomoticzV4.11786 beta (2020-03-14 19:27:12), my log says
log wrote: Error: (Evohome Web) retrieve user account info failed with message: Values provided by API aren't supported by client or field filled by client is not supported.
at the first connection attempt and
log wrote: Error: (Evohome Web) retrieve installation info returned message: Request was bad formatted or cannot find required ID parameter in the URL.
Error: (Evohome Web) failed to retrieve installation info from server
at any subsequent try. When I use curl to verify my connection, the first curl command yields an auth token, which I then feed into the second one. Then however, instead of a response with a user ID, I get
Honeywell response wrote: {
"code": "UnsupportedClientVersion",
"message": "Values provided by API aren't supported by client or field filled by client is not supported."
}
I found this thread https://community.openhab.org/t/evohome ... /37264/180 where I gather that Honeywell might be phasing out the authentication method mentioned here and used by domoticz.

Has anyone encountered this issue recently?

Aurél
gordonb3 wrote: Monday 16 December 2019 10:38 Okay

Step 1: Logon

Enter your logon credentials in the two top lines of the next code block

Code: Select all

user=<your-email-address>
pwd=<your-password>

postdata="installationInfo-Type=application%2Fx-www-form-urlencoded;charset%3Dutf-8&Host=rs.alarmnet.com%2F&Cache-Control=no-store%20no-cache&Pragma=no-cache&grant_type=password&scope=EMEA-V1-Basic%20EMEA-V1-Anonymous%20EMEA-V1-Get-Current-User-Account&Username=${user}&Password=${pwd}&Connection=Keep-Alive"
curl -X POST -H "Authorization: Basic YjAxM2FhMjYtOTcyNC00ZGJkLTg4OTctMDQ4YjlhYWRhMjQ5OnRlc3Q=" -H "charsets: utf-8" -H "Accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml" -d "${postdata}" "https://tccna.honeywell.com/Auth/OAuth/Token"
logon return wrote:{
"access_token":"Pn8I7iNXKJ3kbYNcBeQgnQiTIB9bOFzpPKqqSvGDqcwvyHCm4....",
"token_type":"bearer",
"expires_in":3599,
"refresh_token":"6M6TEclo65k53Ef0HbpPOWu0XIzuauNCgz04Yt0STMSa1U6g....",
"scope":"EMEA-V1-Basic EMEA-V1-Anonymous"
}

Step 2: Retrieve your user ID

Grab the access token from the previous return and enter it in the top line of the next code block

Code: Select all

access_token=<access-token-returned-by-the-previous-call>

curl -X GET -H "Authorization: bearer ${access_token}" -H "applicationId: b013aa26-9724-4dbd-8897-048b9aada249" -H "accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml" -H "content-type: application/json" -H "charsets: utf-8" "https://tccna.honeywell.com/WebAPI/emea/api/v1/userAccount"
philips
Posts: 12
Joined: Friday 07 February 2020 15:44
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Poland
Contact:

Re: Problem connecting to Evohome Web API

Post by philips »

Any solutions to the above ?
I'm getting the same problem:

Code: Select all

2020-09-15 14:18:56.389 Status: (Evohome) connect to Evohome server
2020-09-15 14:18:57.731 Error: (Evohome) retrieve user account info failed with message: Values provided by API aren't supported by client or field filled by client is not supported.
2020-09-15 14:20:57.744 Status: (Evohome) connect to Evohome server
2020-09-15 14:20:59.283 Error: (Evohome) retrieve installation info returned message: Request was bad formatted or cannot find required ID parameter in the URL.
2020-09-15 14:20:59.283 Error: (Evohome) failed to retrieve installation info from server
2020-09-15 14:22:59.932 Error: (Evohome) retrieve installation info returned message: Request was bad formatted or cannot find required ID parameter in the URL.
Raspberry Pi 4 2GB
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests