典型场景
已在物联网平台注册的设备,第三方应用若需要查看某个设备的详细信息(如厂商、型号、版本、状态和服务属性等信息),可调用此接口在物联网平台查询获取。
接口功能
支持第三方应用在物联网平台根据设备ID查询指定设备的详细信息,包括配置信息、状态信息、服务属性信息等。
接口描述
Data::querySingleDeviceInfo(array $querySingleDeviceInfoArray);
接口所属类
iotyun\huaweiiot\Data;
参数说明
$querySingleDeviceInfoArray = array('accessToken' => '你系统存储的accessToken','appId' => '','deviceId' => '','select' => '');
| 参数 | 必选/可选 | 类型 | 描述 |
|---|---|---|---|
| deviceId | 必选 | String | 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| select | 可选 | String | 指定查询条件,可选值:imsi。 |
| appId | 必选 | String | 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。 |
| accessToken | 必选 | String | 您当前有效的accessToken。 |
响应参数
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 | DeviceInfo | 设备信息,具体参见DeviceInfo结构体。 |
| services | List |
设备服务列表,具体参见DeviceService结构体。 |
DeviceInfo结构体说明:
| 参数 | 类型 | 描述 |
|---|---|---|
| nodeId | String(256) | 设备的唯一标识。 |
| 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 |
说明:
设备向物联网平台上报设备状态时需要status、statusDetail成对上报。statusDetail建议仅用作显示,不建议用于逻辑判断。
DeviceService结构体说明:
| 参数 | 类型 | 描述 |
|---|---|---|
| serviceId | String(256) | 设备的服务标识。 |
| serviceType | String(256) | 设备的服务类型。 |
| serviceInfo | ServiceInfo | 屏蔽的设备服务信息,具体参见ServiceInfo结构体。 |
| data | ObjectNode(2097152) | 属性值对。 |
| eventTime | String(256) | 时间格式:yyyyMMdd’T’HHmmss’Z’,如20151212T121212Z。 |
ServiceInfo结构体说明:
| 参数 | 类型 | 描述 |
|---|---|---|
| muteCmds | List |
屏蔽的设备控制命令列表。 |
错误码
| Http状态码 | 错误码 | 错误描述 | 说明 |
|---|---|---|---|
| 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是否有误。 |
| 404 | 100403 | The device is not existed. | 设备不存在。 处理建议:物联网平台未找到deviceId对应的设备,请检查deviceId是否有误。 |
| 404 | 100418 | The deviceData is not existed. | 设备信息不存在。 处理建议: - 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。 - Header中携带的appId有误,请确认该appId下是否有该deviceId。 - 如果URL中携带了可选参数appId,请检查该appId是否有误。 |
| 500 | 100203 | The application is not existed. | 应用不存在。 处理建议: - 请检查HTTP请求头域中携带的appId是否有误。 - 请检查请求路径(url)中传入的appId是否有误。 |
| 500 | 50252 | Internal server error. | 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 |
