[RELEASE] Heatmiser Neostat Integration

Hey Chris, yeah it’s a bit smoother on Google home now, so stuff like "set the heat downstairs… " (for controlling multiple stats at once) or “set the kitchen to…” or “what temp is it in…” all work now. And you can add them to routines too.

Not sure about Alexa TBH as I’ve not used that much anymore apart from to control Spotify. I imagine it’s not as good as it integrates as a skill not as a smart home device.

Fallen out of love with smartthings since the platform move. Nothing I did with it before seems to work any more, waste of time!

OK thanks Chris and Meirion. All useful. For me personally I actually don’t find the NeoApp at all bad, the latest version anyway - no experience of earlier versions. But I will certainly look at Google Home now as well. Chris I think your Smart Things integration looks great but I need also to think of other far less technical members of the family, so it might not be for me sadly but good luck with the project going forward.

Chris, not sure if this is an ST thermostat issue or not but this screen never changes when trying to access the stat in alexa

Also any news on standby and auto working within the app UI and is a .5 temp integer available in ST’S implementation of thermostat

Anyone else have the above Echo integration issue ?

I might be able to test the echo integration without an echo, I’ll need to investigate. There always used to be a bug with how ST generated device info, which I did fix, but perhaps it is slightly different now. Does it display nothing but the above screen?

Nothing more Chris, just what you see above

HI Chris, I’ve had to completely reset all my smartthings integrations due to a failed hub. Have got as far as setting up child devices on the NodeMCU but when I press “Create Child Zones” I am getting the message “Couldn’t connect to ST”.

The Neostat Bridge is showing connected on the Smarthings App?

Hi Chris, the ST IP address on the bridge is not correct for my smartthings hub. How do I change this?

It should be set on the Nodemcu by ST when you change/save the settings/ip that are stored in the Smartthings app for the device. Maybe try changing another field (if not the IP) and keep an eye on live logging to see the configuration message.

I am setting up a new device today and after a lot of tinkering I am having this same problem, “Couldn’t Connect to ST” when pressing “Create Child Zones”.

Everything looks OK to me, this is a line in the live logs when I change a value in the ST app:

uri /config?ip_for_st=192.168.1.xxx&port_for_st=39500&ip_for_neohub=192.168.1.yy&port_for_neohub=4242

Where both xxx and yy are the correct IP addresses for the ST hub and Heatmiser Neohub respectively.

So you see that config command in the log, but then get the error cannot connect to ST? In which case it seems ST have maybe changed something again…

If you run that same command in a web browser on your pc/phone do you see an update success message?

I think you mean if I change something in the device settings if I log into ST on a web browser right?

I did that, logged in and went into the NeoStat bridge and copied the same steps as the app (I changed the prestatname) which updated the device successfully, but I still get the “Couldn’t Connect to ST” error when I try to create child zones. Fuller log for completeness is:

07:15:41: debug Debug print information disabled

07:15:41: debug uri /config?ip_for_st=192.168.1.xxx&port_for_st=39500&ip_for_neohub=192.168.1.yy&port_for_neohub=4242

07:15:41: debug Configuring NeoBridge

07:15:41: debug refreships()

07:15:41: debug updated()

Sorry, I mean go to the configuration URL (Nodemcu) in your web browser, you should see a success message… E.g. NodemcuIP/config?ip_for_st=192.168.1.xxx&port_for_st=39500&ip_for_neohub=192.168.1.yy&port_for_neohub=4242

Ah sorry gotcha! Yes that seems to work ok:

{“update_config”:“success”,
“updated_st_ip”:“success”,
“ip_for_st”:“192.168.1.xxx”,
“updated_st_port”:“success”,
“port_for_st”:“39500”,
“updated_neohub_ip”:“success”,
“ip_for_neohub”:“192.168.1.yy”,
“updated_neohub_port”:“success”,
“port_for_neohub”:“4242”,
}

Cool, and does create child devices now work?

Oh, I didn’t check until I read this, but yes it works now!

Many thanks!

I worry this means that some of the cool functions of this integration will no longer work if the configure command is broken. Clearly ST thinks it is sending the command, but nothing actually gets sent to the NodeMCU.

Just checking your password field in the settings page (where you set IP address) is blank, and that the device network ID is indeed the MAC address of the NodeMCU?

Yes I can confirm:

  1. Password is blank and
  2. MAC address in the device was pasted from the NodeMCU dashboard and matches (also matches the MAC address I see in my router, for completeness)

Thanks, I did find one difference with the configure command, compared with the others, so have removed that customisation and hopefully that fixes this issue for others. I will try and do some more testing as soon as I have time, but hopefully this solves things for now.

A small bug has appeared where the current temperature doesn’t display - either a stale reading, or no reading at all. I am able to set the temperature successfully, and the stats respond well, it’s just the current temperature reading that seems to be out. The ST logs have loads of these errors being thrown by the NeoStat Bridge:

13:50:49: error groovy.json.JsonException: expecting current character to be ‘t’ with an int value of 116

The current character read is ‘t’ with an int value of 116
expecting current character to be ‘t’ with an int value of 116

line number 3
index number 641
“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”:“18.0”,“CURRENT_TEMPERATURE”:“22.5”,“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/…[TRUNCATED]

13:50:49: debug uri /neorelay?device=neostatUpstairsHallway&command={“INFO”:“UpstairsHallway”}