[OBSOLETE] Heatmiser Neostat Integration

You just need to go to the NodeMCU webpage, and update the firmware, after downloading from GitHub.

Thanks will try when I get home

Hi Charles, How are you getting on with a DTH which works with the new Smartthings ONE APP?

Ive tested some code on another integration which allows you to create the child thermostat devices without needing the ST app, which solves half the issue. The actual thermostat child devices are still functional and usable in my experience? (correct me if you are having bugs with changing the temperature etc), however the advanced (and really nice IMO) features such as boost for an hour or holiday mode are no longer accessible.

For me to fix the advanced features I will need ST to fix a bug which allows me to create a button in the new app, currently it is not possible as far as Ive been told…

Hi Charles,

I have followed your guide step by step. Got NodeMCU and updated the firmware , configured the wifi and I can see it’s dashboard. ST part also done installed device handlers and added my device. I used ST classic to configure it as the new ST don’t show the buttons.

Configuration went good and I can see the IP populated in the app but I can’t create any thermostat devices.

Troubleshooting , ST live logs while I’m clicking on create thermostat device

[bec8b132-cd7f-4051-9c57-e9a283bf8076] 17:47:05: debug uri /neorelay?device=hubzonesetup&command={“GET_ZONES”:0}
[bec8b132-cd7f-4051-9c57-e9a283bf8076] 17:47:05: debug Requesting List of Thermostats
[bec8b132-cd7f-4051-9c57-e9a283bf8076] 17:47:05: debug Removing Child Thermostats

Output of /neorelay?device=hubzonesetup&command={GET_ZONES:0}

{“relaycommand”: {“GET_ZONES”:0},
“relaydevice”: “hubzonesetup”,
“relayresult”:{“Downstairs”:1,“HotWater”:2,“Upstairs”:3}
, “timingstr”:“start:0 gotcommand:1 processedresult:1 connectedneohub:14 postwrite:14 postclientconnect:14 postheader:15 postjsoncommand:15 waitedfortimeout:74 availableloop:75-bytes:43 finishedloop:87”}

Output of /neorelay?command={INFO:1}

{“relaycommand”: {“INFO”:1},
“relayresult”:{“error”:“Invalid Json”}, “timingstr”:“start:0 gotcommand:0 processedresult:0 connectedneohub:16 postwrite:17 postclientconnect:17 postheader:17 postjsoncommand:18 waitedfortimeout:33 availableloop:44-bytes:24 finishedloop:84”}

Any idea what’s wrong ? I can see that NodeMCU found my 3 zones and listed them but in the app it do nothing and can’t add any.

For info the error about invalid JSON is due to missing quotes, they are super important as this /neorelay?command={“INFO”:1} - Also note, that this forum corrupts the quotation marks and you may have to type them yourself, rather than copy+pasting.

Thats strange, assuming all IP addresses are correct, and assuming you dont see any other information in Live Logging when you press Create?

What is your network setup? Do you have a complicated setup with multiple routers and Device Isolation turned on?

You are right, I fixed the quotes and now I’m getting below output. From the reading I see it should be good as it reads the config on my neobridge.

No other logging in live logging when I’m pressing create. and my network is simple flat network with 192.168.0.X/24

{
“relaycommand”: {
“INFO”: 1
},
“relayresult”: {
“devices”: [
{
“AWAY”: false,
“COOLING”: false,
“COOLING_ENABLED”: false,
“COOLING_TEMPERATURE_IN_WHOLE_DEGREES”: 23,
“COOL_INP”: false,
“COUNT_DOWN_TIME”: “0:00”,
“CRADLE_PAIRED_TO_REMOTE_SENSOR”: false,
“CRADLE_PAIRED_TO_STAT”: false,
“CURRENT_FLOOR_TEMPERATURE”: 127,
“CURRENT_SET_TEMPERATURE”: “21.0”,
“CURRENT_TEMPERATURE”: “20.9”,
“DEMAND”: false,
“DEVICE_TYPE”: 12,
“ENABLE_BOILER”: false,
“ENABLE_COOLING”: false,
“ENABLE_PUMP”: false,
“ENABLE_VALVE”: false,
“ENABLE_ZONE”: false,
“FAILSAFE_STATE”: false,
“FAIL_SAFE_ENABLED”: false,
“FLOOR_LIMIT”: false,
“FULL/PARTIAL_LOCK_AVAILABLE”: false,
“HEAT/COOL_MODE”: false,
“HEATING”: false,
“HOLD_TEMPERATURE”: 22,
“HOLD_TIME”: “0:00”,
“HOLIDAY”: false,
“HOLIDAY_DAYS”: 0,
“HUMIDITY”: 0,
“LOCK”: false,
“LOCK_PIN_NUMBER”: “0000”,
“LOW_BATTERY”: false,
“MAX_TEMPERATURE”: “24.0”,
“MIN_TEMPERATURE”: “19.0”,
“MODULATION_LEVEL”: 0,
“NEXT_ON_TIME”: “1 days 22:00”,
“OFFLINE”: false,
“OUPUT_DELAY”: false,
“OUTPUT_DELAY”: 0,
“PREHEAT”: false,
“PREHEAT_TIME”: “255:255”,
“PROGRAM_MODE”: “5DAY/2DAY”,
“PUMP_DELAY”: false,
“RADIATORS_OR_UNDERFLOOR”: false,
“SENSOR_SELECTION”: “BUILT_IN_AIR_SENSOR”,
“SET_COUNTDOWN_TIME”: 0,
“STANDBY”: false,
“STAT_MODE”: {
“4_HEAT_LEVELS”: true,
“MANUAL_OFF”: true,
“THERMOSTAT”: true
},
“TEMPERATURE_FORMAT”: false,
“TEMP_HOLD”: false,
“TIMECLOCK_MODE”: false,
“TIMER”: false,
“TIME_CLOCK_OVERIDE_BIT”: false,
“ULTRA_VERSION”: 0,
“VERSION_NUMBER”: 24,
“WRITE_COUNT”: 6,
“ZONE_1PAIRED_TO_MULTILINK”: true,
“ZONE_1_OR_2”: false,
“ZONE_2_PAIRED_TO_MULTILINK”: false,
“device”: “Downstairs”
}
]
},
“timingstr”: “start:0 gotcommand:1 processedresult:1 connectedneohub:11 postwrite:11 postclientconnect:11 postheader:12 postjsoncommand:12 waitedfortimeout:195 availableloop:195-bytes:1444 finishedloop:222 availableloop:222-bytes:1 finishedloop:233”
}

Can you send a screenshot of the device settings page in the IDE? Im not sure you have the DNI correct, since that is the only other thing I can think of which would prevent ST receiving/processing the messages…

Device setting in ST.

NodeMCU Dashboard (*Removed the links)

Dashboard for esp8266 NeoHub Bridge.

MAC Address: F4CFA27F99F4
Uptime: 00:05:48.30
Free Heap: 38648

Web Commands
[NeoHub Relay]

JSON Endpoints
[Neo Hub Relay Status]
[ST and IP Details]

Configuration
[Update port/ip for st/neohub]
[Update Firmware]

Great thanks.
Can you ensure the password field is blank?

Password field is empty.

I have both smartthings new and classic apps. tried uninstalling both and installed only the classic still no light.

Went to smartthings and deleted the device and device handlers. redeployed them from github and added the device again followed all steps and populated the IPs. and again nothing happens when clicking create thermostat. same logs in st!

If you enable debug do you see more information in Live logging? Im struggling to work out if nothing is being received by the ST Hub (in which case i think it is a network setting on your router - which model do you have? - feel free to PM me if you would rather. Or that you have a wifi extender and it isnt quite configured right), or if there is a dodgy setting somewhere causing the child creation to fail (e.g. not having both device handlers installed or the names not matching perfectly).

Having had another look at the code in question I think it is still a network related issue, since there are several other messages that should be appearing in the logs, even if everything else was to fail.

Hi Charles,

I have a couple of wireless repeaters that might cause the issues. My main router is the classic Virgin Media Hub 3 ( the worst I know ) .Anyway I’m waiting for my Ubiquity kit to arrive where I will disable all wireless repeaters and use a single router setup and try again.

Try moving the ESP closer to the Virgin router, as some repeaters can do funny things with network traffic. It might take some time to fully update with the new location, but hopefully you then see some more activity in live logging.
If you’ve got the esp device website running, then there isn’t a problem with the device. If the device website is pulling neohub information then the problem is likely Smartthings related (or network).

Hi everybody,
I have just uploaded some new firmware and a device handler for the bridge device to Github which will support the new app. You can now create the child thermostats from the NodeMCU webpage, rather than needing to do it through the Classic ST app. This should help while ST fix the bugs on the new app, which will allow me to bring back more of the functions that the Classic app supported.

Hi All,
Here we are in December 2020 some three years after @cjcharles launched his stirling work into the integration of Heatmiser Neo with SmartThings. :+1:
I have read a lot of this post from the beginning but wondered if someone was able to give an update on current state of play three years on.

  • Is a seperate device ModeMCU?? still required to communicate between SmartThings and Heatmiser?
  • Is there still a limit on the number of thermostats?
  • Does it still require some programming knowledge to link the two systems?
  • Heatmiser advertise integration with Apple, Google Home and Amazon Echo (my preferred voice control system) which presumably was not the case in 2017?

I am currently torn between moving from Aurora Aone Gateway to SmartThings by purchasing a V3 hub and at the same time updating my Underfloor heating system to Heatmiser.

I have three separate Zone Packs and 13 wireless thermostats which are now obsolete and I have recently lost one during refurbishment of my kitchen so need some sort of replacement.
I read somewhere that you might need multiple neohubs to support more than 8? thermostats. or has this been resolved?
All I am looking for is more granular temperature control than the current mechanical Uponor CosyRadio stats and indication of the current room temperature by a display.
It would also be great to be able to control the separate room temperatures with an app.

However the biggest improvement would be external temperature compensation. Has this been considered and integrated into SmartThings? As many will know UFH takes a long while to get up to temperature and a rapid change in weather and air temperature means the inside heating takes a long while to react to external change, meaning its either too cold or too hot.
Should I invest in SmartThings and Heatmiser?
Fozzie

Hi there

I have the neohub latest version and it links in with HomeKit nicely. I have 15 heat miser thermostats (2 are timers - hot water and towel rails) linked to it along with 2 heat miser smart plugs.

Heatmiser is clever in so much as if you want a room at say 20 degrees, it works out over a period how long it takes to reach the temperature, so it turns the heating on early to allow for this.

Mine is linked in to smartthings using the Node, but i have recently got a raspberry pi and now i am running that to link the heat miser into SmartThings.
I haven’t fully investigated the usefulness of SmartThings for the heat miser control yet. But sure the apple homekit control alongside the heatmiser app works really well

Hope that helps

Hi John,

With the help of Chris’s excellent Heatmiser Integration, I have successfully integrated 17 Neostat2 thermostats with Smartthings in our new home.

All but one of my heatmiser zones are underfloor heating (UFH). The other is top floor radiators.
I am new to UFH so still understanding its characteristics, relative to radiators.
I liken UFH to turning an oil tanker, whereas radiators are like a speed boat.

I am currently logging the temperature, mode, setpoint and operating state of a few of the smartthings thermostats, plus the outside temperature, with the objective of getting a better insight into the behaviour of the heating in some key rooms.

Outside temperature is a key factor in the rate of heat loss, so I am interested in implementing an automation of External Temperature Compensation. Do you have any algorithms?

Many Thanks Tim

The biggest advantage of the ST integration in my opinion is the ability to log in detail where desired and control using external smartness of unlimited complexity. I have it logging through InfluxDB/Grafana and then have a range of rules that look at my location, and turn up/down the setpoint automatically. However there is tons you could do on top (including external temperature compensation which Ive always meant to do), but I’ve always ended up with other priorities… I think there are several ST apps that add this sort of compensation, but Ive never tested them, and recently a lot of my time has gone into recoding the infrastructure to support the slightly-buggy-marmite-like new app.

As the others have said, it does now support up to 32 thermostats (or whatever the Heatmiser limit is), but fairly simple to setup other than needing to set a couple of static IP addresses in your router. The NodeMCU is a small microUSB device I have dangling behind my router as it uses ~0.3W.

The voice control was finally added by Heatmiser (it took many years of discussions and I offered them plenty of advice along the way as their early versions were pretty awkward. Yyou had to say ok google ask heatmiser to set the room thermostat to X, instead of just ‘ok google set the thermostat/room to X’ which I believe they have now fixed).

Aurora looks mostly lighting specific (though I havent seen it before so it was only a cursory glance), so I’d always say it is worthwhile adding the extra customisation supported by a platform like ST. That said, even picking ST amongst the growing array of home automation platforms is a chunky one, balancing a ton of different factors including: simplicity, reliability, customisability/flexibility, offline processing, supported integrations…etc!

Just a bit on Google Home integration (when it finally arrived), which works well with Heatmiser now. I rarely need to use the horrible Heatmiser app any more. I’ll be honest I’ve not paid much attention to smartthings recently after all the faff with the new app.

For Heatmiser you can use Google Assistant to get and set temperatures, turn stats on and off by name. The interface in the Google Home app is nice too, compared with heatmiser’s miserable app effort.

Hey google set the heat in the living room to 21.
…turn the living room thermostat off/ on

You can operate them in groups too…
…turn off the downstairs thermostats / set the downstairs to 19 degrees.

Google home has routines and has recently added presence detection (home / away modes).