数据上报
设备上报属性
- 请求Topic:
/sys/${productKey}/${deviceKey}/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"
}
字段说明
- id: 消息ID,用于唯一标识一条消息,由设备端生成,必须保证唯一性。注:消息ID必须为字符类型。
- version: 消息版本号,目前版本为1.0。
- sys: 系统级参数,目前仅支持ack,ack=0表示不需要应答,ack=1表示需要应答。注:ack必须为数字类型。
- params: 消息体,消息体中包含了设备上报的属性值,属性值的格式为JSON格式。
- method: 消息类型,目前仅支持thing.event.property.post。
- Power: 属性名称,必须与物模型中定义的属性名称一致。
- value: 属性值,必须与物模型中定义的属性类型一致。注:属性值需要物模型的配置一至。
- time: 属性值的时间戳,单位为秒,可选,如果不携带该字段,则默认为消息发送时间。注:时间戳必须为数字类型。
应答
- 应答Topic:
/sys/${productKey}/${deviceKey}/thing/event/property/post_reply
- 应答数据格式示例:
{
"code": 200,
"data": {},
"id": "123",
"message": "success",
"method": "thing.event.property.post",
"version": "1.0"
}
字段说明
- code: 应答码,200表示成功,其他表示失败。
- data: 应答数据,目前为空。
- id: 消息ID,与请求中的消息ID一致。
- message: 应答消息,目前为空。
- method: 消息类型,目前仅支持thing.event.property.post。
- version: 消息版本号,目前版本为1.0
设备属性设置
- 请求Topic:
/sys/${productKey}/${deviceKey}/thing/service/property/set
- 请求数据格式示例:
{
"id": "123",
"version": "1.0",
"params": {
"temperature": "30.5"
},
"method": "thing.service.property.set"
}
字段说明
- id:消息ID,用于唯一标识一条消息,由设备端生成,必须保证唯一性。
- version:消息版本号,目前版本为1.0。
- params:消息体,消息体中包含了设备上报的事件值,事件值的格式为JSON格式。
- method:消息类型,目前仅支持thing.service.property.set
应答
- 应答Topic:
/sys/${productKey}/${deviceKey}/thing/service/property/set_reply
- 请求数据格式示例:
{
"code": 200,
"data": {},
"id": "123",
"message": "success",
"version": "1.0"
}
字段说明
- code: 应答码,200表示成功,其他表示失败。
- data: 应答数据,目前为空。
- id: 消息ID,与请求中的消息ID一致。
- message: 应答消息,目前为空。
- version: 消息版本号,目前版本为1.0
设备上报事件
- 请求Topic:
/sys/${productKey}/${deviceKey}/thing/event/${eventIdentifier}/post
- 请求数据格式示例:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"params": {
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
},
"method": "thing.event.${tsl.event.identifier}.post"
}
字段说明 备注: 请求参数 params 中的 value 里面的k,v都为字符串,忽略了物模型中定义的类型,这里需要注意
- id: 消息ID,用于唯一标识一条消息,由设备端生成,必须保证唯一性。
- version: 消息版本号,目前版本为1.0。
- sys: 系统级参数,目前仅支持ack,ack=0表示不需要应答,ack=1表示需要应答。
- params: 消息体,消息体中包含了设备上报的事件值,事件值的格式为JSON格式。
- method: 消息类型,目前仅支持thing.event.
${tsl.event.identifier}
.post。 - value: 事件值,必须与物模型中定义的事件类型一致。
- time: 事件值的时间戳,单位为秒,可选,如果不携带该字段,则默认为消息发送时间。
应答
- 应答Topic:
/sys/${productKey}/${deviceKey}/thing/event/${eventIdentifier}/post_reply
- 请求数据格式示例:
{
"code": 200,
"data": {},
"id": "123",
"message": "success",
"method": "thing.event.${tsl.event.identifier}.post",
"version": "1.0"
}
字段说明
- code: 应答码,200表示成功,其他表示失败。
- data: 应答数据,目前为空。
- id: 消息ID,与请求中的消息ID一致。
- message: 应答消息,目前为空。
- method: 消息类型,目前仅支持thing.event.
${tsl.event.identifier}
.post。 - version: 消息版本号,目前版本为1.0
服务调用
- 请求Topic:
/sys/${productKey}/${deviceKey}/thing/service/${tsl.service.identifier}
- 请求数据格式示例:
{
"id": "123",
"version": "1.0",
"params": {
"Power": "on",
"WF": "2"
},
"method": "thing.service.${tsl.service.identifier}"
}
参数说明
- id: 消息ID,用于唯一标识一条消息,由设备端生成,必须保证唯一性。
- version: 消息版本号,目前版本为1.0。
- params: 消息体,消息体中包含了设备上报的事件值,事件值的格式为JSON格式。
- method: 消息类型,目前仅支持thing.service.
${tsl.service.identifier}
。
应答
- 应答Topic:
/sys/${productKey}/${deviceKey}/thing/service/${tsl.service.identifier}_reply
- 应答数据格式示例:
{
"code": 200,
"data": {},
"id": "123",
"message": "success",
"version": "1.0"
}
字段说明
- code: 应答码,200表示成功,其他表示失败。
- data: 应答数据,目前为空。
- id: 消息ID,与请求中的消息ID一致。
- message: 应答消息,目前为空。
- version: 消息版本号,目前版本为1.0
网关批量上传事件和属性
- 请求Topic:
/sys/${productKey}/${deviceKey}/thing/event/property/pack/post
- 请求数据格式示例:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"params": {
"properties": {
"Power": {
"value": "on",
"time": 1524448722000
}
},
"events": {
"alarmEvent1": {
"value": {
"param1": "on",
"param2": "2"
},
"time": 1524448722000
},
"alertEvent2": {
"value": {
"param1": "on",
"param2": "2"
},
"time": 1524448722000
}
},
"subDevices": [
{
"identity": {
"productKey": "",
"deviceKey": ""
},
"properties": {
"Power": {
"value": "on",
"time": 1524448722000
},
"WF": {
"value": { },
"time": 1524448722000
}
},
"events": {
"alarmEvent1": {
"value": {
"param1": "on",
"param2": "2"
},
"time": 1524448722000
},
"alertEvent2": {
"value": {
"param1": "on",
"param2": "2"
},
"time": 1524448722000
}
}
}
]
},
"method": "thing.event.property.pack.post"
}
字段说明
- id: 消息ID,用于唯一标识一条消息,由设备端生成,必须保证唯一性。
- version: 消息版本号,目前版本为1.0。
- sys: 系统级参数,目前仅支持ack,ack=0表示不需要应答,ack=1表示需要应答。
- params: 消息体,消息体中包含了设备上报的事件值,事件值的格式为JSON格式。
- method: 消息类型,目前仅支持thing.event.property.pack.post。
- properties: 设备属性值,必须与物模型中定义的属性类型一致。
- events: 设备事件值,必须与物模型中定义的事件类型一致。
- subDevices: 子设备属性值和事件值,必须与物模型中定义的属性类型和事件类型一致。
- identity: 子设备标识,必须与物模型中定义的子设备标识一致。
- value: 属性值或事件值,必须与物模型中定义的属性类型或事件类型一致。
- time: 属性值或事件值的时间戳,单位为秒,可选,如果不携带该字段,则默认为消息发送时间。
响应
- 响应Topic:
/sys/${productKey}/${deviceKey}/thing/event/property/pack/post
- 响应数据格式示例:
{
"code": 200,
"data": {},
"id": "123",
"message": "success",
"method": "thing.event.property.pack.post",
"version": "1.0"
}
字段说明
- code: 应答码,200表示成功,其他表示失败。
- data: 应答数据,目前为空。
- id: 消息ID,与请求中的消息ID一致。
- message: 应答消息,目前为空。
- method: 消息类型,目前仅支持thing.event.property.pack.post。
- version: 消息版本号,目前版本为1.0