添加拓撲關系
添加拓撲關系
網關類型的設備,可以通過該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 | 簽名校驗授權失敗。 |