设备事件上报

如果使用非透传模式,设备需要按照EnOS Cloud中定义的标准格式(当前为JSON)生成数据,然后上报数据。

上行

  • 请求TOPIC: /sys/{productKey}/{deviceKey}/thing/event/{tsl.event.identifier}/post
  • 响应TOPIC: /sys/{productKey}/{deviceKey}/thing/event/{tsl.event.identifier}/post_reply

请求数据格式

{
    "id":"123",
    "version":"1.0",
    "params":{
        "events":{
            "Power":{
                "value":1,
                "quality":9
            },
            "temp":1.02,
            "branchCurr":[
                "1.02",
                "2.02",
                "7.93"
            ]
        },
        "time":123456
    },
    "method":"thing.event.{tsl.event.identifier}.post"
}

响应数据格式

{
    "id":"123",
    "code":200,
    "data":{}
}

参数说明

参数 类型 是否必需 描述
id String 可选 消息 ID 号,保留值
version String 必需 协议版本号,目前协议版本1.0
params Object 必需 设备事件上报的参数
events Object 必需 需上报的事件的标识符的列表
power 可选 要上报的事件的标识符。在本例中,为参数 power 。此处设置的格式必须与服务的数据类型匹配。例如,当此参数的数据类型在模型中设置为struct时,此处的格式必须与模型中保持一致,为 valuevalue2
value Integer 可选 该事件的标识符。在本例中,为参数 value 。此处设置的值必须与服务的数据类型匹配。例如,当此参数的数据类型在模型中设置为integer时,那么值必须为integer
quality Integer 可选 该事件出参的名称。在本例中,为参数 quality 。如上,此处设置的格式必须与服务的数据类型匹配
temp Integer 可选 要上报的事件的标识符。在本例中,为参数 temp 。如上,此处设置的格式必须与服务的数据类型匹配
branchCurr Array 可选 要上报的事件的标识符。在本例中,为参数 branchCurr 。如上,此处设置的格式必须与服务的数据类型匹配
time String 可选 测点的时间戳。如果为空,时间戳会被设为服务器的时间
method String 可选 请求方法
code Integer 必需 结果返回码,200代表请求成功执行
data String 可选 返回的详细信息 。JSON格式

结果返回码

返回码 错误信息 释义
1204 Model validate failed 事件格式不符合模型规定