Of course I would be happy to pay for this development… my hope is that I can arrange some like-minded SmartThings/Heatmiser Neo users to “crowdfund” the initial development.
Core (initial development) requirements:
Ability to add each (and all) Neo thermostat as a unique stat/device.
Ability to see the current temperature of each stat/device.
Ability to see whether each stat/device is on standby or ON.
Ability to see what the “target temperature” (e.g. what the stat/device is “set” to) is for each stat/device.
Ability to toggle between standby and ON for each stat/device.
Ability to change the device name (e.g. each thermostat/device) within SmartThings.
Ability to include each stat/device in SmartThings routines.
Whether this would be done via a remote API or local API I’m not sure?!!?
I THINK the above requirements would give sufficient/basic functionality that would then allow Heatmiser Neo stats to be included in the SmartThings automations/routines such as “Away from Home” etc.
If anyone is interested, please get in touch with a view to quoting.
@adamclark_dev and @zcapr17 - not sure if this would be of any interest to you… but your Honeywell EvoHomeand LightwaveRF integrations are fantastic so I thought I would shout out.
I’m going to call Heatmiser now to understand if a remote API is available or if not, if it will ever become available.
Regarding hardware… yes… I will soon replace my Neo hub for a next generation version (for HomeKit compatibility) so have one spare temporarily and also providing a thermostat will be fine too. The issue for you will be where do you connect the stat to!!! But we can sort this I’m sure.
I have had a quick conversation with Heatmiser support and it doesn’t look like there is a remote API available… also my gut feel is that there wont be a remote API available in the future. I also didn’t sense an overwhelming motivation to support but I will follow up and look to speak to a more senior person at Heatmiser.
Therefore, for the time being the API from the previous post is definitely the one we would have to work with!?!
I found this thread from your post on the heatmiser site. I mentioned (Heatmiser NEO + Ring Door bell ST Integration) that I have made an API server which bridged the gap between smart things and heatmiser, but ditched it for 30 odd basic IFTTT recepices.
The main issue I had (and I have not been keeping up with SmartThings so dont know if this is still an issue) was that heatmiser only have a TCP interface on the hub that SmartThings couldn’t directly interact with.
Really interested to see better integration but I think we need Heatmiser to open up a RESTapi.
Is this because SmartThings cannot send JSON to a custom port?
I think the best thing to do here would be to develop an ESP8266 bridge which can be controlled with web strings (e.g. IP_OF_ESP\Hubdevice?boost=1) which can be done by a SmartThings Hub Post/Get action, and then the ESP posts the JSON on to the NeoHub.
I dont think it is that hard to do and should be fairly reliable assuming Heatmiser do not change their API, also fairly responsive as local control. I also think it is a nice way of doing it since it would be entirely wireless and could easily be setup through a webpage. Does anybody else agree and would be interested in working on this?
Hi @cjcharles, I am really interested and happy to help out where I can. Honestly I have no idea what your saying but if you can get a basic framework I have a good understanding of what functionally is needed and the associated JSON commands used by heatmiser - I created a basic Java REST API server to bridge the gap but ditched it as I didn’t want to run a server.
Ive just built a bridge for my alarm system using a Wemos D1 (which is a small Wifi chip based on the ESP8266 and costs about £5), I would probably have a go at developing on that chip again given I now know the developer tools better. Will have a read of the API docs and see what it looks like.
That said I havent even got a Heatmiser thermostat yet, I was just looking at them and was coming to the conclusion that it seemed a good option… Will have to do some planning this weekend I think.
A few API questions in advance:
Does the SmartStat have the same API as the NeoStat, just that the NeoStat has to be connected through the Hub. If they are functionally identical/similar then that helps reduce wasted effort.
Do you know the authentication on the API? HTTPS based stuff on an ESP is not really possible due to the memory requirements.
Is the API all local? Or does sending a command to the local API then need to be relayed back to Heatmiser Cloud in order for it to work? (I understand it does need to go to the cloud in order to keep everything in sync, but does it go to the Cloud and back again or does one command get sent to the hub and the other to the cloud?)
Also Ive just realised that the NeoStats themselves work using Zigbee and can have their channel changed to match SmartThings (assuming ST can manage one of these channels - 11, 14, 15, 19, 20, 24, 25). I wonder if there are any options to get them paired with ST directly without the NeoHub… (Zigbee is something I know very little about!)
EDIT: Asked for some documentation from Heatmiser on this and they say it is not designed to work directly, hence it will need to go via the Hub and a middle Bridge to connect them together.
Have also asked them the questions I asked above.
Yup, thats me. Im nearly there. Though I haven’t actually got a Neostat to test with, so have just been using a hub that I bought.
There should be a Neostat on its way, and then finally I can test the thermostat based code that I have written. I know the links are all working since ST can access the hub information like firmware, device list, record temperatures…
I also have a few spare NodeMCU chips arriving hopefully next week and that way if anybody needs I can post a pre-programmed one out to people (UK only).
So my neostat arrived and most things seemed to work for me, however then I did some testing with @adamjseed and realised that if you have multiple thermostats then some commands didn’t work as expected so I’m having to rewrite some of my code. Im aiming to have a few hours on it today and see if I can get things working again, but it’s quite difficult as I don’t have two thermostats to test with.
Will let you know when I have some good news, hopefully tonight…
I am not sure how SmartStat works as I do not have any. If they use the same interface as a Neohub then there is a good chance an individual NodeMCU will support an individual SmartStat. If you know of any documentation about SmartStat interfaces then I can check it out.