[RELEASE] Honeywell Evohome 2020 Integration with new Smartthings app

If you need some API grabs to help build a DH let me know what you need. I just don’t have the time right now to look through and work out how the app is setup.

Hi Simon and thank you so much for your kind words! I was one of you guys waiting for the old Codersaur integration to be picked up by someone and fix it. I am thinking of adding hot hot water support with a lot of help from @nayelyz but i have no idea what you mean about the open percentage for the valve. Can i have a screenshot?

images (1)

In the Installer Menu / System Summary each zone is listed and on the left the percentage that the each HR92 is open at.

I use this to understand what the system is actual trying to do in each Zone!

1 Like

Oh that looks difficult to implement assuming the API provides access to this…

Yep, thought it might be :thinking:

Thought I’d ask :grin:

Is the API documented anywhere so I could have a root around?

Best options I would guess is to wireshark the network port your AP is on to try and grab the data out from the screen and see what it is calling.

There is an unofficial API but i don’t know how to use it.

If there’s anything that you ever want to know about Evohome, this is the forum for it:

https://www.automatedhome.co.uk/vbulletin/forumdisplay.php?13-Heating-Control

There are some people who have spent a lot of time to understand the intricacies of the system, along with the occasional input from Honeywell (now Resideo) staff.

A search for watchforstock will find the details of one of the people who implemented the API when it was found. There has never been any official documentation released for the API, but from the discussions, I don’t believe the zone heat demand is available on it.

Of note, the percentages that you see on the screen don’t necessarily correspond to that zone’s valve position. This is a percentage heat demand and things like flow temperature (if you’re using OpenTherm) or adaptive load scaling can affect this.

Thank you @guyank ! I am aware of this forum and have been trying to get info on Evohome lately. There was a big firmware update on December and from what i could gather, at somepoint in the future evohome will be added to the Honeywell Home app and will probably get a Smartthings integration officially.

However this day may also never come.

What would really help as saying it again i am not a developer is for you guys to help me track down someone who had access to the Codersaur’s private beta release where he added support for hot water. I am pretty sure i could use that to make it work with the new app!

I tried to contact Paul Ockenden @PailOckenden who had access on the private evohome beta on Twitter but so far no responce… :frowning:

There’s been a beta release of the firmware since about March that most members of that forum have been testing. Paul was very active on there but thinking about it I haven’t seen much from him recently.

Unfortunately I’m giving up on SmartThings. The move to the new app has crippled some of my automations (this was one but I managed to recover most functionality) and the prospect of Groovy being retired and losing everything else means that I’m starting to migrate before it all stops at once.

Yeah… Just got a reply from him on Twitter… unfortunately, as the beta was private, he doesn’t want to break his promise of not sharing with others, so unfortunately he wont give us the beta code. Any chance we could find someone else who had this piece of code?

I’ve installed the DH and SmartApp, and configured the SmartApp with my Honeywell connect account details. SmartThings correctly pulls through all zones (TRVs) but the incorrectly reports the Current and Setpoint temperatures; it says both are 5C.

When I check the logs in the IDE I can see a few errors against the “Evohome (Connect)” device;

8f458882-dec9-483f-8aba-c61e82adaa5e 12:49:21: error java.lang.NullPointerException: Cannot get property ‘dhwId’ on null object @line 1010 (doCall)

8f458882-dec9-483f-8aba-c61e82adaa5e 12:49:18: error java.lang.NullPointerException: Cannot get property ‘dhwId’ on null object @line 1010 (doCall)

UPDATE: Just looked at the SmartApp code and can see this relates to the Host Water Zone, which apparently doesn’t work properly anyway.

And this is what I see for each zone device;

5278b3ea-b72f-44f2-8d35-3cf0ef64d59a 12:49:09: info Living room Heating Zone (Evohome): generateEvent(): New values: [debug:false, updateRefreshTime:3, minHeatingSetpoint:5.0, maxHeatingSetpoint:35.0, temperatureResolution:0.5, windowFunctionTemperature:5.0, zoneType:RadiatorZone, locationId:1305218, gatewayId:1208237, systemId:1383331, zoneId:1383330]

Have I missed a step or done something wrong? Has anyone else had this issue and resolved it?

Any assistance would be appreciated, thanks.

Phil

Phil, no idea about the logs, not a developer. Read the original post again, and if you had the old Codersaur integration then go the the smartapp and change the polling interval to 4 or 6.

Also make sure you are using my latest build from github. Without the hot water dth. Try again and let me know.

Maybe I’ve been setting things up incorrectly. Also, I’m not sure if I should be doing something with the “Hot water presentation.json”…

Can I just check that I’m doing the procedure properly?

  1. Create new device handler.
  1. In SmartThings app
  • Go to SmartApps
  • Click +
  • Scroll down and select Evohome (Connect)
  • Enter Honeywell Connect username and password

I’ve just removed the SmartApp and DH, and followed the above steps again, and get the same result.

I then went back into the app and changed the polling interval to 4. I can see stuff appearing in the logs but still nothing.

Strange… you don’t need to do anything with the json file.

Ok one morr thing to try. Open the evohome device in smartthings, go to settings and fill them up. Then try again…

Hi Andreas,

Thanks for your suggestions. When you say “the evohome device”, are you talking about the various “[Zone Name] Heating Zone (Evohome)” devices? I have tried setting those values on one device but that does not help.

I might try modifying your DHT to output device values in the debug log; just need to unpick the code to do so.

Phil

Really strange though a lot of people are using it without issues…

When looking at the Logs I can only see one event per device, which presumably is the device being initialised but I see no subsequent events at all. For example, I had Debug turned off, so I turned it on and saw the following in the Logs;

77d2f0c8-f5e1-438a-9f26-58b90f8bfb62 20:34:45: debug Living room Heating Zone (Evohome): calculateThermostatSetpointStatus()

77d2f0c8-f5e1-438a-9f26-58b90f8bfb62 20:34:45: debug Living room Heating Zone (Evohome): formatThermostatModeForDisp()

77d2f0c8-f5e1-438a-9f26-58b90f8bfb62 20:34:45: debug Living room Heating Zone (Evohome): calculateThermostatStatus()

77d2f0c8-f5e1-438a-9f26-58b90f8bfb62 20:34:45: debug Living room Heating Zone (Evohome): calculateOptimisations()

77d2f0c8-f5e1-438a-9f26-58b90f8bfb62 20:34:45: debug Living room Heating Zone (Evohome): calculateThermostatOperatingState()

77d2f0c8-f5e1-438a-9f26-58b90f8bfb62 20:34:45: info Living room Heating Zone (Evohome): generateEvent(): New values: [debug:true, updateRefreshTime:3, minHeatingSetpoint:5.0, maxHeatingSetpoint:35.0, temperatureResolution:0.5, windowFunctionTemperature:5.0, zoneType:RadiatorZone, locationId:1305218, gatewayId:1208237, systemId:1383331, zoneId:1383330]

But nothing after that. Should I be seeing debug output every time the device status is refreshed?

I am sorry i don’t know. Maybe ask a programmer about this.

The Honeywell Developer Portal (https://developer.honeywellhome.com/) appears to be open for anyone to create an account (I just have), which then allows access to the API documentation.