设备事件上报

如果使用非透传模式,设备需要按照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

Long

可选

消息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

事件格式不符合模型规定