Originally posted by leumund
View Post
Decoded - EvoHome API access to control remotely.
Collapse
X
-
-
-
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
-
-
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
-
-
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 thanksLast edited by SteveP; 24 November 2014, 10:57 AM.
Comment
-
-
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
-
-
Originally posted by magga View PostHi,
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
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
-
-
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!
Comment
-
-
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
-
-
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
-
-
Originally posted by SteveP View PostThanks 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
-
-
Originally posted by Pieter_VO View PostThanks 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
-
-
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
-
-
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 BrochureWhen connected to the internet, via the remote access gateway, the evohome controller is able to display external temperatures.
Comment
-
Comment