如何解决将值从数组发送到 nodered 中的 mqtt
我有来自 nodered modbus 节点的附加调试输出,我只需要将数组中的数据值发送到 mqtt。我如何使用功能节点实现这一点?
我附上了我尝试过的内容和调试错误,而不是将未发生的值发送到 mqtt。我是新手,因此将感谢您的建议。相反,它发送值 36(这是我拍摄第二个屏幕截图时 pv1 的值),它返回 0
解决方法
好的,所以我们需要修复一些问题。
首先传入的消息作为 msg
对象传递到函数节点,因此您需要使用它来访问输入数据。 payload
中数据字段的第一个元素的路径为:
msg.payload.data[0]
其次,创建新的 msg
对象不是一个好习惯,最好为输出重用相同的输入对象。
因此,使用函数节点的最佳解决方案是:
msg.payload = msg.payload.data[0];
msg.topic = "emon/deye/pv1`;
return msg;
此问题的另一个解决方案是使用更改节点来移动所需的值并设置 msg.topc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。