典型场景

第三方应用通过“注册设备”接口在物联网平台注册设备后,在设备首次接入平台之前,设备的激活状态为false;当设备首次接入平台后,设备的激活状态为true(无论设备接入后是处于在线、离线或异常状态)。第三方应用可调用此接口查询设备在物联网平台的激活状态,确定设备是否已接入平台。

接口功能

支持第三方应用通过设备ID查询设备在物联网平台的激活状态,确认设备是否已接入平台。

接口描述

  1. Device::queryDeviceStatus($queryDeviceStatusArray);

接口所属类

  1. iotyun\huaweiiot\Device;

参数说明

  1. $refreshDeviceKeyarray = array(
  2. 'platformIp' => '平台IP或者域名',
  3. 'platformPort' => '平台端口',
  4. 'appId' => '应用appId',
  5. 'accessToken' => '你系统存储的accessToken',
  6. 'deviceId' => '您的设备ID'
  7. );
参数 必选/可选 类型 描述
platformIp 必选 String(256) 物联网平台的IP或者域名。
platformPort 必选 String(256) 物联网平台的端口。
deviceId 必选 String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。
appId 必选 String 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。
accessToken 必选 String 您当前有效的accessToken。

返回值

QueryDeviceStatusOutDTO

参数 类型 描述
deviceId String(256) 设备ID,用于唯一标识一个设备。
activated Boolean 激活状态,设备是否通过验证码获取密码的状态标识。
- true:已激活
- false:未激活
name String(256) 设备名称。

错误码

Http状态码 错误码 错误描述 说明
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是否有误。
500 100203 The application is not existed. 应用不存在。
处理建议:
- 请检查HTTP请求头域中携带的appId是否有误。
- 请检查请求路径(url)中传入的appId是否有误。
500 50252 Internal server error. 服务器运行内部错误。
处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。

现存问题

查询设备状态应返回的name无法获取到,暂时不知道是平台没有返回还是SDK有问题,待增加日志功能后验证!