典型场景

已在物联网平台注册的设备,第三方应用若需要根据条件查看多个设备的详细信息(如厂商、型号、版本、状态和服务属性等信息),可调用此接口在物联网平台查询获取。

接口功能

支持第三方应用在物联网平台根据条件查询多个设备的详细信息,包括配置信息、状态信息、服务属性信息等。

接口描述

  1. Data::queryBatchDevicesInfo($queryBatchDevicesInfoArray);

接口所属类

  1. iotyun\huaweiiot\Data;

参数说明

  1. $queryBatchDevicesInfoArray = array(
  2. 'accessToken' => '你系统存储的accessToken',
  3. 'qbdiInArray' => array(
  4. 'pageNo' => '',
  5. 'pageSize' => '',
  6. 'appId' => '',
  7. 'gatewayId' => '',
  8. 'nodeType' => '',
  9. 'deviceType' => '',
  10. 'deviceType' => '',
  11. 'status' => '',
  12. 'startTime' => '',
  13. 'endTime' => '',
  14. 'sort' => '',
  15. 'select' => '',
  16. 'name' => '',
  17. )
  18. );
参数 必选/可选 类型 描述
qbdiInArray 必选 array 见下表qbdiInArray的描述。
accessToken 必选 String 您当前有效的accessToken。

qbdiInArray

参数 必选/可选 类型 描述
appId 必选 String 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。
gatewayId 可选 String 网关ID,用于标识一个网关设备。
nodeType 可选 String 节点类型,取值:ENDPOINT/GATEWAY/UNKNOW。
deviceType 可选 String 设备类型。
pageNo 可选 Integer 查询的页码。
- 值为空时查询内容不分页
- 值大于等于0的整数时分页查询
- 值等于0时查询第一页
pageSize 可选 Integer 查询每页信息的数量, 缺省值:1。
status 可选 String 查询设备的状态。
- ONLINE:在线
- OFFLINE:不在线
- ABNORMAL:异常状态
startTime 可选 String 查询注册设备信息时间在startTime之后的记录。时间格式:yyyyMMdd’T’HHmmss’Z’,如 20151212T121212Z。
endTime 可选 String 查询注册设备信息时间在endTime之前的记录。时间格式:yyyyMMdd’T’HHmmss’Z’,如 20151212T121212Z。
sort 可选 String 指定返回记录的排序。
- ASC:按注册设备的时间升序排列
- DESC:按注册设备的时间降序排列

缺省值:DESC。 | | select | 可选 | String | 指定返回记录,可取值:imsi。 | | name | 可选 | String | 设备名称。 |

响应参数

QueryBatchDevicesInfoOutDTO

参数 类型 描述
totalCount long 查询的记录数量。
pageNo long 查询的页码。
pageSize long 查询每页信息的数量。
devices List< QuerySingleDeviceInfoOutDTO> 设备分页列表信息,具体参见QuerySingleDeviceInfoOutDTO结构体。

QuerySingleDeviceInfoOutDTO结构体说明:

参数 类型 描述
deviceId String(256) 设备ID,用于唯一标识一个设备。
gatewayId String(256) 网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。
nodeType Enum 节点类型,取值:ENDPOINT/GATEWAY/UNKNOW。
createTime String(256) 创建设备的时间,时间格式:yyyyMMdd’T’HHmmss’Z’,如20151212T121212Z。
lastModifiedTime String(256) 最后修改设备的时间。
deviceInfo DeviceInfoQueryDTO 设备信息,具体参见DeviceInfo结构体
services List 设备服务列表,具体参见DeviceService结构体

DeviceInfo结构体说明:

参数 类型 描述
nodeId String(256) 标识设备的唯一ID。
name String(256) 设备名称。
description String(2048) 设备的描述信息。
manufacturerId String(256) 厂商ID,唯一标识一个厂商。
manufacturerName String(256) 厂商名称。
mac String(256) 设备的MAC地址。
location String(2048) 设备的位置信息。
deviceType String(256) 设备类型,大驼峰命名方式,如MultiSensor、ContactSensor、CameraGateway。
model String(256) 设备的型号。
Z-Wave:ProductType + ProductId,16 进制格式 XXXX-XXXX 补0对齐,如:001A-0A12,其他协议的格式待定。
swVersion String(256) 设备的软件版本。
Z-Wave:主版本号.次版本号,如:1.1。
fwVersion String(256) 设备的固件版本。
hwVersion String(256) 设备的硬件版本。
protocolType String(256) 设备使用的协议类型,当前支持的协议类型:CoAP,huaweiM2M,Z-Wave,ONVIF,WPS,Hue,WiFi,J808,Gateway,ZigBee,LWM2M。
bridgeId String(256) Bridge标识,表示设备通过哪个Bridge接入物联网平台。
status String 设备的状态,表示设备是否在线,取值范围:ONLINE、OFFLINE、ABNORMAL。
statusDetail String(256) 设备的状态详情,跟status取值对应,取值查看status和statusDetail
mute String 表示设备是否处于冻结状态,即设备上报数据时,平台是否会管理和保存。
- TRUE:冻结状态
- FALSE:非冻结状态
supportedSecurity String 表示设备是否支持安全模式。
- TRUE:支持安全模式
- FALSE:不支持安全模式
isSecurity String 表示设备当前是否启用安全模式。
- TRUE:启用
- FALSE:未启用
signalStrength String(256) 设备的信号强度。
sigVersion String(256) 设备的sig版本。
serialNumber String(256) 设备的序列号。
batteryLevel String(256) 设备的电池电量。

status和statusDetail:

status statusDetail
OFFLINE NONE CONFIGURATION_PENDING
ONLINE NONE COMMUNICATION_ERROR CONFIGURATION_ERROR BRIDGE_OFFLINE FIRMWARE_UPDATING DUTY_CYCLE NOT_ACTIVE

批量查询设备信息 - 图1说明:
设备向物联网平台上报设备状态时需要status、statusDetail成对上报。statusDetail建议仅用作显示,不建议用于逻辑判断。

DeviceService结构体说明:

参数 类型 描述
serviceId String(256) 设备的服务标识。
serviceType String(256) 设备的服务类型。
serviceInfo ServiceInfo 屏蔽的设备服务信息,具体参见ServiceInfo结构体
data ObjectNode(2097152) 属性值对(Attribute-value pair)。
eventTime String(256) 时间格式:yyyyMMdd’T’HHmmss’Z’,如20151212T121212Z。

ServiceInfo结构体说明:

参数 类型 描述
muteCmds List 屏蔽的设备控制命令列表。

错误码

Http状态码 错误码 错误描述 说明
400 100216 The application input is invalid. 应用输入无效。
处理建议:请参考请求参数说明检查接口请求中的参数是否有误。
400 100218 The gatewayId and pageNo can’t be both null. 网关ID和pageNo不能同时为空。
处理建议:请检查请求参数中gatewayId或pageNo是否填写。
400 100405 The request parameter is invalid. 请求参数不合法。
处理建议:请参考请求参数说明检查接口请求中的参数是否有误。
403 100203 The application is not existed. 应用不存在。
处理建议:
- 请检查HTTP请求头域中携带的appId是否有误。
- 请检查请求路径(url)中传入的appId是否有误。
403 100217 The application hasn’t been authorized. 应用未被授权。
处理建议:若非应用授权场景,请确认请求参数中的appId为空。
403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。
处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。
403 1010005 Invalid access token or appId. 错误的token信息。
处理建议:请检查接口请求中所携带的accessToken是否有误。
500 100203 The application is not existed. 应用不存在。
处理建议:
- 请检查HTTP请求头域中携带的appId是否有误。
- 请检查请求路径(url)中传入的appId是否有误。
500 50252 Internal server error. 服务器运行内部错误。
处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。