节点红色多个msg.payloads

时间:2018-09-05 13:41:50

标签: sqlite node-red

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

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

return newMsg;

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

1 个答案:

答案 0 :(得分:1)

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

enter image description here

问题在于您的功能节点忽略了传入的数据,并仅创建了一个主题集就创建了一条新消息。

该功能节点的修补程序是:

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