设备上报属性

更新时间:

上报透传属性:

设备上报透传属性或事件:

image1.png

Topic和数据格式(上行):

Topic

数据格式

请求Topic:/sys/${productKey}/${deviceName}/thing/model/up_raw

请求数据是设备上报的原始报文。

说明

  • 通过MQTT协议透传的数据为16进制格式。

  • 透传的上报数据中,必须包含请求方法method参数,取值需与数据解析脚本中定义的对应请求方法一致。例如JavaScript脚本示例中设备上传属性数据到云端的ALINK_PROP_REPORT_METHODthing.event.property.post

示例如下:

0x00002233441232013fa00000

响应Topic:/sys/${productKey}/${deviceName}/thing/model/up_raw_reply

云端返回数据格式如下:

成功返回示例:

{
    "code": 200,
    "data": {},
    "id": "123",
    "message": "success",
    "version": "1.0"
}

失败返回示例:

{
    "code": 6813,
    "data": {},
    "id": "123",
    "message": "topic illegal",
    "version": "1.0"
}

上报物模型属性:

设备上报物模型属性或事件:

image2.png

Topic和数据格式(上行):

Topic

数据格式

请求Topic:/sys/${productKey}/${deviceName}/thing/event/property/post

{
    "id": "123",
    "version": "1.0",
    "sys":{
        "ack":0
    },
    "params": {
        "Power": {
            "value": "on",
            "time": 1524448722000
        },
        "WF": {
            "value": 23.6,
            "time": 1524448722000
        }
    },
    "method": "thing.event.property.post"
}

响应Topic:/sys/${productKey}/${deviceName}/thing/model/up_raw_reply

云端返回数据格式如下:

成功返回示例:

{
    "code": 200,
    "data": {},
    "id": "123",
    "message": "success",
    "method": "thing.event.property.post",
    "version": "1.0"
}

失败返回示例:

{
    "code": 6813,
    "data": {},
    "id": "123",
    "message": "The format of result is error!",
    "method": "thing.event.property.post",
    "version": "1.0"
}

参数说明:

参数

类型

说明

id

String

消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。

version

String

协议版本号,目前协议版本号唯一取值为1.0。

sys

Object

扩展功能的参数,其下包含各功能字段。

说明

使用设备端SDK开发时,如果未设置扩展功能,则无此参数,相关功能保持默认配置。

ack

Integer

sys下的扩展功能字段,表示是否返回响应数据。

  • 1:云端返回响应数据。

  • 0:云端不返回响应数据。

重要

如果未配置该功能,则无此参数,云端默认返回响应数据。

method

String

请求方法。例如:thing.event.property.post

params

Object

请求参数。如以上示例中,设备上报了的两个属性Power(电源)和WF(工作电流)的信息。具体属性信息,包含属性上报时间(time)和上报的属性值(value)。

若仅传入属性值,无需上传字段timevalueparams示例如下:

"params": {
    "Power": "on",
    "WF": 23.6
}

如果是自定义模块属性,属性标识符格式为${模块标识符}:${属性标识符}(中间为英文冒号)。例如:

"test:Power": {
    "value": "on",
    "time": 1524448722000
}

time

Long

属性上报时间戳,类型为UTC毫秒级时间。

该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳。

  • 若上传time,物联网平台的云端保存上传的时间作为属性上报时间。

  • 若不上传time,物联网平台的云端自动生成属性上报时间并保存。

value

Object

上报的属性值。

若不上传time,可不上传value,直接上传参数值即可。

响应数据格式说明:

参数

类型

说明

id

String

消息ID号,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。

code

Integer

结果状态码。 具体参考设备端通用code

说明

物联网平台会对设备上报的属性做校验。通过产品的TSL描述判断上报的属性是否符合定义的属性格式。不合格的属性会直接被过滤掉,并返回失败的错误码。

data

Object

请求成功时,返回的数据固定为空。

message

String

返回结果信息。请求成功时,返回success。

method

String

响应数据对应的请求方法,与请求参数中method相同。

version

String

协议版本号,与请求参数中version相同。