节点红色倍数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 消息到达主题 temperature
和 humidity
.
我有 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 消息到达主题 temperature
和 humidity
.