该Topic用于订阅指定设备属性上报消息。
前提
Topic
/device/{productId}/{deviceId}/message/property/report
订阅消息
- 生成随机13位数
js
randomNum = Math.random().toFixed(13).slice(-13)
randomNum = Math.random().toFixed(13).slice(-13)
- 发送消息内容到 WebSocket
json
{
"type": "sub",
"topic": "/device/产品id/设备id/message/property/report",
"parameter": {},
"id": "request-id" + randomNum
}
{
"type": "sub",
"topic": "/device/产品id/设备id/message/property/report",
"parameter": {},
"id": "request-id" + randomNum
}
订阅示例
json
{
"type": "sub",
"topic": "/device/api-test/api-test-device1/message/property/report",
"parameter": {},
"id": "request-id"
}
{
"type": "sub",
"topic": "/device/api-test/api-test-device1/message/property/report",
"parameter": {},
"id": "request-id"
}
消息推送格式
成功订阅指定设备属性上报消息后,当设备上报属性时,平台会将属性上报消息实时推送到 WebSocket ,消息推送格式如下:
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
» requestId | string | true | none | 订阅ID |
» topic | string | true | none | 订阅Topic |
» payload | [object] | true | none | 消息负载 |
»» headers | [object] | true | none | 消息头 |
»»» deviceName | string | true | none | 设备名称 |
»»» productName | string | true | none | 产品名称 |
»»» productId | [object] | true | none | 产品ID |
»»» _uid | string | false | none | 平台统一生成uid |
»»» creatorId | string | false | none | 创建者ID |
»»» traceparent | string | false | none | 链路追踪父ID |
»» deviceId | string | true | none | 设备ID |
»» timestamp | long | true | none | 时间戳 |
»» properties | [object] | false | none | 物模型属性 |
»» messageType | string | true | none | 消息类型 |
» type | string | true | none | 类型 |
消息推送示例
json
{
"requestId": "request-id-1691046529730",
"topic": "/device/api-test/api-test-device1/message/property/report",
"payload": {
"headers": {
"deviceName": "api测试设备1",
"productName": "api测试",
"productId": "api-test",
"_uid": "E4m6Rm4b8TTf36Qyc61lgCaiS3kwH5bU",
"creatorId": "1199596756811550720",
"traceparent": "00-10b5b93161052499e75cc2df3ea1ee11-2dbcb0246cd3f643-01"
},
"deviceId": "api-test-device1",
"timestamp": 1691047325210,
"properties": { //上报属性
"Color": 67
},
"messageType": "REPORT_PROPERTY"
},
"type": "result"
}
{
"requestId": "request-id-1691046529730",
"topic": "/device/api-test/api-test-device1/message/property/report",
"payload": {
"headers": {
"deviceName": "api测试设备1",
"productName": "api测试",
"productId": "api-test",
"_uid": "E4m6Rm4b8TTf36Qyc61lgCaiS3kwH5bU",
"creatorId": "1199596756811550720",
"traceparent": "00-10b5b93161052499e75cc2df3ea1ee11-2dbcb0246cd3f643-01"
},
"deviceId": "api-test-device1",
"timestamp": 1691047325210,
"properties": { //上报属性
"Color": 67
},
"messageType": "REPORT_PROPERTY"
},
"type": "result"
}