物联接口测试情况
## 物联接口测试情况:
#### 物联设备类型
- 告警(安防)类设备:
【设备配网】:通过硬件对接,连接到网关,接入网络。
【设备绑定】:通过接入网关 绑定到用户下。
【设备控制】:无任何控制。
【接口需求】:
(1)订阅设备告警接口,比如设备上线/下线,检测到入侵,设备触发告警到三方云,三方云再通过订阅接口转发给订阅方。
(2)设备列表获取接口,设备列表信息包括设备的状态信息。或者提供单独的获取设备详细信息的接口。
【主要产品】:红外入侵探测器、烟雾探测器、可燃气泄漏探测器、水浸探测器
- 环境检测类设备:
【设备配网】:通过硬件对接,连接到网关,接入网络。
【设备绑定】:通过接入网关 绑定到用户下。
【设备控制】:无任何控制。
【接口需求】:
(1)订阅设备告警接口,比如上线/下线。
(2)设备列表获取接口,设备列表信息包括设备的状态信息。或者提供单独的获取设备详细信息的接口。
(3)设备检测数据获取接口,获取设备当前检测结果数据。
【主要产品】:温湿度检测器、光强检测器
- 电器开关
【设备配网】:通过硬件对接,连接到网关,接入网络。
【设备绑定】:通过接入网关 绑定到用户下。
【设备控制】:控制开关的打开/关闭
【接口需求】:
(1)订阅设备告警接口,比如上线/下线。
(2)设备列表获取接口,设备列表信息包括设备的状态信息。或者提供单独的获取设备详细信息的接口。
(3)设备检测数据获取接口,获取设备当前检测结果数据。
【主要产品】:温湿度检测器、光强检测器
#### 物联设备模型
#### 测试结果记录
|接口|说明|测试结果|
|-|-|-|
|AccessToken接口|获取access_token: <br>/sso/partner/tokens, POST method|测试通过|
|用户接口|三方系统的用户创建/更新/查看/删除|物联没有这类接口|
|设备配网|无线联网设备的配网SDK接口|物联所有设备都是通过连接到网关设备,来接入互联网。网关设备通过有线联网,因此无需配网|
|网关设备添加/删除|网关设备添加:<br>/iot/v2/partners/devices, POST method<br>网关设备删除:<br>/iot/v2/partners/devices/{deviceId}, DELETE method|测试通过|
|用户设备列表获取|(1)获取用户网关设备列表, 返回数据包括设备状态<br>/iot/v2/partners/devices, GET method(2)获取网关设备下子设备列表,返回数据包括设备状态<br>/iot/v2/partners/target-devices, GET method|测试通过|
|设备上线/下线告警消息订阅||测试通过|
|安防设备告警消息订阅||测试通过|
|环境检测设备 检测数据获取接口||未找到接口|
|电器开关设备 控制设备开关打开/关闭接口||测试成功|
|电器开关设备 主动获取开关状态接口||测试成功|
#### 问题:
- 通过HTTP API 修改网关设备密码/名称。MQTT侧收消息回复修改不成功。是不是HTTP API无法修改设备名称/密码
- 温湿度/光强检测器 是否有HTTP API主动获取温湿度/光强数据,或者检测器是按照一定时间间隔上传数据?
- 下面这两个cmd,文档查不到对应的描述,但MQTT侧会收到,是否有补充文档。
```
{"appID":"422df5deb1604b14a9587e0433577d537c87c201","cmd":"528","gwID":"ME01122084D","userID":"7990975c5e884d5792db2274e555eb34"}
{"cloneFlag":0,"gwChannel":25,"bn":"gw9110","userID":"7990975c5e884d5792db2274e555eb34","gwName":"","master":0,"mode":0,"gwVer":"7.02.062","gwType":"GW01","zone":"Asia/Shanghai","appID":"422df5deb1604b14a9587e0433577d537c87c201","localIP":"10.200.24.19","zigbeeType":0,"ledSwitch":1,"cmd":"512","gwID":"ME01122084D","masterGw":""}
```
#### 数据日志:
- 获取两路开关 状态接口测试成功
- 控制两路开关 打开/关闭成功
-
```
{
"data":{
"devices":[
{"bindType":0,"deviceId":"25EFF70F004B1200","deviceType":"62","name":"#$default$#","room":{},"status":1,"topDeviceId":"ME01122084D"},
{"bindType":0,"deviceId":"80EBDC14004B1200","deviceType":"02","name":"#$default$#","room":{},"status":1,"topDeviceId":"ME01122084D"},
{"bindType":0,"deviceId":"C991DE14004B1200","deviceType":"19","name":"#$default$#","room":{},"status":1,"topDeviceId":"ME01122084D"},
{"bindType":0,"deviceId":"D6E76B0F004B1200","deviceType":"17","name":"#$default$#","room":{},"status":1,"topDeviceId":"ME01122084D"}
]
},
"requestId":"trpbwftwweeukzwa",
"resultCode":"0",
"resultDesc":"success"
}
```
```
# 查询开关状态
{"devID":"25EFF70F004B1200","mode":0,"endpoints":[{"endpointType":2,"endpointNumber":2,"endpointStatus":"1","endpointName":"","clusters":[{"attributes":[{"attributeId":0,"attributeValue":"0"}],"clusterId":6}]}],"name":"#$default$#","cmd":"500","gwID":"ME01122084D","time":"1597222493240","type":"62","gwName":""}
{"devID":"25EFF70F004B1200","mode":0,"endpoints":[{"endpointType":2,"endpointNumber":1,"endpointStatus":"1","endpointName":"","clusters":[{"attributes":[{"attributeId":0,"attributeValue":"0"}],"clusterId":6}]}],"name":"#$default$#","cmd":"500","gwID":"ME01122084D","time":"1597222493239","type":"62","gwName":""}
# 打开开关
{"devID":"25EFF70F004B1200","mode":0,"endpoints":[{"endpointType":2,"endpointNumber":1,"endpointStatus":"1","endpointName":"","clusters":[{"attributes":[{"attributeId":0,"attributeValue":"1"}],"clusterId":6}]}],"name":"#$default$#","messageCode":"0106012","cmd":"500","gwID":"ME01122084D","time":"1597223075002","type":"62","gwName":""}
# 关闭开关
{"devID":"25EFF70F004B1200","mode":0,"endpoints":[{"endpointType":2,"endpointNumber":1,"endpointStatus":"1","endpointName":"","clusters":[{"attributes":[{"attributeId":0,"attributeValue":"0"}],"clusterId":6}]}],"name":"#$default$#","messageCode":"0106022","cmd":"500","gwID":"ME01122084D","time":"1597224075209","type":"62","gwName":""}
```
```
# 通过MQTT接口控制开关 打开/关闭
```
```
# 红外入侵传感器
# 告警
{"devID":"80EBDC14004B1200","mode":0,"endpoints":[{"endpointType":1026,"endpointNumber":1,"endpointStatus":"0","endpointName":"","clusters":[{"attributes":[{"attributeId":2,"attributeValue":"1"}],"clusterId":1280}]}],"name":"#$default$#","cmd":"500","gwID":"ME01122084D","time":"1597225653403","type":"02","gwName":""}
# 消警
{"devID":"80EBDC14004B1200","mode":0,"endpoints":[{"endpointType":1026,"endpointNumber":1,"endpointStatus":"0","endpointName":"","clusters":[{"attributes":[{"attributeId":2,"attributeValue":"0"}],"clusterId":1280}]}],"name":"#$default$#","cmd":"500","gwID":"ME01122084D","time":"1597225657404","type":"02","gwName":""}
```
```
# 光强探测器
{"devID":"C991DE14004B1200","mode":0,"endpoints":[{"endpointType":262,"endpointNumber":1,"endpointStatus":"1","endpointName":"","clusters":[{"attributes":[{"attributeId":32773,"attributeValue":"93"}],"clusterId":2048}]}],"name":"#$default$#","cmd":"500","gwID":"ME01122084D","time":"1597225375956","type":"19","gwName":""}
```
```
# 温度湿度传感器
{"devID":"D6E76B0F004B1200","mode":0,"endpoints":[{"endpointType":770,"endpointNumber":1,"endpointStatus":"1","endpointName":"","clusters":[{"attributes":[{"attributeId":0,"attributeValue":"24.3"}],"clusterId":1026}]},{"endpointType":770,"endpointNumber":2,"endpointStatus":"1","endpointName":"","clusters":[{"attributes":[{"attributeId":0,"attributeValue":"69.9"}],"clusterId":1029}]}],"name":"#$default$#","cmd":"500","gwID":"ME01122084D","time":"1597227898115","type":"17","gwName":""}
```
```
# MQTT Publish:
# 获取网关下设备列表
topic = "wl/partner/" + partnerId + "/" + open_id + "/req"
payload_data = { "cmd":"510", "gwID":"ME01122084D", "mode":0 }
# 返回结果例子
{
"mode":1,
"traceId":"",
"devCount":4,
"data":["25EFF70F004B1200","80EBDC14004B1200","C991DE14004B1200","D6E76B0F004B1200"],
"appID":"",
"cmd":"510",
"gwID":"ME01122084D",
"time":"1597308176057","userID":"7c0b02c8e64c44daafb0e5e723cdb346","reqId":""
}
# 获取网关信息
topic = "wl/partner/" + partnerId + "/" + open_id + "/req"
payload_data = { "cmd":"512", "gwID":"ME01122084D", "mode":0 }
# 返回结果
{
"cloneFlag":0,
"gwChannel":25,
"bn":"gw9110",
"gwName":"",
"master":0,
"mode":0,
"gwVer":"7.02.062",
"gwType":"GW01",
"zone":"Asia/Shanghai",
"localIP":"10.200.24.19",
"zigbeeType":0,
"ledSwitch":1,
"cmd":"512",
"gwID":"ME01122084D",
"masterGw":""
}
```
```
# HTTP方式,获取用户下的GW设备列表
{
"data":{
"boundDevices":[
{
"adminFlag":"1",
"deviceId":"ME0112147F1",
"hostFlag":"",
"loginFlag":1,
"name":"",
"password":"d90508054fcfed4912be7640c5961c6c",
"passwordStatus":0,
"relationFlag":1,
"relationStatus":1,
"softVersion":"7.02.063",
"state":"1",
"type":"GW01"
}
],
"grantDevices":[]
},
"requestId":"agborakghpwrualb",
"resultCode":"0",
"resultDesc":"success"
}
```
```
# HTTP方式 获取用户GW设备下的子设备列表
{
"data":{
"devices":[
{"bindType":0,"deviceId":"0C36A305004B1200","deviceType":"61","name":"Outdoor switch","room":{"roomId":"1"},"status":1,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"11E2DA14004B1200","deviceType":"43","name":"#$default$#","room":{"roomId":"1"},"status":0,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"1BF6AD05004B1200","deviceType":"61","name":"Office switch","room":{"roomId":"1"},"status":1,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"20B2F70F004B1200","deviceType":"22","name":"#$default$#","room":{},"status":1,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"281D261B004B1200","deviceType":"01","name":"#$default$#","room":{"roomId":"1"},"status":1,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"584EAB1A004B1200","deviceType":"17","name":"#$default$#","room":{"roomId":"1"},"status":1,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"58E2DC14004B1200","deviceType":"02","name":"#$default$#","room":{},"status":1,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"9336981B004B1200","deviceType":"37","name":"#$default$#","room":{"roomId":"1"},"status":1,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"BCACDE14004B1200","deviceType":"19","name":"#$default$#","room":{},"status":1,"topDeviceId":"ME0112147F1"},
{"bindType":0,"deviceId":"ECD85316004B1200","deviceType":"Aj","name":"#$default$#","room":{"roomId":"1"},"status":1,"topDeviceId":"ME0112147F1"}
]
},
"requestId":"kxyljaqyqlvooyiy",
"resultCode":"0",
"resultDesc":"success"
}
```