添加拓扑关系
添加拓扑关系
网关类型的设备,可以通过该Topic上行请求添加它和子设备之间的拓扑关系,返回成功添加拓扑关系的子设备。
单次最多可请求添加30个子设备。
数据上行。
请求Topic:
/sys/${productKey}/${deviceName}/thing/topo/add
响应Topic:
/sys/${productKey}/${deviceName}/thing/topo/add_reply
请求数据格式:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"params": [
{
"deviceName": "deviceName1234",
"productKey": "1234556554",
"sign": "xxxxxx",
"signmethod": "hmacSha1",
"timestamp": "1524448722000",
"clientId": "xxxxxx"
}
],
"method": "thing.topo.add"
}
响应数据格式:
{
"id": "123",
"code": 200,
"data": [
{
"deviceName": "deviceName1234",
"productKey": "1234556554"
}
]
}
请求参数说明:
参数 | 类型 | 说明 |
id | String | 消息ID号。需定义为String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
version | String | 协议版本号,目前协议版本号唯一取值为1.0。 |
sys | Object | 扩展功能的参数,其下包含各功能字段。 说明 使用设备端SDK开发时,如果未设置扩展功能,则无此参数,相关功能保持默认配置。 |
ack | Integer | sys下的扩展功能字段,表示是否返回响应数据。
重要 如果未配置该功能,则无此参数,云端默认返回响应数据。 |
params | List | 请求入参。 |
deviceName | String | 子设备的名称。 |
productKey | String | 子设备所属产品的ProductKey。 |
sign | String | 签名。 加签算法:
签名计算示例: sign= hmac_md5(deviceSecret, clientId123deviceNametestproductKey123timestamp1524448722000) |
signmethod | String | 签名方法,支持hmacSha1、hmacSha256、hmacMd5、Sha256。 |
timestamp | String | 时间戳(单位:毫秒)。 |
clientId | String | 设备本地标记,非必填。可以设置为具体的productKey&deviceName。 |
method | String | 请求方法,取值 。 |
响应参数说明:
参数 | 类型 | 说明 |
id | String | 消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。 |
code | Integer | 返回结果,200代表成功。 |
data | Object | 请求成功时返回的子设备信息,具体参数请参见下表data。 |
data数据格式:
参数 | 类型 | 说明 |
deviceName | String | 子设备的设备名称。 |
productKey | String | 子设备所属产品的ProductKey。 |
错误信息:
错误码 | 消息 | 描述 |
460 | request parameter error | 请求参数错误。 |
6402 | topo relation cannot add by self | 设备不能把自己添加为自己的子设备。 |
401 | request auth error | 签名校验授权失败。 |