V2.4 Modify Device Status


修改设备状态。

支持修改状态为 未激活离线 的设备。设备的状态应以 EnOS 实际连接状态为准,例如,使用此 API 修改一个 离线 状态的设备为 在线,将导致该设备在页面显示状态为 在线,而实际处于离线状态,此时可以通过此 API 修改该设备状态。


使用此 API 前,确保已安装 EnOS 2.4.4 及以上版本。

操作权限


使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号


需授权的服务

所需操作权限

设备管理服务

Full Access

前提条件


  • 确保已创建所需设备。

  • 确保已阅读设备相关的 使用限制

请求格式


POST https://{apigw-address}/connect-service/v2.4/devices?action=modifyDeviceStatus

请求参数(URI)


名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的组织 ID。如何获取 orgId 信息>>

请求参数(Body)


备注

以下非必需字段中,必须提供 assetId,或提供 productKeydeviceKey 的组合,用于指定设备。


名称

必需/可选

数据类型

描述

status

必需

Enum

设备的状态。有效取值为:inactiveonlineoffline

assetId

可选

String

资产 ID。如何获取 assetId 信息>>

productKey

可选

String

Product Key。需要与 deviceKey 一起使用。如何获取设备的 productKey 信息>>

deviceKey

可选

String

Device Key。需要与 productKey 一起使用。如何获取设备的 deviceKey 信息>>

错误码


代码

错误信息

描述

11404

Device cannot be found

该设备不存在。

99400

Invalid arguments: Device information is invalid.

请求参数中的设备信息不符合规范。需提供 assetId,或提供 productKey + deviceKey

99400

Invalid arguments: Status {status} is not allowed to be modified.

不支持修改为请求中设置的状态。

99400

Invalid arguments: Unable to modify status as the device is currently connected to EnOS.

设备此时已连接至 EnOS,无法修改状态。如有需要,可以先关闭设备连接。

99400

Invalid arguments: Unable to modify status for mirrored devices.

无法修改镜像状态的设备。

99400

Invalid arguments: Unable to modify status for disabled devices.

无法修改禁用状态的设备。

示例

请求示例


url:https://{apigw-address}/connect-service/v2.4/devices?action=modifyDeviceStatus&orgId=yourordId
method: POST
requestBody:
{
    "assetId":"yourassetId",
    "status":"offline"
}

返回示例


{
    "code":0,
    "msg":"OK",
    "requestId":"fd79d0f5-69c5-4fa8-add4-69f5ca1b635f",
    "data":null
}

SDK 示例


你可以在 Github 上获取接入服务的 SDK 示例: