典型场景
第三方应用通过“注册设备”接口在物联网平台注册设备后,在设备首次接入平台之前,设备的激活状态为false;当设备首次接入平台后,设备的激活状态为true(无论设备接入后是处于在线、离线或异常状态)。第三方应用可调用此接口查询设备在物联网平台的激活状态,确定设备是否已接入平台。
接口功能
支持第三方应用通过设备ID查询设备在物联网平台的激活状态,确认设备是否已接入平台。
接口描述
Device::queryDeviceStatus($queryDeviceStatusArray);
接口所属类
iotyun\huaweiiot\Device;
参数说明
$refreshDeviceKeyarray = array('platformIp' => '平台IP或者域名','platformPort' => '平台端口','appId' => '应用appId','accessToken' => '你系统存储的accessToken','deviceId' => '您的设备ID');
| 参数 | 必选/可选 | 类型 | 描述 |
|---|---|---|---|
| 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有问题,待增加日志功能后验证!
