Decoded - EvoHome API access to control remotely.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • StuartG
    Automated Home Jr Member
    • Mar 2015
    • 45

    #91
    Originally posted by nickpeirson View Post
    I started packaging up a library for the API in PHP a month or two ago based on the info in this thread and realised that I hadn't done much more on it recently, so thought I'd push it up in it's current state. It'll get information from the API quite happily, however I didn't put much effort into pushing back to the API. It's available here: https://github.com/nickpeirson/evohome-php

    Hopefully someone finds it useful. I'm not planning on doing anything much with it in the near future, but I'll happily help anyone else who wants to do anything with it and merge in any PRs to improve it.
    Really useful! Thank you!

    It's a LONG time since I dabbled with PHP, but having just installed my Evohome this caught my eye! I've got the code running, and have now got a (very simple) database logging readings. I'm not quite sure what I'm going to do with the data yet, but I like the idea of being able to trend how my house is behaving and just generally "play" with the data!!

    Thanks again!!!

    Comment

    • StuartG
      Automated Home Jr Member
      • Mar 2015
      • 45

      #92
      I've been having some fun with the PHP library, and using a database to log the results. I thought I'd share what I've got so far, mainly because I've not really found any examples of this being done with a "web" front end (maybe I didn't look in the right places!)

      I'm using Google Charts to produce the plots from data that is logged in to a MySQL database.

      It's a bit of a cobbled together script, but you can do things like:

      http://www.stuartandnicola.com/evo/e...t?name=Kitchen (show all data for a named zone)

      http://www.stuartandnicola.com/evo/e...Lounge&span=48 (show data for the last nn hours)

      http://www.stuartandnicola.com/evo/e...ate=2015-06-06 (show data for a specific date)

      Note that all charts show a constant set point of 5C as I'm away from home and the heating is off! The charts show up nicely on a laptop, but also on a tablet or even a phone, so even more ways to keep tabs on what the house is up to!

      A couple of interesting things have shown up though about the "natural" response of the house. I think the sensor in a loft room gets direct sunlight in the evening as there are huge temperature spikes each evening, and the response of my daughter's room looks very different to everyone else (much less variation, and consistently reads about 3C lower than anywhere else).

      But I think the ability to log is really interesting, and I'm looking forward to seeing what I learn when the system is turned back on!

      The code is very scrappy (more proof of concept) but I'm happy to share if anyone wants, and promises not to criticise my very rusty PHP!!

      Out of interest, what other 'extension' activities are underway around Evohome?

      Comment

      • insin
        Automated Home Lurker
        • Aug 2015
        • 3

        #93
        Hi everyone,

        I've just had the Evohome system fitted for heating and hot water. I'm really impressed with the system it self but like many others, I'm a little underwhelmed by the lack of analysis data available.

        So I was looking into building something. I'm a .Net developer so was planning on building something in C# with a web front end. I had a look at the work that had already been done, especially surrounding the Python script and I started poking the service with Postman to try and get some data out of it. I managed to hit the authentication service using the API and get a bearer token which I then used to authenticate my other requests. But the rest of my requests didn't get any response.

        Is anyone still using the API, https://rs.alarmnet.com:443/TotalCon.../emea/api/v1/?
        Can you confirm it is working?

        Comment

        • paulockenden
          Automated Home Legend
          • Apr 2015
          • 1719

          #94
          My scripts use: https://rs.alarmnet.com/TotalConnect...PI/api/Session

          Comment

          • insin
            Automated Home Lurker
            • Aug 2015
            • 3

            #95
            Originally posted by paulockenden View Post
            Thanks Paul,

            Have Honeywell released any of the API methods publicly, or has it all been obtained by watching the communication between the controller and api?

            Comment

            • Rameses
              Industry Expert
              • Nov 2014
              • 446

              #96
              Originally posted by insin View Post
              Thanks Paul,

              Have Honeywell released any of the API methods publicly, or has it all been obtained by watching the communication between the controller and api?
              Honeywell have an Open API program which is available upon request. There is more news coming in the future around this and other stuff, but we have no information we can disclose right now.
              getconnected.honeywell.com | I work for Honeywell. Any posts I make are purely to help if I can. Any personal views expressed are my own

              Comment

              • insin
                Automated Home Lurker
                • Aug 2015
                • 3

                #97
                Originally posted by Rameses View Post
                Honeywell have an Open API program which is available upon request. There is more news coming in the future around this and other stuff, but we have no information we can disclose right now.
                Thank you, that's very helpful.

                Comment

                • r55boy
                  Automated Home Lurker
                  • Sep 2015
                  • 4

                  #98
                  Guys - newby question - i dont know python, but i want to integrate EVOHOME and Homeseer2/3. I imagine a script running periodically to grab the info and put it to HS devices. Also other scripts triggered by events to change things in EVOHOME, like update set points, change modes etc based on user interaction with homeseer. So:

                  So can anyone help with this?
                  Q1. Do i need to install python and use the scripts in https://github.com/watchforstock/evohome-client? I dont know python but could research this.
                  Q2. Anyone got this working on HS2/3? Anything to share?

                  Actually, to clarify - HS i am pretty sure needs to run VB scripts, so i would need to find a way to convert the python to vbs.
                  Last edited by r55boy; 8 September 2015, 08:35 PM.

                  Comment

                  • r55boy
                    Automated Home Lurker
                    • Sep 2015
                    • 4

                    #99
                    Originally posted by fraggel View Post
                    I found this thread through google. I have done some of these analyses myself for other applications without an API.
                    Nice to see that this protocol has been analysed this far already.
                    I think about creating a c# implementation and linking it to HomeSeer, the home automation system I use.
                    I haven't checked the complete library yet, but I am sure that I will find it helpful.



                    The gateway is using HTTP-push protocol. It connects to the servers of HW and identifies itself. After that it just sits and wait for you to send commands through that server.
                    It is a HTTP(s) client, not a server. Therefore the only way that you will be able to send messages to this device is to reroute the servers you mentioned above to your own server (which includes running your own DNS or a proxy) and implement your own serversoftware.

                    The traffic you see is the instantiationrequest of the push protocol and keep-alive messages for the connection (which explains the low byte count). These can differ in contents due to server-architecture and implementation decisions.
                    When it was a server, you would have to open up all kinds of ports on your firewall to get this to work. When using HTTP-push, it actually is a continuously open HTTP get-request and therefore can pass through a normal firewall without problems.
                    Hi Fraggel - did you make any progress linking up to HS? Either a VB or C# script?
                    Cheers...Sean

                    Comment

                    • Klusm12
                      Automated Home Lurker
                      • Nov 2014
                      • 6

                      Hi all,
                      I recently started to log the temperature of my evohome system using a python script which is based on the one mentioned before on this forum. I have it set to retreive data from the honeywell site every minute. Unfortunatly after a few readings, the script ceases to operate as it is kicked of the server. Is this something that other encounter as well? Is there a solution??
                      Regards, Rutger

                      Comment

                      • r55boy
                        Automated Home Lurker
                        • Sep 2015
                        • 4

                        Originally posted by Klusm12 View Post
                        Hi all,
                        I recently started to log the temperature of my evohome system using a python script which is based on the one mentioned before on this forum. I have it set to retreive data from the honeywell site every minute. Unfortunatly after a few readings, the script ceases to operate as it is kicked of the server. Is this something that other encounter as well? Is there a solution??
                        Regards, Rutger
                        Could you share the script you have? Could it be authentication? Perhaps closing the connection and then re-authenticating each time maybe? Just blind suggestions, so apologies if this is not relevant!

                        I want to read the evohome data on a homeseer system which can't run python anyway, so i need a C# or VB script...

                        Good luck and keep trying and sharing - between the folks on here i am sure we will find a solution. If only Honeywell would publish an API... :-(

                        Comment

                        • Rameses
                          Industry Expert
                          • Nov 2014
                          • 446

                          Originally posted by Klusm12 View Post
                          Hi all,
                          I recently started to log the temperature of my evohome system using a python script which is based on the one mentioned before on this forum. I have it set to retreive data from the honeywell site every minute. Unfortunatly after a few readings, the script ceases to operate as it is kicked of the server. Is this something that other encounter as well? Is there a solution??
                          Regards, Rutger
                          You are making too many calls on the server. The particular stream key you are using is meant for fewer calls. It a security measure designed to protect your system. Poll it every 10 mins. Heat / temp change doesnt need 1 min poll.
                          getconnected.honeywell.com | I work for Honeywell. Any posts I make are purely to help if I can. Any personal views expressed are my own

                          Comment

                          • Klusm12
                            Automated Home Lurker
                            • Nov 2014
                            • 6

                            I want to monitor the CV together with the setpoint change and the actual temp in the rooms, so polling every 10 minutes will be too slow. Is 5 minutes allowed? And would it be better (or not) to request the userid and sessionid with every poll? Now it just asks for it at the start of the script, which ideally would be running for days.

                            Comment

                            • magnayn
                              Automated Home Lurker
                              • Oct 2015
                              • 5

                              How often do the TRVs report their temperature back to the base unit? Polling any more often than that won't be of much value.

                              Originally posted by Rameses View Post
                              You are making too many calls on the server. The particular stream key you are using is meant for fewer calls. It a security measure designed to protect your system. Poll it every 10 mins. Heat / temp change doesnt need 1 min poll.
                              Well, yes, but it's also a security measure to protect Honeywell from high load (what if everyone polled every 60 seconds? The additional server requirements might be very large)

                              And therein lies the rub. I wish the evohome had a local API port. The lack of one means you have to obey whatever restrictions - however well intentioned - are in force on the public access site. Also if that site ever goes away (say, for example, some beancounter decides it's no longer worth the expenditure to keep running) you're snookered. Some HA users genuinely are going to want to experiment and turn things up to the max in ways that may be caught as 'abuse' by the public proxy.

                              The fact that evohome can work without any internet connection meant I bought it over other solutions (where I didn't trust the vendor would be around in 10 years time). I've got a number of friends who want to buy evohome, but access without using a 3rd party site (local control) is a red line issue for them.

                              Comment

                              • paulockenden
                                Automated Home Legend
                                • Apr 2015
                                • 1719

                                If you want local data and control, without going via Honeywell's Alarmnet servers, you need to invest in an HGI80, which is a USB interface. I don't think they are sold or supported here in the UK, but you can easily get one from various European vendors.

                                You can then poll as quickly as you want to!

                                P.

                                Comment

                                Working...
                                X