Honeywell Evohome

thanks to @guido and @ApriliaEdd for getting this working; i can finally remove my last reliance on IFTTT as the interface to Evohome :grinning: doing something like this is beyond my skills in coding.....which are practically non-existent.

just to report back on my initial findings; after setting away / economy in one of the devices (which actually sets that mode for the whole system which is what i need) it can be cancelled by pressing 'heat' - putting the system back on schedule. Seems to work fine so far (although i only got it working 20 minutes ago).

I'll play with it more in the coming weeks; looking forward to using it to set bedtime routines as well as more complex presence detection based rules!

1 Like

I've not noticed any errors relating to that line on mine, that's not to say they aren't there just that I'm not smart enough to notice them :rofl: glad you got it working though.

regarding resume I noticed this too. I only use the heating in 2 automations. one switches between eco and normal based on presence and then to away if were gone for more than 48 hours, the other is a bathroom boost which puts on the towel rail radiator for an hour. the second one suffered from this issue where it will not put the setpoint down. i got round it by setting the setpoint to 15 then setting resume.

I'm away from home right now so cannot do much but I might look into @c.j.winter's method of setting "heat" instead of resume.

Hi all, I'm trying to do the same thing, but as I am very new to Hubitat (1.5 days into it), I'm not entirely sure whether what I've done is actually correct. I can see all of my radiators and the reported temperature is correct, so at the very basic level it seems to work. However, how do I configure the tiles so that I can change the different heating modes and/or control temperature on the individual radiators?

Which code did you use for the app and driver? I must have got my Hub about the same time as you and am also struggling. I've found various files in GitHub but nothing I can get working the way it was in SmartThings. When adding the tile in Hubitat dashboard I selected the zone and then selected the thermostat for type and I get a tile where the temperature can be changed visibly but then it just reverts back to the original set point without affecting the change on the system. In my SharpTools panel the temperature up/down arrows are greyed out and non functional.
Screenshot 2021-01-17 at 16.22.29

I amended the code on line 897 as I was also getting that error. I still cannot change the temperature though. In the log I see:

2021-01-17 16:54:35.858 errorjava.lang.NullPointerException: null on line 483 (setHeatingSetpoint)

I've just had a look at the App and Device Handler that I've been using in SmartThings and these had both been modified and claimed by Andremain.

you should not need to modify any code or create any devices, both myself and @c.j.winter are using the code from my repo successfully
in the app code page create a new app and paste in the app code enable OAuth
click save
in the driver code page create a new driver and paste the driver code
click save
go to apps- add user app- evohome connect
enter your total comfort network username & password
click done and it should create the required devices itself

go to your device list and the thermostats should be there

Thanks for the response. I added the app code and driver code, logged in with my details etc and can see the thermostats and the values are updating but I've no control. But I've definitely missed one step in what you've said above. I'll let you have a guess what it is while I jump back in to Hubitat to see if it fixes it lol.....

John, I'm in the exact same boat. I can see my thermostats updating, but have no control within Hubitat. I keep getting the exact same 'NullPointerException' error. I spent the last couple of days trying to figure it out and gave up earlier today. If you make it work, please let me know what you've done!

@ApriliaEdd - So I thought I'd not enabled OAuth. I've been back in to the app code, enabled it and saved (not sure whether I needed to enter anything in the box that popped up for OAuth?). I'm still unable to alter anything though and can see that Poll and OAuth are "pending". Am I best off deleting the lot and starting from scratch? TIA

Will do - I'm hoping with help I can get it working. It's becoming clear what a complete novice I am since I got this Hub!

1 Like

Haha, same here. I thought, 'hey, I'm a smart guy, surely I can figure out some plastic box and a few copy/pastes". Oh well...

Poor Edd, now helping two idiots rather than just one (me)...

1 Like

i just added the code to my other hub and it wouldn't create the devices without the OAuth enabled. i then went back into the code clicked Oauth then update and save. then go into the evohome connect app and click done it then created all the devices.

sounds like starting from scratch might not hurt.

i stumbled from error to error getting help from the community where needed until this didn't throw an error on saving the code and once i got control of a thermostat i didn't touch it again!

I wish I knew more about this stuff and could be of more help.

Believe you me you already are helping. As for "knowing more about this stuff" you're leagues in front of me because I'll never get my head around code! I'll delete the zones followed by the driver and the app and start afresh. The only other thing I wasn't sure of was whether the existing Evohome integration with SmartThings would cause issues but I made sure to disable the Evohome Connect app there first.

Enabling OAuth in the Drivers code and then going to the Connect App and clicking 'Done' again to resubmit login credentials -- made it work for me! I owe @ApriliaEdd (and @c.j.winter ) a couple of pints!

Aaaargh not for me - I'm stuffed

Hang in there mate, I almost threw in the towel as well.

yeah just getting this in the log:

dev:452021-01-17 21:31:08.454 errorjava.lang.NullPointerException: null (setHeatingSetpoint)

dev:452021-01-17 21:31:08.266 errorjava.lang.NullPointerException: null (setHeatingSetpoint)

dev:452021-01-17 21:31:05.572 errorjava.lang.NullPointerException: null (setHeatingSetpoint)

dev:452021-01-17 21:31:04.924 errorjava.lang.NullPointerException: null (setHeatingSetpoint)

dev:452021-01-17 21:31:04.790 errorjava.lang.NullPointerException: null (setHeatingSetpoint)

dev:452021-01-17 21:31:04.613 errorjava.lang.NullPointerException: null (setHeatingSetpoint)

dev:452021-01-17 21:31:04.510 errorjava.lang.NullPointerException: null (setHeatingSetpoint)

try deleting all the evohome devices. open each device and click remove device then remove to confirm. then open the evohome connect app and click done this should recreate all the devices.

interesting ly i just deleted one of my zones to confirm this and started getting errors on the new zone but making the changes to line 897 of the device driverthat guido mentioned above fixed it.

@ApriliaEdd @TUllman. I've now got it working after a few attempts. With the EvoHome app open on my phone, I can adjust using the commands on the individual zone device page and see that it updates straight away and it can be adjusted using a tile in Hubitat own dashboard.

What's caused some confusion is the operation via SharpTools dashboard (not sure if either of you are using SharpTools). With the tile set as Thermostat the up and down arrows to directly alter the temperature are greyed out and can't be used - you have to click adjust to open a panel and do it from there. If you set the icon as "double height thermostat" you get the unused cooling function and the previously inactive arrows are usable. I'm not sure how this is possible as I've been using the Sharptools dashboard to control the Evohome through SmartThings with the standard single height thermostat and those arrows are active. I'm confused. See pics:

Screenshot 2021-01-17 at 22.02.20 Screenshot 2021-01-17 at 22.02.53