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

如何在ThingsBoard社区版拆分原始遥测字符串为多字段数据

解决ThingsBoard拆分逗号分隔字符串为多字段遥测数据的问题

操作步骤:

  • 在你的规则链中添加Script节点,将其连接到接收遥测请求的节点(比如Post Telemetry Request)之后。
  • 双击打开Script节点,在代码编辑框中粘贴以下JavaScript脚本:
// 提取原始逗号分隔字符串
const rawData = msg.payload;
// 拆分字符串并转换为浮点数数组(自动去除每个值的空格)
const dataArray = rawData.split(',').map(val => parseFloat(val.trim()));

// 映射为目标字段结构
const formattedData = {
    temp: dataArray[0],
    humi: dataArray[1],
    voci: dataArray[2],
    noxi: dataArray[3],
    pm10: dataArray[4],
    pm25: dataArray[5],
    pm40: dataArray[6],
    pm100: dataArray[7]
};

// 更新消息的payload为转换后的数据
msg.payload = formattedData;

// 返回处理后的消息供后续节点使用
return {msg: msg, metadata: metadata, msgType: msgType};
  • 将Script节点的输出连接到Save Timeseries节点,确保转换后的多字段数据能被存储到设备遥测中。
  • 保存规则链并测试:发送你的测试字符串,在设备的「遥测数据」页面就能看到temp、humi等8个独立字段了。

额外提示

如果担心数据格式异常(比如拆分后数组长度不足8),可以在脚本里加简单的判断逻辑,比如:

if (dataArray.length !== 8) {
    // 可以选择丢弃消息或标记错误,示例:
    metadata.error = "Invalid data length";
    return {msg: msg, metadata: metadata, msgType: msgType};
}

内容的提问来源于stack exchange,提问作者Thomas Vikstrom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 10:07:40