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"
  }
}