You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node-RED中如何将timedate对象合并至多个设备数据对象?

Node-RED 设备数据合并时间戳解决方案

操作步骤

1. 插入Function节点

在你的流程里,找到输出原始msg.payload的节点,后面接一个Function节点,再把这个Function节点连到Dashboard的Table节点。

2. 写入处理代码

打开Function节点的编辑界面,粘贴以下代码:

// 提取timedate里的时间字段
const timeStamp = msg.payload.timedate.time;
const processedData = [];

// 遍历所有设备数据
for (const devId in msg.payload) {
  // 跳过timedate对象
  if (devId === 'timedate') continue;
  
  // 合并设备数据、设备ID和时间戳
  const devItem = {
    设备ID: devId,
    ...msg.payload[devId],
    时间: timeStamp
  };
  
  processedData.push(devItem);
}

// 替换原payload为处理后的数组
msg.payload = processedData;
return msg;

注:如果你的设备数据字段(比如温度、湿度)或者时间字段的键名和示例不同,直接修改代码里的对应字段名即可。

3. 配置Dashboard表格节点

在Table节点的配置面板中:

  • 数据源选择Payload
  • 表格会自动识别处理后数组里的所有字段,你可以手动调整列名和显示顺序

这样处理后,每个设备数据都会带上时间戳,Dashboard表格里每行对应一个设备,不会再出现时间戳单独成行的问题。

内容的提问来源于stack exchange,提问作者aatteen mies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 00:35:22