# 策略-均衡充放电 ## 上报充放电策略 * **Topic:** * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/list``/post` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/list``/post` * **权限:**订阅 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_listcharge_list
datadatatrue消息内容-Payload - data/ChargeDetail
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **Payload - data/ChargeDetail**
参数类型是否必填描述范围样例
idinttrueID-1
charge_typeinttrue充放电类型(后续将支持更多类型)1-定时充放电1
statusinttrue策略开关0-关闭,
1-开启
1
yearinttrue(若mode=1,则year为必填;)2024
month[]inttrue月份选择(0代表一月)[0,11][1,7,8,11]
week_day[]intfalse星期选择(0代表星期一)[0,6][5,6]
dates[]intfalse日期选择(0代表1日)[0, 30](根据年份大小月份变化)[0,1]
modeinttrue模式(根据mode参数取值不同,校验week_day或dates是否必填)1-月日模式
2- 月周模式
1(若mode=1,则dates为必填;若mode=2,则week_day为必填
ems_devices[]emsDevicetrue设备列表--
settings[]chargeTimetrue充放电时间段--
apply_to_allbooltrue是否包括所有一级设备-false
* **Payload - emsDevice**
参数类型是否必填描述范围样例
idinttrue设备ID-1
namestrtrue设备名称-ems设备
site_namestrtrue站点名称-ems站点
locationstrtrue详细地理位置-wudun
longitudefloattrue经度-
latitudefloattrue纬度
levelinttrueEMS等级[1, 2]1
typestrtrue设备类型-ems
running_statusinttrue

运行状态

1-运行

2-离线

3-故障

[1,2,3]1
hoststrtrue地址-192.168.0.1
portstrtrue端口[0,65525]2171
licensestrtrue激活码-2YIZedmOtl4pcqo1EA4zhM5gofDI
* **Payload - chargeTime**
参数类型是否必填描述范围样例
start_hourinttrue开始小时[0,23]20
start_minuteinttrue开始分钟[0,59]0
end_hourinttrue结束小时[0,23]0
end_minuteinttrue结束分钟[0,59]0
cdc_enable_modeinttrue充放电设定0-待机,
1-充电,
2-放电
1
run_powerinttrue运行功率(单位:kW)[0,65535]300
* **时间说明:**`start_hour`, `start_minute`, `end_hour`, `end_minute`组成左闭右开的时间区间 * 如`start_hour=14`, `start_minute=15`, `end_hour=15`, `end_minute=00`表示`[14:15, 15:00)`,即14:15开始到15:00前结束。 * 如`start_hour=20`, `start_minute=00`, `end_hour=00`, `end_minute=00`表示`[20:00, 00:00)`,即20:00开始到后一天的00:00前结束 * **Payload示例**
{
  "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
  "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
  "type": "charge_list",
  "data": [{
    "id": 1
    "charge_type": 1,
    "status": 1,
    "year": 2024,
    "month": [
      1,
      7,
      8,
      11
    ],
    "dates" : [1,2],
    "mode" : 1,
    "ems_devices": [{
      "id": 1
      "name": "右206",
      "site_name": "测试站点",
      "location": "",
      "longitude": 0,
      "latitude": 0,
      "statistics_port": 1504,
      "level": 1,
      "type": "ems",
      "running_status": 1,
      "host": "192.168.77.206",
      "port": 1502,
      "license": "xxxxx"
    }],
    "apply_to_all": false,
    "settings": [
      {
        "start_hour": 20,
        "start_minute": 0,
        "end_hour": 0,
        "end_minute": 0,
        "cdc_enable_mode": 2,
        "run_power": 300
      },
      {
        "start_hour": 0,
        "start_minute": 0,
        "end_hour": 0,
        "end_minute": 0,
        "cdc_enable_mode": 21,
        "run_power": 0
      }
    ]
  },
  "device_uid": "iYRkfVpi77",
  "timestamp": 1695265371000
}
## 平台请求同步充放电策略 * **Topic:** * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/sync``/command` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/sync``/command` * **权限:**发布 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_synccharge_sync
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **响应代码**
错误码描述说明
200下发成功
400参数有误
* **Payload示例** ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9", "type": "charge_sync", "device_uid": "iYRkfVpi77", "timestamp": 1695265671000 } ``` ### 同步充放电策略响应 * **Topic:** * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/sync``/result` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/sync``/result` * **权限:**订阅 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-4c5b3c27-cea8-4ea1-a936-41fd3596e0e9
replyUUIDtrue所回复消息的mid-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_synccharge_sync
datadatatrue消息内容-Payload - data/ChargeDetail
codeinttrue响应代码-见响应代码
msgstrfalse失败原因-参数错误
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **Payload示例**
{
  "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
  "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
  "type": "charge_sync",
  "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
  "code": 200,
  "msg": "",
  "data": [{
    "id": 1,
    "charge_type": 1,
    "status": 1,
    "year": 2024,
    "month": [
      1,
      7,
      8,
      11
    ],
    "week_day": [
      5,
      6
    ],
    "mode":2,
    "ems_devices": [{
      "id": 1,
      "name": "右206",
      "site_name": "测试站点",
      "location": "",
      "longitude": 0,
      "latitude": 0,
      "statistics_port": 1504,
      "level": 1,
      "type": "ems",
      "running_status": 1,
      "host": "192.168.77.206",
      "port": 1502,
    }],
    "apply_to_all": false,
    "settings": [
      {
        "start_hour": 20,
        "start_minute": 0,
        "end_hour": 23,
        "end_minute": 0,
        "cdc_enable_mode": 2,
        "run_power": 300
      },
      {
        "start_hour": 0,
        "start_minute": 0,
        "end_hour": 0,
        "end_minute": 0,
        "cdc_enable_mode": 21,
        "run_power": 0
      }
    ]
  }],
  "device_uid": "iYRkfVpi77",
  "timestamp": 1695265371000
}
## 下发创建充放电策略指令 * **Topic:** * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/create``/command` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/${DEVICE}/``charge/create``/command` * **权限:**发布 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_createcharge_create
datadatatrue消息内容-Payload - data/ChargeCreate
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **Payload - data/ChargeCreate**
参数类型是否必填描述范围样例
charge_typeinttrue充放电类型(后续将支持更多类型)1-定时充放电1
statusinttrue策略开关0-关闭,
1-开启
1
yearinttrue(若mode=1,则year为必填;)2024
month[]inttrue月份选择(0代表一月)[0,11][1,7,8,11]
week_day[]intfalse星期选择(0代表星期一)[0,6][5,6]
dates[]intfalse日期选择(0代表1日)【0,30】【0,1,2】
modeinttrue模式(根据mode 参数取值不同,校验week_day或dates是否必填)1-月日模式
2- 月周模式
1
ems_device_uids[]stringfalse设备列表UID(uids、ids、apply_to_all三选一)--
ems_device_ids[]intfalse设备列表ID(uids、ids、apply_to_all三选一)--
apply_to_allboolfalse是否包括所有一级设备(uids、ids、apply_to_all三选一)-true
settings[]chargeTimetrue充放电时间段--
* **Payload示例** {% code lineNumbers="true" %} ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd", "type": "charge_create", "data": { "charge_type": 1, "status": 1, "year": 2024 "month": [ 1, 7, 8, 11 ], "week_day": [ 5, 6 ], "mode":2, "settings": [ { "start_hour": 1, "start_minute": 50, "end_hour": 23, "end_minute": 0, "cdc_enable_mode": 2, "run_power": 100 } ], // "ems_device_uids": [ // "ZedmOtl4pc" // ], // "apply_to_all": true, "ems_device_ids": [ 1, 2, 3 ] // ems_device_ids、ems_device_uids、apply_to_all 三选一 }, "device_uid": "iYRkfVpi77", "timestamp": 1695265371000 } ``` {% endcode %} ### 创建充放电策略响应 * **Topic:** * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/create``/result` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/create``/result` * **权限:**订阅 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-4c5b3c27-cea8-4ea1-a936-41fd3596e0e9
replyUUIDtrue所回复消息的mid-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_createcharge_create
codeinttrue响应代码-见响应代码
msgstrfalse失败原因-参数错误
datadatatrue其他数据见data
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **响应代码**
错误码描述说明
200下发成功
400参数有误
* **Data** | 参数 | 类型 | 说明 | | ---------- | --- | ------- | | policy\_id | int | 充放电策略id | * **Payload示例** ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9", "type": "charge_create", "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd", "code": 200, "msg": "", "data": { "policy_id": 1 }, "device_uid": "iYRkfVpi77", "timestamp": 1695265671000 } ``` ## 下发修改充放电策略指令 * **Topic:** * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/update``/command` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/update``/command` * **权限:**发布 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_updatecharge_update
datadatatrue消息内容-Payload - data/ChargeUpdate
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **Payload - data/ChargeUpdate**
参数类型是否必填描述范围样例
idinttrue策略ID--
其余字段见Payload - data/ChargeCreatefalse
* **Payload示例** {% code lineNumbers="true" %} ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd", "type": "charge_update", "data": { "id": 1, "charge_type": 1, "status": 1, "year": 2024, "month": [ 1, 7, 8, 11 ], "week_day": [ 5, 6 ], "mode":2, "settings": [ { "start_hour": 1, "start_minute": 50, "end_hour": 23, "end_minute": 0, "cdc_enable_mode": 2, "run_power": 100 } ], // "ems_device_uids": [ // "ZedmOtl4pc" // ], // "apply_to_all": true, "ems_device_ids": [ 1, 2, 3 ] // ems_device_ids、ems_device_uids、apply_to_all 三选一 }, "device_uid": "iYRkfVpi77", "timestamp": 1695265371000 } ``` {% endcode %} ### 下发修改充放电策略响应 * **Topic:** * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/update``/result` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/update``/result` * **权限:**订阅 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-4c5b3c27-cea8-4ea1-a936-41fd3596e0e9
replyUUIDtrue所回复消息的mid-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_updatecharge_update
codeinttrue响应代码-见响应代码
msgstrfalse失败原因-参数错误
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **响应代码**
错误码描述说明
200下发成功
400参数有误
* **Payload示例** ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9", "type": "charge_update", "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd", "code": 200, "device_uid": "iYRkfVpi77", "timestamp": 1695265671000 } ``` ## 下发删除充放电策略指令 * **Topic:** * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/delete``/command` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/delete``/command` * **权限:**发布 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_deletecharge_delete
datadatatrue消息内容-Payload - data
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **Payload - data**
参数类型是否必填描述范围样例
idinttrue充放电策略ID-1
* **Payload示例**
{
  "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
  "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
  "type": "charge_delete",
  "data": {
    "id": 1,
  },
  "device_uid": "iYRkfVpi77",
  "timestamp": 1695265371000
}
### 下发删除充放电策略响应 * **Topic:** * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/delete``/result` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/delete``/result` * **权限:**订阅 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-4c5b3c27-cea8-4ea1-a936-41fd3596e0e9
replyUUIDtrue所回复消息的mid-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_deletecharge_delete
codeinttrue响应代码-见响应代码
msgstrfalse失败原因-参数错误
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **响应代码**
错误码描述说明
200下发成功
400参数有误
* **Payload示例** ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9", "type": "charge_delete", "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd", "code": 200, "msg": "", "device_uid": "iYRkfVpi77", "timestamp": 1695265671000 } ``` ## 批量下发充放电策略指令 * **Topic:** * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/update_all``/command` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/update_all``/command` * **权限:**发布 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_update_allcharge_update_all
datadatatrue消息内容-Payload - data
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **Payload - Data: \[]ChargeCreate** * **Payload示例** ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed", "type": "charge_update_all", "data": [ { "charge_type": 1, "status": 1, "year": 2024, "month": [ 8 ], "week_day": [ 6 ], "mode":2, "apply_to_all": true, "settings": [ { "start_hour": 1, "start_minute": 50, "end_hour": 23, "end_minute": 0, "cdc_enable_mode": 2, "run_power": 100 } ] } ], "device_uid": "iYRkfVpi77", "timestamp": 1695265371000 } ``` ### 批量下发充放电策略响应 * **Topic:** * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/update_all``/result` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/update_all``/result` * **权限:**订阅 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-4c5b3c27-cea8-4ea1-a936-41fd3596e0e9
replyUUIDtrue所回复消息的mid-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_update_allcharge_update_all
codeinttrue响应代码-见响应代码
msgstrfalse失败原因-参数错误
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **Payload示例** ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "d90e64f6-6c71-43e1-a755-d034bb307ee2", "type": "charge_update_all", "device_uid": "iYRkfVpi77", "timestamp": 1706521447074, "reply": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed", "code": 200, } ``` ## 下发创建/更新充放电策略(根据支路ID) * **Topic:** * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/by_node``/command` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/${DEVICE}/``charge/by_node``/command` * **权限:**发布 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_by_nodecharge_by_node
datadatatrue消息内容-Payload - data/ChargeByNode
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **Payload - data/ChargeByNode**
参数类型是否必填描述范围样例
node_idinttrue支路节点ID--
其余字段见Payload - data/ChargeCreatefalse
* **Payload示例** {% code lineNumbers="true" %} ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd", "type": "charge_by_node", "data": { "charge_type": 1, "status": 1, "year": 2024, "month": [ 6 ], "week_day": [ 0, 1, 2, 3, 4, 5, 6 ], "mode": 2, "node_id": 2, "settings": [ { "start_hour": 20, "start_minute": 0, "end_hour": 0, "end_minute": 0, "cdc_enable_mode": 2, "run_power": 300 }, { "start_hour": 0, "start_minute": 0, "end_hour": 1, "end_minute": 0, "cdc_enable_mode": 1, "run_power": 300 } ] }, "device_uid": "iYRkfVpi77", "timestamp": 1695265371000 } ``` {% endcode %} ### 创建/更新充放电策略(根据支路ID)响应 * **Topic:** * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/by_node``/result` * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/by_node``/result` * **权限:**订阅 * **Payload主结构**
参数类型是否必填描述范围样例
midUUIDtrue消息ID-4c5b3c27-cea8-4ea1-a936-41fd3596e0e9
replyUUIDtrue所回复消息的mid-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型charge_by_nodecharge_by_node
codeinttrue响应代码-见响应代码
msgstrfalse失败原因-参数错误
datadatatrue其他数据见data
device_uidstrtrue(二级)设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
* **响应代码**
错误码描述说明
200下发成功
400参数有误
* **Data** | 参数 | 类型 | 说明 | | ---------- | --- | ------- | | policy\_id | int | 充放电策略id | * **Payload示例** ```json { "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152", "mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9", "type": "charge_by_node", "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd", "code": 200, "data": { "policy_id": 1 }, "device_uid": "iYRkfVpi77", "timestamp": 1695265671000 } ```