通过 Node-red Dashboard 获取数据

Fetching data through Node-red Dashboard

我正在使用 node-red 通过 MQTT 获取数据。我有类似图片中的响应..

不,我想在 functions.I 的帮助下分别获取数据 w.r.t Phase1、Phase2、Phase3、Phase4 和 Timestamp 不知道如何获得这种方式。 P.S 我是 node.red 的新手。谢谢

如果您只想从每个消息中获取数值,您可以使用 function 节点拆分字符串,如下所示:

var parts = msg.payload.split(":");
var value = parts.length > 1 ? parts[1].trim() : parts[0].trim();

// append the string before the ":" to the topic...
msg.topic += "/" + parts.length > 1 ? parts[0] : "Total";
// coerce the value after the ":" to be numeric...
msg.payload = +value;
return msg;

现在您将拥有可以直接在仪表板元素中显示的主题和负载。

还有至少 2 个节点可以做同样的事情,而无需编写任何 javascript 代码。您可能想安装并尝试 node-red-contrib-string 节点——它非常适合提取字符串位。 change 节点也可以使用,但需要一个 Jsonata 表达式,它很强大,但也比 javascript 代码复杂一点...