Decoded - EvoHome API access to control remotely.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • jzwack-honeywell
    Automated Home Jr Member
    • Jan 2016
    • 36

    Hey it's me! Back again!

    So I'm going to go down the road of trying to give all of you your own API keys.

    Long and short of it:
    - We want to see what traffic is coming from where (in case of problems or version updates)
    - The key you're using is on a REALLY old version of the API.
    - I have a branch running of watchforstock's client now and made the version updates myself for evohomeclient2.

    If you need your own key for your project, I'd really like to get you your own! Plus we have a couple of other potentially interesting features depending on how your hosting works (real time events, etc)

    PM me!
    developer.honeywell.com | I work for Honeywell. API Evangelist. Views are my own.

    Comment

    • MrBoy
      Automated Home Guru
      • May 2017
      • 165

      Hi. I've been following this thread sporadically (seemingly I had an account previously and forgot) but it's been going on a long time!

      Is there any official page/wiki for this stuff? Because everything at the start of the thread is presumably out of date - the API has changed, different people have contributed more mature code, etc.
      If there isn't such a page, could the first post in this thread perhaps be updated with the current state of affairs... or a new one started? I don't really want to read 44 pages

      With all this complicated development chatter, it seems like a dedicated EvoHome sub-forum might be nice, this forum covers so many things

      I'm a developer so if I go the EvoHome route would be up for being properly involved... how much I can customise my setup is important to me before I splash out a grand or more.
      Last edited by MrBoy; 6 December 2017, 01:22 PM.

      Comment

      • DBMandrake
        Automated Home Legend
        • Sep 2014
        • 2361

        I see you're asking overlapping questions in multiple threads.... but.... what languages are you comfortable in ? If python is one of them, have a look at this:

        Python client to access the Evohome web service. Contribute to watchforstock/evohome-client development by creating an account on GitHub.


        I can post a few pieces of sample code using these bindings if you're interested.

        Comment

        • MrBoy
          Automated Home Guru
          • May 2017
          • 165

          Yeah sorry about that. The other thread was more a "state of the union" for all various homebrew options... here I'm asking in more detail where the WebAPI project(s) are at. I know HoneyWell support them so no idea in in the last couple of years any kind of mature de facto standard project had arisen.

          I'm mainly a C++/Java/C# developer but language isn't a barrier unless someone has a Haskell version

          Comment

          • the_wildgoose
            Automated Home Lurker
            • Dec 2014
            • 1

            @ jzwack-honeywell
            I sent you a PM perhaps a month ago and have heard nothing back? Is there a more formal process to request an API key? My goal is to add an Elixir (Erlang) API library

            Ta

            Comment

            • neiljay
              Automated Home Lurker
              • Dec 2017
              • 1

              Hi all,

              I just want to say thanks for a great piece of work ! (and one question...)

              Is it possible to read back the current operating mode (normal,economy,off,custom,etc). It looks like the Android app can do this, so it must be possible ? I want to set some complex rules for my smart home:

              on leaving house:
              set heating to economy unless heating is off or away

              and so on...

              Cheers,

              Neil

              Comment

              • DBMandrake
                Automated Home Legend
                • Sep 2014
                • 2361

                Short answer, yes, you can read the current quick action mode using the Web API. It's done in the Domoticz script:



                Check evo-update.sh.

                You might find this script helpful as well, it's a debugging script I cobbled together to explore all the data structures available in the Web API, both V1 and V2 API's:

                Code:
                #!/usr/bin/python
                
                import time
                from evohomeclient2 import EvohomeClient
                import evohomeclient
                client = EvohomeClient('email_address', 'password')
                client1 = evohomeclient.EvohomeClient('email_address', 'password')
                fi=client.full_installation()
                systemId=fi['gateways'][0]['temperatureControlSystems'][0]['systemId']
                modelType=fi['gateways'][0]['temperatureControlSystems'][0]['modelType']
                status=client.locations[0].status()
                tcs=status['gateways'][0]['temperatureControlSystems'][0]
                zones=tcs['zones']
                dhw=tcs['dhw']
                dhwstate=dhw['stateStatus']['state']
                dhwid=dhw['dhwId']
                currentmode=tcs['systemModeStatus']['mode']
                
                print fi
                print '\nsystemId: ', systemId
                print '\nmodelType: ', modelType
                print '\nstatus: ', status
                print '\ntcs: ', tcs
                print '\nzones: ', zones
                print '\ndhw: ', dhw
                print '\ndhwstate: ', dhwstate
                print '\ndhwid: ', dhwid
                print '\ncurrentmode: ', currentmode
                
                for device in client1.temperatures():
                    print device
                Replace email_address and password in the two lines with your TCC login details. You'll need python and watchforstocks evohome client installed:

                Python client to access the Evohome web service. Contribute to watchforstock/evohome-client development by creating an account on GitHub.


                currentmode is what you're after but client.full_installation() returns a lot of other useful stuff. The script is hard wired to only read instance one on the Web API - only an issue if you have more than one controller registered to your account, and it's easy to change.

                The evohome client library has direct support for setting quick action modes:

                Last edited by DBMandrake; 18 December 2017, 10:29 PM.

                Comment

                • Mr_Ess_Jay
                  Automated Home Lurker
                  • Dec 2017
                  • 6

                  Is it possible to read the heating demand for a zone now that the new controller software has been released? I had a quick look using the above script but I either missed it or it's not there.

                  Comment

                  • DBMandrake
                    Automated Home Legend
                    • Sep 2014
                    • 2361

                    Originally posted by Mr_Ess_Jay View Post
                    Is it possible to read the heating demand for a zone now that the new controller software has been released? I had a quick look using the above script but I either missed it or it's not there.
                    As far as we know the application facing API does not support it. We've asked if it will in the future but no confirmation has been given. So currently the only way to get it is with Domoticz and an HGI80. (Or manually look in the installer menu)

                    It's unclear whether the controller itself uploads the heat demand data to the servers and they just aren't available via the public API's (yet?) or whether the controller does not even upload it. Hopefully is the former because that would mean it could be made available without a further firmware update for the controller.

                    I tend to think that if for no other reason than debugging purposes the controller probably already uploads the heat demand data to the servers as well as set point and measured temperatures, and it just isn't exposed in the APi yet so here's hoping...

                    Comment

                    • paulockenden
                      Automated Home Legend
                      • Apr 2015
                      • 1719

                      Shame the wireless session is https, else a bit of wiresharkery might reveal all.

                      It'd need some kind of man-in-the-middle hack pretending to be tccna.honeywell.com to get at the data. Doable, but not a five minute job.

                      P.

                      Comment

                      • DBMandrake
                        Automated Home Legend
                        • Sep 2014
                        • 2361

                        Originally posted by paulockenden View Post
                        Shame the wireless session is https, else a bit of wiresharkery might reveal all.

                        It'd need some kind of man-in-the-middle hack pretending to be tccna.honeywell.com to get at the data. Doable, but not a five minute job.

                        P.
                        Know someone at a root certificate authority do you ? That's assuming Honeywell check the certificate properly...

                        Comment

                        • paulockenden
                          Automated Home Legend
                          • Apr 2015
                          • 1719

                          Oh, anything is possible... https://mitls.org/pages/attacks/SMACK

                          Although given the Windows CE basis of the controller (I think) I suspect any checking will be minimal.

                          P.

                          Comment

                          • lozdown
                            Automated Home Lurker
                            • Jan 2018
                            • 1

                            I have come to this thread having just installed an evohome system and I am wanting to setup software that will allow me to monitor and log the system operation. This thread is very interesting but I am not able to get going. To install the evohome client API software base requires a login to http://www.mytotalconnect.com but it seems you have to live in the USA to get a login account. Have I missed something here (I have registered for the Honeywell Phone App but that login does not work)?

                            Comment

                            • DBMandrake
                              Automated Home Legend
                              • Sep 2014
                              • 2361

                              Try this for the UK:

                              Get access to your Total Connect Comfort Europe account. Not a user yet? Create an account now and discover a new comfort zone.


                              This is linked from here:



                              PS to Rameses/top brake, I assume Honeywell is aware of the scripting error in the login page ? It's been there at least a few months and looks a little untidy, although it doesn't prevent logging in...

                              TCC-Login.jpg

                              This is on Google Chrome.
                              Last edited by DBMandrake; 26 January 2018, 10:09 AM.

                              Comment

                              • zxdavb
                                Automated Home Guru
                                • Jan 2018
                                • 106

                                Could anyone help with getting access to the api documentation? I have PM'd @jzwack-honeywell directly (here and elsewhere), but no response. I am particularly interested in callbacks (which the api must sure support, given the behavior of the Wifi Controller).
                                Last edited by zxdavb; 1 May 2018, 10:25 AM. Reason: minor

                                Comment

                                Working...
                                X