As you know the old Codersaur Evohome Integration has long been rendered unusable due to changes in both Honeywell and Smartthings. I had been waiting for a proper integration as it seems for ever. Despite not being a developer, i decided to give a try into making it work with the new Smartthings app. With a lot of help from @nayelyz i have managed to modify both the Smartapp and the Device Handler required in order to make it work with the new Smartthings app.
@zcapr17 (Codersaur) should take the most credit here as it is his creation, but as getting in contact with him was impossible, i took the liberty of trying to fix it myself.
GOOD NEWS! I HAVE FINALLY MANAGED TO FIND CODERSAUR ON REDDIT AND HE PROVIDED THE BETA INTEGRATION WHICH INCLUDES HOT WATER! I HAVE MANAGED TO GET THE DEVICE HANDLER UP TO DATE TO WORK WITH THE NEW SMARTTHINGS APP BUT THE HOT WATER DTH IS INDEED A BETA RELEASE. PLEASE READ THE HOT WATER ISSUES SECTION TO LEARN MORE. ALSO I AM WORKING WITH @nayelyz TO FIX SOME ISSUES, BUT IF ANY OF YOU IS A DEVELOPER (AS I AM NOT) IF INTERESTED, I AM MORE THAN HAPPY TO WORK WITH YOU TO RESOLVE THESE ISSUES. I HOPE I MADE SOMEONE’S DAY
*Also special thanks to @Philip_Street1, who managed to solve the issue where if hot water was not discovered in the system, the integration would fail.
Changes from the old app:
- Fixed the API endpoint to be the new one that Honeywell Evohome uses
- Added The new capabilities for the deprecated thermostat capability used by the new smartthings app
- Fixed the Checking Status on the dashboard tile for use with the new Smartthings app
- Generated the Presentation file required by the new smartthings app for correctly displaying the options for the inside of the new app
- Removed the old custom and deprecated capabilities from the old code
- Changed the default value for window function temperature from 5.0 to 5 as it would throw a bad request error
- Managed to get the correct thermostat modes to show app in the modes list in the new app presentation
- Managed to get the modes to work with the new app’s presentation. Some list items appear weird but this is a Smartthings issue
- Changed the links for the documentation and images to work.
- Removed the cooling options
- V3.4 Fixed the hot water switch issue going back and forth when changing state in the smartthings app.
- V3.3 Added logs for the hot water switch state to appear in the IDE.
- V3.2 Replaced the hot water mode with the new custom thermostat mode to fix the wording. Also removed the deprecated refresh capability from both the zone and hot water thermostats to avoid them from showing up in the automation options.
- V3.1 The Alexa issue where it was not possible to set the temperature from the app or voice has now been resolved. Also as an added bonus, the Thermostat Modes now display the modes correctly.
- V2.1 Removed deprecated set temperature option at the automation actions.
Cannot set the temperature and an error is thrown.
You need to reinitialize the device handlers. The solution to this is to get the Evohome Connect SmartApp to resend the device id to the device handler. Fortunately you can do this going into the Evohome Connect SmartApp and changing a setting (I changed the polling period) which causes a refresh of the data.
Changing the setpoint duration in the settings, (e.g. to permanent) will not actually apply the change to the thermostat.
While i am working on fixing this by adding default values, the solution is to go to each evohome zone, go to settings, set the setpoint duration to what you require, (e.g. to permanent) and then set temperatures for both Boost and Suppress (INTEGERS ONLY). Doing so, will let you set the setpoint duration.
Setting the temperature using the Alexa app or voice, has a different range than the one set in Smartthings (8 to 32 degrees).
We are working on a fix.
Link to the Evohome 2020 SmartApp and Device Handler: GitHub - andremain/EvohomeSmartthings2020: A modified Evohome Smartthings integration based on Codersaur's code from 2016
Note, when copying the groovy code from GitHub, don’t use the RAW view as this will corrupt the degree symbols in the code, copy from the standard view instead.
Please use THIS thread for anything related to the Honeywell Evohome integration from now on
Navigate to the IDE : https://graph-eu01-euwest1.api.smartthings.com/hub/show/a5c61251-ad03-4fc0-a54b-a84ca5cd8fe0
Press on smartapps and click on new smartapp, then select from code.
Now navigate to the gihub page https://www.github.com/andremain/EvohomeSmartthings2020/tree/main/
Open the evohome connect smartapp click on the 3 dots and then view raw. Select everything and paste it inside the IDE. Then click save and publish for me.
Now you need to add the device handlers. In the IDE click on device handlers from the menu. Click create a new device handler and click from code. Then navigate back to github https://www.github.com/andremain/EvohomeSmartthings2020/tree/main/ and open the evohome zone dth. Click on the 3 dots and click view raw. Select everything and copy it. Then navigate back to the IDE and paste the code. Click save and publish for me.
Finally you need to do the same with the hot water dth. In the IDE click on device handlers from the menu. Click create a new device handler and click from code. Then navigate back to github https://www.github.com/andremain/EvohomeSmartthings2020/tree/main/ and open the evohome hot water zone dth. Click on the 3 dots and click view raw. Select everything and copy it. Then navigate back to the IDE and paste the code. Click save and publish for me.
Now you need to setup evohome from your smartthings app. Open the app and tap on add smartapp. Scroll to the bottom and you should see a smartapp called evohone connect under the custom section. Tap on it open. Type in your username and password and tap done.
The devices will be added to smartthings. You need to go to each zone (device) tap the 3 dots and tap settings. Under duration type 60, boost 22 and suppress 15. At the until option select your preference and go back to the device.
If you have a hot water device. Open it tap the 3 dots, settings for the duration type 60 and the at the until option select your preference and go back to the device. You are now ready to use the integration.