V2.5 Replace DPS Device


替换 DPS 设备。将原设备的主数据、创建批次标签和设备描述复制到指定的新设备上,并将原设备删除。


使用此 API 前,确保已安装 EnOS 2.4 CU2 或更新版本。

前提条件

确保已在 EnOS 管理控制台 中为 DPS 设备创建了主数据组和注册组。

请求格式

POST https://{apigw-address}/dps-service/v2.5/pvs/device?action=replace

请求参数(URI)

名称 位置(Path/Query) 必需/可选 数据类型 描述
orgId Query 必需 String 设备所属的组织 ID。如何获取 orgId 信息>>

请求参数(Body)

名称 必需/可选 数据类型 描述
sn 必需 String 原设备的 SN 号,由系统生成,环境内唯一。
replacementSn 必需 String 新设备的 SN 号,由系统生成,环境内唯一。注意新旧设备必须属于同一注册组,且新设备不可处于已分配状态。

响应参数

名称 数据类型 描述
data PvsDevice 结构体 DPS 设备的信息。更多信息,参见 PvsDevice 结构体

PvsDevice 结构体

名称 数据类型 描述
sn String 系统生成的设备 SN 号,环境内唯一。
groupId String 注册组 ID。
regionId String 设备被分配至的 region ID。
orgId String 设备被分配至的组织 ID。
productKey String 设备在 EnOS 管理控制台 中对应的 product key。
batchOrder Integer 设备创建批次编号。
batchTag StringI18n 设备创建批次标签。国际化名称表示方法 >>
deviceData Map 设备主数据。
desc String 设备描述。
status PvsDeviceStatus 结构体 设备当前状态。更多信息,参见 PvsDeviceStatus 结构体
reprovisioning Boolean
  • true:当前设备被重置。
  • false:当前设备未被重置。
allocateErrorMsg String 设备上一次的分配失败信息。
createBy String 创建人的用户 ID。
createTime Long 设备的创建时间。
updateBy String 更新人的用户 ID。
updateTime Long 设备的修改时间。
manufacturerOrgId String 设备预注册的组织 ID。
connectStatus String 设备的连接状态,包含 initconnectedfailed
allocateStatus String 设备的分配状态,包含 initallocated

PvsDeviceStatus 结构体

名称 数据类型 描述
currentStatus String 设备当前状态,包含 initallocatedconnectedfinisheddiscarded
connectedTime Long 设备的连接时间。
allocatedTime Long 设备的分配时间。
finishedTime Long 设备激活完成的时间。
discardedTime Long 设备废弃的时间。

错误码

代码 错误信息 描述
35400 OrgId/Sn is required 组织 ID 或设备创建信息为空/不合法。
35400 Target device and replacement device should belong to the same group 新旧设备必须属于同一注册组。
35404 Sn not found 设备 SN 号不存在。
35603 Replacement device is allocated 新设备处于已分配状态。

示例

请求示例

url: https://{apigw-address}/dps-service/v2.5/pvs/device?action=replace&orgId=yourOrgId
method: POST
requestBody:
{
    "sn": "existingSn",
    "replacementSn" : "newSn"
}

返回示例

{
  "code": 0,
  "msg": "OK",
  "requestId": "96f072bf-27d6-4c1d-b4a1-5df4e6367ad8",
  "data": {
    "sn": "existingSn",
    "groupId": "groupId",
    "regionId": "regionId",
    "orgId": "yourorgId",
    "productKey": "productKey",
    "batchOrder": 3,
    "batchTag": {
      "defaultValue": "tag1",
      "i18nValue": {}
    },
    "deviceData": {
      "date": "2022-10-26",
      "energyType": "steam",
      "accessCapacity": null,
      "regionId": "regionId",
      "timezone": "+09:00",
      "assetId": "assetId",
      "energyUseLink": "consumption",
      "isDtu": null,
      "deviceSn": "existingDeviceSn",
      "deviceName": {
        "i18nValue": {}
      },
      "orgId": "yourorgId",
      "isDtuSub": null
    },
    "desc": "test",
    "status": {
      "currentStatus": "allocated",
      "connectedTime": null,
      "allocatedTime": 1666847119072,
      "finishedTime": null,
      "discardedTime": null
    },
    "reprovisioning": false,
    "allocateErrorMsg": null,
    "createBy": null,
    "createTime": 1666846864447,
    "updateBy": null,
    "updateTime": 1666846864447,
    "connectStatus": "init",
    "allocateStatus": "allocated"
  }
}