一、该问题的重现步骤是什么?
创建品类,并配置物模型

    2. 创建产品,并创建温度模块,默认模块物模型和品类一致
    

3. 创建设备,正常显示其物模型以及温度模块


4. 使用模拟设备,上报温度数据,与默认字段数据

5. 上报后设备物模型中无数据


6. 调用http接口进行温度数据上报,任然无数据

二、你期待的结果是什么?实际看到的又是什么?
期待通过设备模拟或者http请求上报单一字段(当设备存在多个属性字段时,通过物模型模块上报单一字段)数据
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex iot ubuntu
四、请提供详细的错误堆栈信息,这很重要。
使用设备模拟日志

点击设备模拟-设备详情-物模型数据时报错

调用http请求时报错

五、若有更多详细信息,请在下面提供。
产品物模型确实属于发布状态

修改属性取值范围后再次点击发布报错


相关模块看下这里 ,看下你的模块标识是不是填写的英文,后续我们给他限制下只能英文。你现在删掉这个模块,重新建一个英文标识的,然后再创建新模块 再发布物模型试试。tag:identifier 这样会直接作为字段名保存到tdengine内,所以中文是会有问题的,改成英文单词后,上报也需要按照这样的格式来。


首先感谢反馈,从上面描述看到有这么几个问题造就了数据写入不进去。
1. 模块标识,自定义模块建 tdengine 表字段名规则是 “模块标识符:属性标识”
2. 看到你自定义了一个模块温度,按规范,那么你上报的时候就得符合这个规范。
{
    "id": "123",
    "version": "1.0",
    "method": "thing.event.property.post",
    "sys":{
        "ack":0
    },
    "params": {
        "模块标识符:属性标识": {
            "value": "on",
            "time": 1524448722000
        }
    }
}建议就用默认模块,删除自定义的模块,然后重新保存发布物模型。(tdengine 发布物模型的时候会更新超级表)
 
扫一扫访问 Blade技术社区 移动端