物联接口测试情况

## 物联接口测试情况: #### 物联设备类型 - 告警(安防)类设备: 【设备配网】:通过硬件对接,连接到网关,接入网络。 【设备绑定】:通过接入网关 绑定到用户下。 【设备控制】:无任何控制。 【接口需求】: (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" } ```