Created At

Oct 20, 2017

Last Update

Jul 16, 2019

Platforms

HC 2

Views

5237

Download

242

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

31 Comments,  Want to add comment please login
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

5ef0d460716fe151bb86180f66de8e3a

Changing line #131 didn't work for me, probably a syntax error? 127 -- OAToken 128 function GetOAuth(actiontype,action,location,zone,temperature,duration) 129 url = 'https://tccna.honeywell.com/Auth/OAuth/Token' 130 headers = { 131 url = ' ' http://boerremk.nl/cgi-bin/access_token2.py', 132 ['Accept']='application/json, application/xml, text/json, text/x-json, text/javascript, 133 text/xml' 134 } In my example maybe replace line 129?

5ef0d460716fe151bb86180f66de8e3a

Hi Remco, in the debug I get this error; [DEBUG] 10:14:13: EvohomeAPI: update,,0,,, [DEBUG] 10:14:13: actiontype: update [DEBUG] 10:14:13: action: [DEBUG] 10:14:13: location: 0 [DEBUG] 10:14:13: zone: [DEBUG] 10:14:13: temperature: [DEBUG] 10:14:13: duration: "[ERROR] 10:14:14: LuaEnvironment: /opt/atlassian/bamboo-agent/xml-data/build-dir/NHC2-NHCLUAENG34-JOB1/LuaEngine/vendor/avhttp/avhttp/cookie.hpp:636: bool avhttp::cookies::parse_cookie_string(const string&, std::vector&): Assertion `0' failed." Any suggestions would be appreciated! Fibaro HC2 @ 4541