设备同位替换

更新时间:2023-04-26 09:21:22下载pdf

设备同位替换 是涂鸦商照系统推出的一项增值服务,帮助您将故障设备的配置信息,一键复制到替换后的新设备上。设备同位替换 支持网关替换和子设备替换,降低您的维修成本。同时,免除了您在将新设备重新逐个加入原有群组、场景、自动化等的耗时操作。

API 列表

请求方式 API 描述
GET /v1.0/illumination/devices/{devId}/replaceability 设备是否支持同位替换
GET /v1.0/illumination/devices/{devId}/replacements 项目下可替换设备列表
POST /v1.0/illumination/device/replace/record 新增设备同位替换任务
POST /v1.0/illumination/device/replace/record/retry 重试设备替换任务
GET /v1.0/illumination/device/replace/records 查询设备同位替换记录
POST /v1.0/illumination/device/gateway/copy 网关复制
GET /v1.0/illumination/devices/gateway-copy-info/{taskId} 网关复制信息

设备是否支持同位替换

功能描述

查询设备是否支持同位替换功能。

接口地址

GET /v1.0/illumination/devices/{devId}/replaceability

请求参数

参数名 类型 参数类型 说明 是否必需
devId String url 设备 ID true

返回参数

参数名 类型 说明
code Integer 响应码,详情请参考 错误码 章节,成功时为空
success Boolean 是否成功:
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

boolean{}

请求示例

/v1.0/illumination/devices/6cf53c7c494801bf72acch/replaceability

响应示例

{
    "result": true,
    "success": true,
    "t": 1681959047638,
    "tid": "26d4d5c8df2611edad582a6c806b923a"
}

项目下可替换设备列表

功能描述

查询项目下可替换此设备的设备列表。

接口地址

GET /v1.0/illumination/devices/{devId}/replacements

请求参数

参数名 类型 参数类型 说明 是否必需
page int body 页码参数 false
pageSize int body 每页记录数量 false
devId String url 设备 ID false
replaceType int body 替换类型
  • 1:单品设备
  • 2:同网关子设备
  • 3:远程子设备
false
gatewayId String body 网关 ID false
roomId String body 空间检索 false

返回参数

参数名 类型 说明
code Integer 响应码,详情请参考 错误码 章节,成功时为空
success Boolean 是否成功:
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

{
  "total": "int",
  "list": [
    {
      "device_id": "String //设备 ID,和硬件设备一一对应,由于设备重新绑定点位,导致在这里不唯一",
      "device_name": "String //设备名称",
      "device_type": "String //设备类型,详见 DeviceTypeEnum",
      "device_type_value": "int //设备类型,详见 DeviceTypeEnum",
      "top_category": "String //产品所属大级分类。     详见 ProductCategoryEnum 的类型说明",
      "capability": "String //设备能力,通过 / 分割",
      "device_power": "double //设备功率",
      "device_status": "String //设备状态,详见 DeviceAlarmTypeEnum",
      "device_statuses": "String[] //设备状态,详见 AlarmTypeEnum",
      "install_time": "long //设备安装时间",
      "active_time": "long //设备活跃时间",
      "product_id": "String //设备品类(产品)ID",
      "project_id": "String //项目 ID",
      "room_id": "String //设备所属房间 ID",
      "room_name": "String //设备所属房间名称",
      "point_id": "String //设备所在点位 ID",
      "owner_id": "String //所属设备家庭组 ID",
      "category": "String //产品所属二级分类",
      "icon_url": "String //设备图标",
      "uuid": "String //设备 uuid",
      "category_code": "String //产品所属三级分类",
      "uid": "String //用户 ID",
      "model": "String //产品型号",
      "device_mac": "String //mac 地址",
      "is_online": "boolean //是否在线",
      "space_name": "String //空间"
    }
  ]
}

请求示例

{
  "devId":"6cf53c7c494801bf72acch",
  "pageSize": "100",
  "replaceType": "1",
  "page": "1"
}

响应示例

{
    "result": {
        "list": [
            {
                "capability": "bluetooth/wifi",
                "category": "dj",
                "categoryCode": "wf_ble_dj",
                "currentBrightness": 0,
                "deviceId": "6c2757f2ec27f1dc93gclt",
                "deviceMac": "",
                "deviceName": "测试 2",
                "devicePower": 0,
                "deviceSaasId": "sa43836406370314240",
                "deviceType": "0",
                "id": 2114387,
                "online": true,
                "ownerId": "59457509",
                "pointId": "1648880505556303873",
                "productId": "naw6qa0nhwyfxzkt",
                "projectId": "1541976932755718144",
                "roomId": "1559640253681721",
                "topCategory": "zm",
                "uuid": "40505411da38feb1"
            }
        ],
        "total": 1
    },
    "success": true,
    "t": 1681960641878,
    "tid": "dd394ba8df2911edad582a6c806b923a"
}

新增设备同位替换任务

功能描述

新增一个设备同位替换任务。

接口地址

POST /v1.0/illumination/device/replace/record

请求参数

参数名 类型 参数类型 说明 是否必需
projectId String body 项目 ID false
oldRoomId String body 被替换设备空间 ID false
oldDeviceId String body 被替换设备 ID false
newDeviceId String body 新替换设备 ID false
newRoomId String body 新替换设备空间 ID false
replaceType int body 替换类型
  • 1:单品设备替换
  • 2:同网关替换
  • 3:远程网关替换
false
taskId String body 任务 ID false

返回参数

参数名 类型 说明
code Integer 响应码,详情请参考 错误码 章节,成功时为空
success Boolean 是否成功:
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

String{}

请求示例

{
  "oldDeviceId": "6cf53c7c494801bf72acch",
  "oldRoomId": "1559640253681721",
  "newDeviceId": "6c2757f2ec27f1dc93gclt",
  "newRoomId": "1559640253681721",
  "replaceType": "1",
  "projectId": "1541976932755718144"
}

响应示例

{
    "result": "1648890751519637504",
    "success": true,
    "t": 1681961165110,
    "tid": "14999fdcdf2b11edad582a6c806b923a"
}

重试设备替换任务

功能描述

在同位替换设备失败后,您可以重试设备替换任务。

接口地址

POST /v1.0/illumination/device/replace/record/retry

请求参数

参数名 类型 参数类型 说明 是否必需
projectId String body 项目 ID false
roomId String body 被替换设备所处的空间 ID false
recordId String body 替换记录 ID false
taskIds String[] body 子任务 ID,为空时,默认重试全部子任务 false

返回参数

参数名 类型 说明
code Integer 响应码,详情请参考 错误码 章节,成功时为空
success Boolean 是否成功:
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

boolean{}

请求示例

{
  "recordId": "1648890751519637504",
  "projectId": "1541976932755718144",
  "roomId": "1559640253681721"
}

响应示例

{
  "success": true,
  "t": 1573441137,
  "result": false
}

查询设备替换记录

功能描述

查询项目下设备的同位替换记录。

接口地址

GET /v1.0/illumination/device/replace/records

请求参数

参数名 类型 参数类型 说明 是否必需
page int body 页码参数 false
pageSize int body 每页记录数量 false
projectId String body 项目 ID false
roomIds String[] body 房间 ID false
categories String[] body 一级品类 false
recordStatuses int[] body 记录当前状态 false
lang String body 语种 false

返回参数

参数名 类型 说明
code Integer 响应码,详情请参考 错误码 章节,成功时为空
success Boolean 是否成功:
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

{
  "total": "int",
  "list": [
    {
      "record_id": "String //设备替换记录 ID",
      "space_name": "String //空间名称",
      "full_space_name": "String //空间完整名称,鼠标悬浮时展示",
      "old_device": {
        "category": "String //设备品类,一级品类",
        "category_name": "String //设备品类名称",
        "device_id": "String //设备 ID",
        "device_name": "String //设备名称",
        "online": "boolean //是否在线",
        "removed": "boolean //是否已被移除",
        "room_id": "String //设备所在的房间 ID",
        "space_name": "String //位置(空间名称)",
        "icon_url": "String //图片信息"
      },
      "new_device": {
        "category": "String //设备品类,一级品类",
        "category_name": "String //设备品类名称",
        "device_id": "String //设备 ID",
        "device_name": "String //设备名称",
        "online": "boolean //是否在线",
        "removed": "boolean //是否已被移除",
        "room_id": "String //设备所在的房间 ID",
        "space_name": "String //位置(空间名称)",
        "icon_url": "String //图片信息"
      },
      "record_status": "int //记录状态:0-不成功,1-成功,2-部分成功,3-执行中",
      "complete_time": "long //完成时间",
      "progress_node": "int //进度阶段,1-网关复制,2-设备替换",
      "delete_status": "boolean //故障设备是否删除,取值为删除和未删除",
      "local_type": "int //0-默认,1-现场,2-远程",
      "replace_type": "int //@see com.tuya.zhurong.biz.enums.ReplaceType",
      "old_gateway_name": "String //故障设备网关信息",
      "new_gateway_name": "String //替换设备网关信息",
      "is_allow_retry": "boolean //是否允许重试",
      "gmt_create": "long //创建时间"
    }
  ]
}

请求示例

{
  "pageSize": "100",
  "page": "1",
  "projectId": "1541976932755718144"
}

响应示例

{
    "result": {
        "list": [
            {
                "completeTime": 1681961164747,
                "deleteStatus": false,
                "gmtCreate": 1681961164747,
                "newDevice": {
                    "category": "zm",
                    "deviceId": "6c2757f2ec27f1dc93gclt",
                    "deviceName": "测试 2",
                    "roomId": "1559640253681721"
                },
                "oldDevice": {
                    "category": "zm",
                    "deviceId": "6cf53c7c494801bf72acch",
                    "deviceName": "测试 1",
                    "iconUrl": "https://images.tuyacn.com/smart/icon/bay1606528390981YiDN/4199481d5d32874980313cb387df095b.png",
                    "roomId": "1559640253681721",
                    "spaceName": "测试"
                },
                "progressNode": 2,
                "recordId": "1648890751519637504",
                "recordStatus": 2,
                "replaceType": 1,
                "spaceName": "测试",
                "subTasks": [
                    {
                        "relativeName": "",
                        "taskCode": "",
                        "taskId": "1648890752782123008",
                        "taskMessage": "",
                        "taskName": "设备基础信息替换",
                        "taskStatus": 1,
                        "taskType": "6"
                    }
                ]
            }
        ],
        "total": 1
    },
    "success": true,
    "t": 1681961893353,
    "tid": "c72adc06df2c11edad582a6c806b923a"
}

网关复制

功能描述

将一台设备直接复制到新的网关下。

接口地址

POST /v1.0/illumination/device/gateway/copy

请求参数

参数名 类型 参数类型 说明 是否必需
projectId String body 项目 ID false
oldDeviceId String body 被替换的设备 false
newGatewayId String body 新设备网关 false

返回参数

参数名 类型 说明
code Integer 响应码,详情请参考 错误码 章节,成功时为空
success Boolean 是否成功:
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

String{}

请求示例

{
  "newGatewayId": "6cb42aa94f3db52884w6ix",
  "projectId": "1541976932755718144",
  "oldDeviceId": "6c4794741ec4f88c993ast"
}

响应示例

{
  "success": true,
  "t": 1573441137,
  "result": "juJxURqDkZ"
}

网关复制结果

功能描述

查询网关复制信息。

接口地址

GET /v1.0/illumination/devices/gateway-copy-info/{taskId}

请求参数

参数名 类型 参数类型 说明 是否必需
taskId String url 任务 ID false

返回参数

参数名 类型 说明
code Integer 响应码,详情请参考 错误码 章节,成功时为空
success Boolean 是否成功:
  • true:成功
  • false:失败
msg String 请求失败的信息,成功时为空
t Long 返回时间戳,13 位
result Object 返回结果

result 参数说明

{
  "old_device": {
    "category": "String //设备品类,一级品类",
    "category_name": "String //设备品类名称",
    "device_id": "String //设备 ID",
    "device_name": "String //设备名称",
    "online": "boolean //是否在线",
    "removed": "boolean //是否已被移除",
    "room_id": "String //设备所在的房间 ID",
    "space_name": "String //位置(空间名称)",
    "icon_url": "String //图片信息"
  },
  "new_device": {
    "category": "String //设备品类,一级品类",
    "category_name": "String //设备品类名称",
    "device_id": "String //设备 ID",
    "device_name": "String //设备名称",
    "online": "boolean //是否在线",
    "removed": "boolean //是否已被移除",
    "room_id": "String //设备所在的房间 ID",
    "space_name": "String //位置(空间名称)",
    "icon_url": "String //图片信息"
  },
  "task_id": "String",
  "record_id": "String"
}

请求示例

{
  "taskId": ""
}

响应示例

{
  "success": true,
  "t": 1573441137,
  "result": {
    "old_device": {
      "category": "wg2",
      "device_id": "6dx43c8f321821bg71avvb",
      "device_name": "网关测试",
      "online": true,
      "room_id": "1559640253681721",
      "space_name": "测试",
      "icon_url": "https://images.tuyacn.com/smart/icon/ay1567409560124sa2O6/9c782c7782c6f4f3e3d989554ae6d49c.png"
    },
    "new_device": {
      "category": "wg2",
      "deviceId": "6cf53c7c494801bf72acch",
      "deviceName": "网关测试 2",
      "iconUrl": "https://images.tuyacn.com/smart/icon/ay1567409560124sa2O6/9c782c7782c6f4f3e3d989554ae6d49c.png",
      "roomId": "1559640253681721",
      "spaceName": "测试"
      "online": true,
      "space_name": "测试",
    },
    "task_id": "xxxx",
    "record_id": "xxxxx"
  }
}

错误码

以下为该功能常见的业务异常。更多异常错误,请参考 全局错误码

错误码 说明
500 系统错误
1106 非法权限