节点红色倍数msg.payloads

Node red multiple msg.payloads

我有 2 个节点正在获取一些 mqtt 数据、一些温度和湿度读数。我试图将该信息传递给 sqlite 节点。在该节点上,我有以下代码:

var newMsg = {
 "topic": "INSERT INTO ambiente VALUES (null, #thisshouldbetemperature, #thisshouldbehumidity, date('now'), time('now') )"
 }

return newMsg;

我尝试使用连接节点但没有成功。那么,将 msg.payload 都传递给该函数的正确方法是什么?谢谢!

join 节点是合并 2 条传入消息的正确方法。您应该使用手动模式并将其配置为创建类似这样的键值对象。

问题是您的函数节点忽略传入数据并创建仅包含主题集的新消息。

函数节点的修复是:

msg.topic = "INSERT INTO ambiente VALUES (null, " + msg.payload.temperature + ", " + msg.payload.humidity + " , date('now'), time('now') )";
return msg;

这只会更新 msg.topic 并保持传入的 msg.payload 不变。这假设 MQTT 消息到达主题 temperaturehumidity.