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

Thingsboard单请求批量提交多条遥测记录的正确构造方法咨询

你之前的数组格式不符合Thingsboard的批量遥测数据规范,平台默认只会解析数组最后一个对象的遥测字段,因此仅显示最后一条记录。同时你原有单条数据中将时间戳ts放在telemetry对象内部的写法也不符合规范,ts需要作为与遥测数据平级的独立字段,且必须使用毫秒级时间戳,秒级时间戳需乘以1000转换后再使用。

以下是两种常用的正确构造方式:

方式1:单设备批量上传(最简格式)

同设备多组数据批量上传可直接使用该格式,无需重复携带设备标识类字段:

[
    {
        "ts": 1631044931000,
        "values": {
            "Temperature": 26.29,
            "Humidity": 59.96,
            "AirPressure": 1019.5,
            "GasResistance": 45,
            "CO2": 902
        }
    },
    {
        "ts": 1631044933000,
        "values": {
            "Temperature": 28.29,
            "Humidity": 59.96,
            "AirPressure": 1019.5,
            "GasResistance": 45,
            "CO2": 902
        }
    }
]

如果需要携带deviceApp、deviceType这类固定属性,直接放入对应条目的values对象内即可。

方式2:兼容多设备批量上传格式

如果需要同时上报多台设备的批量遥测,或你的转换器逻辑必须保留设备名称作为标识,可使用以下格式,外层对象的key为设备名称,value为对应设备的遥测数组:

{
    "0000000000005003": [
        {
            "ts": 1631044931000,
            "values": {
                "Temperature": 26.29,
                "Humidity": 59.96,
                "AirPressure": 1019.5,
                "GasResistance": 45,
                "CO2": 902,
                "deviceApp": "EnviroSense",
                "deviceType": "EnviroSense"
            }
        },
        {
            "ts": 1631044933000,
            "values": {
                "Temperature": 28.29,
                "Humidity": 59.96,
                "AirPressure": 1019.5,
                "GasResistance": 45,
                "CO2": 902,
                "deviceApp": "EnviroSense",
                "deviceType": "EnviroSense"
            }
        }
    ]
}

以上两种格式上报后,平台会自动拆分所有条目为独立的时间序列记录,Dashboard可正常显示所有历史数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:30:02