Heatmiser Neo Hub

Sends commands to a Heatmiser Neo Hub, either an instruction or an information request. Uses TCP but the secret is to add a null (/0) character to the end of the request.

Known commands (not all tested)

{"AWAY_OFF":}

{"AWAY_ON":}

{"BOOST_OFF":[{"hours":0,"minutes":10},]]}

{"BOOST_OFF":[{"hours":0,"minutes":10},]}

{"CANCEL_HGROUP":}

{"CANCEL_HOLD_ALL":0}

{"CLEAR_PROFILE":}

{"COOL":}

{"COOL_DEFAULT":[, ]}

{"CREATE_GROUP":[[], ]}

{"DELETE_GROUP":}

{"DST_OFF":0}

{"DST_ON":0}

{"ENGINEERS_DATA":0}

{"FIRMWARE":0}

{"FROST_OFF":}

{"FROST_ON":}

{"GET_GROUPS":0}

{"GET_HOLD":0} {"GET_HOLIDAY":0}

{"GET_HOURSRUN":}

{"GET_PROFILE":}

{"GET_PROFILES":0}

{"GET_TEMPLOG":}

{"GET_ZONES":0}

{"HOLD":[{"temp":, "id":,"hours":, "minutes":},

]} {"HOLIDAY":["HHMMSSDDMMYYYY","HHMMSSDDMMYYYY"]};

{"INFO":0}

{"LOCK":[[,,,], ]}

{"MANUAL_DST":} Valid values are 0 and 1

{"MANUAL_OFF":}

{"MANUAL_ON":}

{"NTP_OFF":0} Turn off network time protocol client

{"NTP_ON":0} Turn on network time protocol client

{"PERMIT_JOIN":[, ]}

{"READ_COMFORT_LEVELS":}

{"READ_DCB":100} for reading DCB100 used to recover status information from the NeoHub

{"READ_TIMECLOCK":}

{"REMOVE_REPEATER":}

{"REMOVE_ZONE":}

{"RUN_PROFILE":}

{"SET_COMFORT_LEVELS":[, ]} For see READ_COMFORT_LEVELS result {"SET_COOL_TEMP":[, ]};

{"SET_DATE":[, , ]} Integers

{"SET_DELAY":[, ]}

{"SET_DIFF":[, ]}

{"SET_FLOOR":[, ]}

{"SET_FORMAT":} format is a string, "NONPROGRAMMABLE", "7DAY", "5DAY/2DAY", or "24HOURSFIXED"

{"SET_FROST":[, ]}

{"SET_PREHEAT":[, ]}

{"SET_TEMP":[, ]}

{"SET_TEMP_FORMAT":}

{"SET_TIME":[,]}

{"SET_TIMECLOCK":[, ]} For see READ_TIMECLOCK result

{"STATISTICS":0}

{"STORE_PROFILE":}

{"SUMMER_OFF":}

{"SUMMER_ON":}

{"TIME_ZONE":}

{"TIMER_HOLD_OFF":[, ]}

{"TIMER_HOLD_ON":[, ]}

{"TIMER_OFF":}

{"TIMER_ON":}

{"UNLOCK":}

{"USER_LIMIT":[, ]}

{"VIEW_ROC":}

{"ZONE_TITLE":[, ]}

{‘SET_CHANNEL’:25} Used to change the zigbee channel to avoid conflicts with other devices. Not tested - unsure if single quote is correct!

[{"id":"43fe5a90.aaddf4","type":"tcp request","z":"51009713.dae99","server":"192.168.1.183 ","port":"4242","out":"char","splitc":"\\n","name":"192.168.1.183  ","x":560,"y":220,"wires":[["9962a9fe.da837"]]},{"id":"5bc23048.c962d8","type":"inject","z":"51009713.dae99","name":"Info","topic":"","payload":" {\"INFO\":0}","payloadType":"str","repeat":"","crontab":"","once":false,"x":170,"y":200,"wires":[["3dd02b1a.d812fc"]]},{"id":"3dd02b1a.d812fc","type":"function","z":"51009713.dae99","name":"Add Null","func":"msg.payload = msg.payload  + '\\0';\nreturn msg;","outputs":1,"noerr":0,"x":380,"y":220,"wires":[["43fe5a90.aaddf4"]]},{"id":"9bab119c.33f28","type":"inject","z":"51009713.dae99","name":"Read Comfort Level ","topic":"","payload":" {\"READ_COMFORT_LEVELS\":[\"Drawing Room\"]}","payloadType":"str","repeat":"","crontab":"","once":false,"x":130,"y":260,"wires":[["3dd02b1a.d812fc"]]},{"id":"142f1ad3.f8733d","type":"inject","z":"51009713.dae99","name":"Set Temp","topic":"","payload":" {\"SET_TEMP\":[25, \"Study\"]}","payloadType":"str","repeat":"","crontab":"","once":false,"x":160,"y":140,"wires":[["3dd02b1a.d812fc"]]},{"id":"85dd2649.94809","type":"inject","z":"51009713.dae99","name":"Statistics","topic":"","payload":"{\"STATISTICS\":0}","payloadType":"str","repeat":"","crontab":"","once":false,"x":160,"y":320,"wires":[["3dd02b1a.d812fc"]]},{"id":"8b6a1f87.0ea3b","type":"inject","z":"51009713.dae99","name":"Get Templog","topic":"","payload":" {\"GET_TEMPLOG\":[\"Study\",\"Kitchen\"]}","payloadType":"str","repeat":"","crontab":"","once":false,"x":130,"y":400,"wires":[["16edd349.e940d5"]]},{"id":"9962a9fe.da837","type":"function","z":"51009713.dae99","name":"ToString","func":"msg.payload = msg.payload.toString();\nreturn msg;","outputs":1,"noerr":0,"x":740,"y":220,"wires":[["4e26e734.f6fed8"]]},{"id":"2f96a813.2f50e","type":"json","z":"51009713.dae99","name":"","pretty":false,"x":810,"y":400,"wires":[["f79b1cf6.45c538"]]},{"id":"f79b1cf6.45c538","type":"function","z":"51009713.dae99","name":"Today","func":"msg.payload = msg.payload.today;\nreturn msg;","outputs":1,"noerr":0,"x":950,"y":400,"wires":[["ab85a63.1dd4fd8"]]},{"id":"ab85a63.1dd4fd8","type":"debug","z":"51009713.dae99","name":"TCP Out","active":true,"console":"false","complete":"payload","x":1100,"y":400,"wires":[]},{"id":"4e26e734.f6fed8","type":"debug","z":"51009713.dae99","name":"TCP Out","active":true,"console":"false","complete":"payload","x":900,"y":220,"wires":[]},{"id":"16edd349.e940d5","type":"function","z":"51009713.dae99","name":"Add null","func":"msg.payload = msg.payload  + '\\0';\nreturn msg;","outputs":1,"noerr":0,"x":300,"y":400,"wires":[["2fd77e46.319fda"]]},{"id":"2fd77e46.319fda","type":"tcp request","z":"51009713.dae99","server":"192.168.1.183 ","port":"4242","out":"char","splitc":"\\n","name":"192.168.1.183  ","x":480,"y":400,"wires":[["757b78d9.d70458"]]},{"id":"757b78d9.d70458","type":"function","z":"51009713.dae99","name":"ToString","func":"msg.payload = msg.payload.toString();\nreturn msg;","outputs":1,"noerr":0,"x":660,"y":400,"wires":[["2f96a813.2f50e"]]}]
mikepallister

Flow Info

created 3 months, 3 weeks ago

Node Types

Core
  • debug (x2)
  • function (x5)
  • inject (x5)
  • json (x1)
  • tcp request (x2)

Tags

  • heatmiser
  • neo
  • tcp
  • heating
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option