Decoded - EvoHome API access to control remotely.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • SteveP
    Automated Home Guru
    • Dec 2012
    • 190

    #46
    Originally posted by leumund View Post
    Hello Magga
    This webinterface for Evohome is really exciting. Very nice. Actually i also have a project, i want to set temperature settings with a small php script from outside. So i'm very interessted in some code samples how you did it do send informations to evohome. Would it be possible for you to share this with me?
    Hi - I am also very interested in developing a bespoke windows browser app and would appreciate any information and code snippets. So far I have accessed the vs 1 API and pulled back all the data. I have also accessed the version 2 API and can send requests for temperature and adjust schedules based on the excellent app Andrew Woodstock provided access to. However, I am really interested in what other data may be available from the API and have put in a request to Honeywell mid last week for access to the API but have had no response so far. My question is whether someone is able to share what full range of data requests can be made to the API and whether anyone who may have access to the API documentation is able to share it? One particular issue that started me on this path was that since adding the gateway to the controller, a new field appeared in the top left: ‘Outside –‘ I presume this would show the outside temp sent from the gateway (no documentation found that articulates this new addition) but as you can see it just displays two dashes. However, checking the version 1 API as that provides a full pull of the data fields, I can see the temperature being returned in the JSON data. So I am trying to track down the same data fields in the version 2 API in case they are no longer available and the controller is using the new API. Many thanks in advance

    Comment

    • magga
      Automated Home Jr Member
      • Sep 2014
      • 24

      #47
      Hi,

      Actually, the version 2 API doesn't return weather data at all. The weather data is pulled from a separate service (openweathermap.org/api). It is interesting that you're seeing outside on your evohome controller because I don't get this on mine and I thought this only showed if you purchased the outdoor weather sensor? I may be wrong on that though, perhaps I need to update my firmware?

      Regarding the code, if you send me a private message I can help you out, as I did with leumund.

      Thanks
      Matt

      Comment

      • bruce_miranda
        Automated Home Legend
        • Jul 2014
        • 2307

        #48
        I have the outdoor sensor installed, and it displays it on the main unit but that value isn't available via the api

        Comment

        • Conseils
          Automated Home Jr Member
          • Nov 2014
          • 31

          #49
          Hi, if you have an outside sensor does it return an ID number, if you ask for all devices?
          I imagine you should then be able to query for that sensor.

          Using a GET and providing a SessionID from secure authentication I then get all data:


          For an older HR80 I get..

          "devices": [ { "deviceID": 123456, "thermostatModelType": "EMEA_ZONE", "name": "Living room", "scheduleCapable": false, "holdUntilCapable": false, "thermostat": { "units": "Celsius", "indoorTemperature": 21.0, "outdoorTemperature": 128.0000, "outdoorTemperatureAvailable": false, "outdoorHumidity": 128.0000, "outdootHumidityAvailable": false, "indoorHumidity": 128.0000, "indoorTemperatureStatus": "Measured", "indoorHumidityStatus": "NotAvailable", "isCommercial": false, "allowedModes": [ "Heat", "Off" ], "deadband": 0.0000, "minHeatSetpoint": 5.0000, "maxHeatSetpoint": 22.0000, "minCoolSetpoint": 50.0000, "maxCoolSetpoint": 90.0000, "changeableValues": { "mode": "Off", "heatSetpoint": { "value": 20.5000, "status": "Scheduled" }, "vacationHoldDays": 0 }, "scheduleCapable": false, "vacationHoldChangeable": false, "vacationHoldCancelable": false, "scheduleHeatSp": 0.0000, "scheduleCoolSp": 0.0000 }, "alertSettings": { "deviceID": 636482, "tempHigherThanActive": true, "tempHigherThan": 30.0000, "tempHigherThanMinutes": 0, "tempLowerThanActive": true, "tempLowerThan": 5.0000, "tempLowerThanMinutes": 0, "faultConditionExistsActive": false, "faultConditionExistsHours": 0, "normalConditionsActive": true, "communicationLostActive": false, "communicationLostHours": 0, "communicationFailureActive": true, "communicationFailureMinutes": 15, "deviceLostActive": false, "deviceLostHours": 0 }, "isUpgrading": false, "isAlive": true, "thermostatVersion": "02.01.09.01", "macID": "000000000000", "locationID": 654321 }

          I changed the specific ID's of course.

          Perhaps you external temperature sensor would be listed, would be great to see what one looks like.

          Comment

          • SteveP
            Automated Home Guru
            • Dec 2012
            • 190

            #50
            I haven't added the outdoor sensor as from my research (shame Honeywell aren't clearer with their documentation on how some of the features of the evohome work), the outdoor sensor feed to the unit is not then used to vary the optimisation time (which would have seemed a sensible idea). So it appears to be a simple but expensive external temperature reader :-( Further, with the data feed from the gateway it could use that weather data, which whilst not as accurate as a local sensor would provide some useful input to the optimisation calculations (should it be used). It is interesting that bruce_miranda says the v2 API does not return weather data as the API v1 does as per the following I got back :
            "weather": {
            "units": "Celsius",
            "phrase": "Partly sunny",
            "temperature": 7.2,
            "condition": "PartlySunny",
            "humidity": 100
            Appears that version 2 API has less features than the version 1. Obviously for those who want to harvest the data from the gateway you can use both the version 1 and version 2 API to get the different data sets and combine them into your app.
            My question is that for those of you who have accessed the API v2, as it is based on a request/response model (whereas v1 you can just do a single full data dump request) are you able to share the documentation for API v2 so that I can determine what is available and put the appropriate requests to the API? At the moment I am using requests based on the fine code examples in this thread and Andrew Stocks excellent web site but I would really like to have the raw API documentation to tailor my own requests. As I say, I have put in the request to Honeywell for access to their API documentation via their API access form but am still awaiting a response. Many thanks
            Last edited by SteveP; 24 November 2014, 10:57 AM.

            Comment

            • magga
              Automated Home Jr Member
              • Sep 2014
              • 24

              #51
              Hi,

              The Version 2 API definitely does not return weather data as per my post above. The weather data comes from openweathermap.org and this is a paid service. Honeywell have an account with openweathermap and it uses their information when it connects to this API. I agree it is a shame that the main controller doesn't make use of this weather information, this is why I added it to my web version as I felt it should be there! I have also PM'd you with further details.

              Thanks
              Matt

              Comment

              • bruce_miranda
                Automated Home Legend
                • Jul 2014
                • 2307

                #52
                The API returns

                "weather": {
                "condition": "Sunny",
                "temperature": 2.2,
                "units": "Celsius",
                "humidity": 93,
                "phrase": "Sunny"

                But this is not what my external sensor is reading. And the external sensor is not listed in the list of devices.

                Comment

                • SteveP
                  Automated Home Guru
                  • Dec 2012
                  • 190

                  #53
                  Originally posted by magga View Post
                  Hi,

                  The Version 2 API definitely does not return weather data as per my post above. The weather data comes from openweathermap.org and this is a paid service. Honeywell have an account with openweathermap and it uses their information when it connects to this API. I agree it is a shame that the main controller doesn't make use of this weather information, this is why I added it to my web version as I felt it should be there! I have also PM'd you with further details.

                  Thanks
                  Matt
                  Thanks Matt - I have received the PM and replied to you - much appreciated cheers.
                  I have raised a support call with Honeywell regarding the blank temperature reading my unit is showing since connecting the gateway and so far they have replied that it should be there and will pass it onto their technical dept. So I shall wait to see what returns. However, I shall now pursue use my browser app with the info you have supplied so soon the controller will be just the electronics as I will use the browser app as the master controller. Now if only I could get back from the rad controllers the fact that one of them in a zone has been manually adjusted then that would save me thinking the system has gone crazy when the controller shows all zones are off but one of my off-spring has manually adjusted a zone!

                  Comment

                  • Pieter_VO
                    Automated Home Lurker
                    • Nov 2014
                    • 3

                    #54
                    Thanks to all the information here I made a python script that sends all the temperature data to Plotly.
                    It automatically makes graphs of every room temperature that you can easily visit online.
                    It would be nice if these graphs can be implemented in the web interface!
                    Great work btw!

                    Log Evohome temperature using Plotly. Contribute to PieterVO/EvohomeTemperature development by creating an account on GitHub.

                    Comment

                    • bruce_miranda
                      Automated Home Legend
                      • Jul 2014
                      • 2307

                      #55
                      Once you add the gateway, you almost never need to visit the main unit. Honeywell should have just made a non ui version.
                      Infact I find the main unit most unhelpful because of the limited display during idle.
                      I thought the newer trv unit sends back manual adjustment data too. My system only has the hr80 in it.I was thrilled that they were supported, otherwise I would have never moved from the hometronic. This is such a fantastic upgrade from that.

                      Comment

                      • BenS1
                        • Nov 2014
                        • 1

                        #56
                        Hi all,

                        Great thread and excellent work decoding the API.

                        The main feature for me that appears to be missing from the EvoHome system is the ability to see how much time the boiler is being fired per day\week. Other systems seem to have this, but as far as I can see the EvoHome doesn't. So, what I was wondering is whether or not you've discovered any way to poll the unit to see if the boiler is being fired or not? I could then just write a little service to poll the unit every 20 seconds or so and log the information to a DB.

                        One thought I had was that I could assume that the boiler is being fired if the current temperature in any zone is lower than the requested temperature, however I don't think this is very accurate because if it works anything like my current CM907 thermostat then it takes things such as thermo momentum into account and cuts the boiler off before the room actually reaches the exact desired temperature (Because if knows the rooms will continue to warm up because the radiators are still hot).

                        Thanks in advance
                        Ben

                        Comment

                        • magga
                          Automated Home Jr Member
                          • Sep 2014
                          • 24

                          #57
                          Originally posted by SteveP View Post
                          Thanks Matt - I have received the PM and replied to you - much appreciated cheers.
                          I have raised a support call with Honeywell regarding the blank temperature reading my unit is showing since connecting the gateway and so far they have replied that it should be there and will pass it onto their technical dept. So I shall wait to see what returns. However, I shall now pursue use my browser app with the info you have supplied so soon the controller will be just the electronics as I will use the browser app as the master controller. Now if only I could get back from the rad controllers the fact that one of them in a zone has been manually adjusted then that would save me thinking the system has gone crazy when the controller shows all zones are off but one of my off-spring has manually adjusted a zone!
                          It is frustrating that a manual override is not reported back on the main controller, I have spoken to Honeywell about this and they have confirmed this is the expected behaviour, I have no idea why, though.

                          Comment

                          • magga
                            Automated Home Jr Member
                            • Sep 2014
                            • 24

                            #58
                            Originally posted by Pieter_VO View Post
                            Thanks to all the information here I made a python script that sends all the temperature data to Plotly.
                            It automatically makes graphs of every room temperature that you can easily visit online.
                            It would be nice if these graphs can be implemented in the web interface!
                            Great work btw!

                            http://github.com/PieterVO/EvohomeTemperature

                            Hi Peiter,

                            I have actually implemented graphs in my web version already, I just didn't post the screenshots of this, because I forgot

                            Graphs are useful as it gives you a good idea as to how long rooms take to heat up, and also any potential TRV faults etc.

                            Comment

                            • SteveP
                              Automated Home Guru
                              • Dec 2012
                              • 190

                              #59
                              Quote from Magga -"It is frustrating that a manual override is not reported back on the main controller, I have spoken to Honeywell about this and they have confirmed this is the expected behaviour, I have no idea why, though". Drat - thanks for that as it saves me investigating it but very sad :-(

                              Comment

                              • rcopus
                                Automated Home Jr Member
                                • Nov 2014
                                • 49

                                #60
                                I don't get the outside temperature displaying on mine at all. I'm starting to wonder whether the gateway and main controller are supposed to do this, however it is clearly stated in the Honeywell brochure.
                                Originally posted by From Brochure
                                When connected to the internet, via the remote access gateway, the evohome controller is able to display external temperatures.
                                Can anyone else confirm whether theirs does this or not?

                                Comment

                                Working...
                                X