Created At

Oct 20, 2017

Last Update

Jul 16, 2019

Platforms

HC 2

Views

5661

Download

267

Change history:

  • Corrected png size to 128x128
  • 3.2.5 (20171215): Some regions were not working, changed the method of authentication to fix this issue

 

You need:

  • Evohome with color screen and Internet gateway (RFG100) or Evohome with wifi
  • Evohome account

 

Installation:

 

For the Dutch people: In the zipfile there is an installation manual.

  1. Create a Variable (Panels / Variables Panel): EvohomeAPI
  2. Create a LUA scene "Evohome API"
  3. Paste the code from the "Evohome_2.0_Scene.txt" into the scene
  4. Change the following lines
  5. local username = "EMAIL" -- Evohome username
  6. local password = "PASSWORD" -- Evohome password
  7. local main_id = {1376}; -- ID of Evohome VD's, one for every location, starting with the ID of location 0 eq {111,222} -- see below "Evohome_2.0.vfib"
  8. local zones_name = {"Room1","Room2","Room2","Bathroom","Hallway","Master","Kidsroom","Kitchen"}; -- Name of zones (defined in Evohome, case-sensitive!)
  9. local zones_id = {1219,1377,1222,1221,1218,1217,1220,1223}; -- ID of zones VD -- see below "Evohome_2.0_-_Zone.vfib"
  10. !!REMEMBER THE ID OF THE SCENE!!
  11. Import "Evohome_2.0_-_Zone.vfib" for every zone you need, you have to set/edit:
  12. The name off the VD should match the name of the zone (case-sensitive!)
  13. IP Address of the virtual device with the location ID of youe Evohome system (default = 0) (See Evohome 2.0.png)
  14. TCP port of the virtual device with the ID of the scene (See Evohome 2.0.png)
  15. !!REMEMBER THE ID OF THE VD, THIS HAS TO BE PUT IN THE SCENE, SEE ABOVE!!
  16. Import "Evohome_2.0.vfib" (only once!), you have to set/edit:
  17. IP Address of the virtual device with the location ID of youe Evohome system (default = 0) (See Evohome 2.0.png)
  18. TCP port of the virtual device with the ID of the scene (See Evohome 2.0.png)
  19. The values will be update every 30 minutes (you can change this in the main loop)
  20. !!REMEMBER THE ID OF THE VD, THIS HAS TO BE PUT IN THE SCENE, SEE ABOVE!!
  21. Import "Evohome_2.0_-_DHW.vfib" for every DHW you need, you have to set/edit:
  22. IP Address of the virtual device with the location ID of youe Evohome system (default = 0) (See Evohome 2.0.png)
  23. TCP port of the virtual device with the ID of the scene (See Evohome 2.0.png)
  24. !!REMEMBER THE ID OF THE VD, THIS HAS TO BE PUT IN THE SCENE, SEE ABOVE!!`

 THATS IT...

 

 

IMPORTANT

Honeywell changed there security to there API some tome ago so you will receive the following error:

LuaEnvironment: /home/server/bamboo-agent-home/xml-data/build-dir/HC-LE153-JOB1/LuaEngine/vendor/avhttp/avhttp/cookie.hpp:636: bool avhttp::cookies::parse_cookie_string(const string&, std::vector&): Assertion `0' failed.

I have created two workarounds, you only have to use 1:

  1. Change the line "url= 'https://tccna.honeywell.com/Auth/OAuth/Token'" in the function "GetOAuth" of the scene "Evohome API" to:
     

    url = '

    '

    http://boerremk.nl/cgi-bin/access_token2.py'
  2. In the Evohome zip there is a file called access_token2.py, install this on a local webserver and cange the line "url= 'https://tccna.honeywell.com/Auth/OAuth/Token'" in the function "GetOAuth" of the scene "Evohome API" to:
    url = '<webserver-ip>/access_token2.py'

 

 

 

Link to Fibaro Forum pages

Link to profile

33 Comments,  Want to add comment please login
3487c9da23983d4d372a012b02b8b75a

Hi Remko, great work! Everything is operational, with the python script on my own web-server. You did a complete job, more information isn't available in the json-response of Honeywell. Many thanks!

3487c9da23983d4d372a012b02b8b75a

Hi Remko, sorry... but what's a DHW?

25e263cee1b95ece7c7b3074c851053d

Henk, you have to change the line "url = 'https://tccna.honeywell.com/Auth/OAuth/Token'"

25e263cee1b95ece7c7b3074c851053d

Hi Coen, I see you comment just now... You habe to change the function "GetOAuth" in the scene "Evohome API" .

13bdc67a1efc4632ecb31894b16ba791

hello Remko, could you please give some a more detailled explanation about the workaround. In what script do i need to change the url-line? thanks in advance