Skip to content

Instantly share code, notes, and snippets.

@uberflyx
uberflyx / Node-Red-MySensors-MQTT
Created March 24, 2018 09:19
Node-Red MySensors MQTT to human-readable MQTT flow
[{"id":"49f44e88.60375","type":"debug","z":"686096e4.b7f728","name":"From MySensors","active":false,"console":"false","complete":"payload","x":610,"y":140,"wires":[]},{"id":"e04d7263.f39a2","type":"function","z":"686096e4.b7f728","name":"Decode MySensor Message","func":"/* MySensors v2 Message Decoder\n* Payload : JSON object\n* www.projetsdiy.fr - oct. 2016\n*/\nvar mySensorsMessage = {}\nvar newPayload = {};\nvar message = msg.topic.toString();\nmessage = message.replace(/(\\r\\n|\\n|\\r)/gm, \"\");\nvar tokens = message.split(\"/\")\nif(tokens.length == 6)\n{\n mySensorsMessage.nodeId = parseInt(tokens[1]);\n mySensorsMessage.childSensorId= parseInt(tokens[2]);\n mySensorsMessage.messageType = parseInt(tokens[3]);\n mySensorsMessage.ack = parseInt(tokens[4]);\n mySensorsMessage.subType = parseInt(tokens[5]);\n mySensorsMessage.value = Number(msg.payload);\n\n var messageType = mySensorsMessage.messageType;\n var subType = mySensorsMessage.subType;\n