Node-RED/CheatSheet: Difference between revisions
< Node-RED
mNo edit summary |
|||
Line 34: | Line 34: | ||
== Retrieve retained MQTT message == | == Retrieve retained MQTT message == | ||
<pre> | |||
npm install mqtt --save | |||
</pre> | |||
* settings.js | |||
<pre> | |||
functionGlobalContext: { | |||
mqtt:require('mqtt') | |||
}, | |||
</pre> | |||
* Function node | |||
<pre> | <pre> | ||
const mqtt = global.get('mqtt') | const mqtt = global.get('mqtt') | ||
Line 50: | Line 62: | ||
return; | return; | ||
</pre> | </pre> |
Revision as of 12:24, 19 May 2024
Global variables
var labelmode = global.get("labelmode") global.set("labelmode", 123)
Convert string to number
- Change-node
- JSONata: $number(payload)
Node Status
node.status({fill:"gray",shape:"dot",text:msg.serialnumber + " = " + msg.pclass + "W"});
Stop messages
if ( ...)) { return null; } else { return msg; }
InfluxDB
- write data with custom timestamp
var timestamp = new Date(date + 'Z').getTime() * 1e6 msg = { payload : { value: value, time: timestamp }, measurement: topic }
Retrieve retained MQTT message
npm install mqtt --save
- settings.js
functionGlobalContext: { mqtt:require('mqtt') },
- Function node
const mqtt = global.get('mqtt') const client = mqtt.connect('mqtt://192.168.111.1'); const topic = "company/line1/pos1/MES/currentSN" client.on("connect", () => { client.subscribe(topic) }) client.on("message", (topic, message) => { msg.currentSN = message.toString() node.send(msg) client.end(); }) return;