Node-RED/CheatSheet: Difference between revisions
Appearance
< Node-RED
mNo edit summary |
mNo edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
global.set("labelmode", 123) | global.set("labelmode", 123) | ||
</pre> | </pre> | ||
== Convert string to number == | |||
* Change-node | |||
* JSONata: $number(payload) | |||
== Node Status == | == Node Status == | ||
| Line 27: | Line 32: | ||
measurement: topic } | measurement: topic } | ||
</pre> | </pre> | ||
== Retrieve retained MQTT message == | |||
<pre> | |||
npm install mqtt --save | |||
</pre> | |||
* settings.js | |||
<pre> | |||
functionGlobalContext: { | |||
mqtt:require('mqtt') | |||
}, | |||
</pre> | |||
* Function node | |||
<pre> | |||
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; | |||
</pre> | |||
[[Category:Programming]] | |||
Latest revision as of 15:14, 28 September 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;