典型场景

第三方应用若需要了解设备可上报哪些服务属性数据,以及设备支持下发哪些命令,可调用此接口在物联网平台查询设备的Profile文件中定义的设备服务能力信息。

接口功能

支持第三方应用在物联网平台查询设备的服务属性、设备命令等服务能力信息。

接口描述

  1. Data::queryDeviceCapabilities($queryDeviceCapabilitiesArray);

接口所属类

  1. iotyun\huaweiiot\Data;

参数说明

  1. $queryDeviceCapabilitiesArray = array(
  2. 'accessToken' => '你系统存储的accessToken',
  3. 'qdcInArray' => array(
  4. 'gatewayId' => '',
  5. 'appId' => '',
  6. 'deviceId' => ''
  7. )
  8. );
参数 必选/可选 类型 描述
qdcInArray 必选 Array 见下表qdcInArray的描述。
accessToken 必选 String 您当前有效的accessToken。

qdcInArray

参数 是否必须 类型 描述
gatewayId 可选 String 网关ID,用于标识一个网关设备。
appId 必选 String 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。
deviceId 可选 String 设备ID,用于唯一标识一个设备。

响应参数

QueryDeviceCapabilitiesOutDTO

参数 类型 描述
deviceCapabilities List 查询结果列表,具体参见DeviceCapabilityDTO结构体

DeviceCapabilityDTO结构体说明:

参数 类型 描述
deviceId String(256) 设备ID,用于唯一标识一个设备。
serviceCapabilities List 设备的服务能力列表,具体参见ServiceCapabilityDTO结构体

ServiceCapabilityDTO结构体说明:

参数 类型 描述
serviceId String(256) 设备的服务标识。
serviceType String(256) 设备的服务类型。
option String(256) 服务选项。
description String(10240) 设备服务描述信息。
commands List 支持的命令名称列表,具体参见ServiceCommand结构体
properties List 支持的属性名称列表,具体参见ServiceProperty结构体

ServiceCommand结构体说明:

参数 类型 描述
commandName String(256) 命令名称。
paras List 属性列表,具体参见ServiceCommandPara结构体
responses List 响应列表,具体参见ServiceCommandResponse结构体

ServiceCommandPara结构体说明:

参数 类型 描述
paraName String(256) 参数名称。
dataType String(256) 数据类型。
required Boolean 是否必选。
min String 属性最小值。
max String 属性最大值。
step Double 步长。
maxLength Integer 最大长度。
unit String 单位(符号)。
enumList List 枚举类型列表。

ServiceCommandResponse结构体说明:

参数 类型 描述
responseName String(256) 响应名称。
paras List 属性列表,具体参见ServiceCommandPara结构体

ServiceProperty结构体说明:

参数 类型 描述
propertyName String(256) 属性名称。
dataType String(256) 数据类型。
required Boolean 是否必选。
min String 属性最小值。
max String 属性最大值。
step Double 步长。
maxLength Integer 最大长度。
method String(256) 访问方法。
- R:可读
- W:可写
- E:可观察
unit String 单位(符号)。
enumList List 枚举类型列表。

错误码

Http状态码 错误码 错误描述 说明
400 100022 The input 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. 服务器运行内部错误。
处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。