diff --git a/00. 预研阶段/20241116 物盾EMU功能分解.xmind b/00. 预研阶段/20241116 物盾EMU功能分解.xmind new file mode 100644 index 0000000..ecb8cb9 Binary files /dev/null and b/00. 预研阶段/20241116 物盾EMU功能分解.xmind differ diff --git a/00. 预研阶段/20241218 电站设备拓扑.xmind b/00. 预研阶段/20241218 电站设备拓扑.xmind new file mode 100644 index 0000000..7571656 Binary files /dev/null and b/00. 预研阶段/20241218 电站设备拓扑.xmind differ diff --git a/00. 预研阶段/20241218 电站设备相关数据拓扑.xmind b/00. 预研阶段/20241218 电站设备相关数据拓扑.xmind new file mode 100644 index 0000000..aec5c19 Binary files /dev/null and b/00. 预研阶段/20241218 电站设备相关数据拓扑.xmind differ diff --git a/00. 预研阶段/wudun_EMS_MQTT.zip b/00. 预研阶段/wudun_EMS_MQTT.zip new file mode 100644 index 0000000..21737df Binary files /dev/null and b/00. 预研阶段/wudun_EMS_MQTT.zip differ diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/README.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/README.md new file mode 100644 index 0000000..e8999da --- /dev/null +++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/README.md @@ -0,0 +1,2 @@ +# 【未上线】二级EMS + diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/bms-control.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/bms-control.md new file mode 100644 index 0000000..c5ba6ea --- /dev/null +++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/bms-control.md @@ -0,0 +1,124 @@ +# 手动控制-BMS远程控制 + +## 发送bms远程控制策略 + +* **Topic:** + * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``bms_control/set/command` + * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``bms_control/set/command` +* **权限:**订阅 +* **Payload主结构** + +
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | bms_set | bms_set |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | (0, ∞) | 2 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
battery_system_reset | int | false | 故障复位 | [0,1] | 1 |
high_voltage_command | int | false | 接触器断开/闭合 | [0,1] | 0 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "type": "bms_set",
+ "data": {
+ "battery_system_reset":0,
+ "high_voltage_command":1,
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "sub_device_id": "${SUB_DEVICE_ID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
+
+### 发送bms远程控制策略响应
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``bms_control/set``/result`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``bms_control/set``/result`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | bms_set | bms_set |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
sub_device_uid | str | true | 子设备UID | ||
sub_device_id | int | true | 子设备ID | 2 | |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
type | str | true | 消息类型 | bms_sync | bms_sync |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | 2 | |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | bms_sync | bms_sync |
code | int | true | 响应代码 | 见响应代码 | |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
battery_system_reset | int | false | 故障复位 | [0,1] | 1 |
high_voltage_command | int | false | 接触器断开/闭合 | [0,1] | 0 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "bms_sync",
+ "code": 200,
+ "data": {
+ "battery_system_reset":0,
+ "high_voltage_command":1,
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "sub_device_id": "${SUB_DEVICE_ID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/charge-depth.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/charge-depth.md
new file mode 100644
index 0000000..f25e7d7
--- /dev/null
+++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/charge-depth.md
@@ -0,0 +1,134 @@
+# 策略-充放电深度保护
+
+## 上报放电深度保护策略
+
+* **Topic:**
+ * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge_percentage/details``/post`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge_percentage/details``/post`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_percentage_details | charge_percentage_details |
data | data | true | 消息内容 | - | 见Payload - ChargePercentage |
sub_device_uid | str | false | sub_device_uid和sub_device_id根据实际情况二选一 | - | jHODSda39 |
sub_device_id | int | false | sub_device_uid和sub_device_id根据实际情况二选一 | - | 1 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
charge_depth_on | int | true | 充电深度保护开关 | 0-关闭 1-开启 | 1 |
charge_energy_soc_1 | float | true | 充电电量SOC-1 | [0.0, 100.0] 0代表不配置 | 99 |
charge_cell_voltage_1 | float | true | 充电单体电压-1 | [0.00, ∞) 0代表不配置 | 3.6 |
charge_cell_power_1 | float | true | 充电输出功率-1 | [0.0, ∞) | 0 |
charge_energy_soc_2 | float | true | 充电电量SOC-2 | [0.0, 100.0] 0代表不配置 | 98 |
charge_cell_voltage_2 | float | true | 充电单体电压-2 | [0.00, ∞) 0代表不配置 | 0 |
charge_cell_power_2 | float | true | 充电输出功率-2 | [0.0, ∞) | 15 |
charge_energy_soc_3 | float | true | 电量SOC-3 | [0.0, 100.0] 0代表不配置 | 97 |
charge_cell_voltage_3 | float | true | 充电单体电压-3 | [0.00, ∞) 0代表不配置 | 0 |
charge_cell_power_3 | float | true | 充电输出功率-3 | [0.0, ∞) | 30 |
charge_energy_soc_4 | float | true | 电量SOC-4 | [0.0, 100.0] 0代表不配置 | 96 |
charge_cell_voltage_4 | float | true | 充电单体电压-4 | [0.00, ∞) 0代表不配置 | 0 |
charge_cell_power_4 | float | true | 充电输出功率-4 | [0.0, ∞) | 50 |
discharge_depth_on | int | true | 放电深度保护开关 | 0-关闭 1-开启 | 1 |
discharge_energy_soc_1 | float | true | 放电电量SOC-1 | [0.0, 100.0] 0代表不配置 | 2 |
discharge_cell_voltage_1 | float | true | 放电单体电压-1 | [0.00, ∞) 0代表不配置 | 3 |
discharge_cell_power_1 | float | true | 放电输出功率-1 | [0.0, ∞) | 0 |
discharge_energy_soc_2 | float | true | 放电电量SOC-2 | [0.0, 100.0] 0代表不配置 | 3 |
discharge_cell_voltage_2 | float | true | 放电单体电压-2 | [0.00, ∞) 0代表不配置 | 0 |
discharge_cell_power_2 | float | true | 放电输出功率-2 | [0.0, ∞) | 30 |
discharge_energy_soc_3 | float | true | 放电电量SOC-3 | [0.0, 100.0] 0代表不配置 | 4 |
discharge_cell_voltage_3 | float | true | 放电单体电压-3 | [0.00, ∞) 0代表不配置 | 0 |
discharge_cell_power_3 | float | true | 放电输出功率-3 | [0.0, ∞) | 50 |
discharge_energy_soc_4 | float | true | 放电电量SOC-4 | [0.0, 100.0] 0代表不配置 | 5 |
discharge_cell_voltage_4 | float | true | 放电单体电压-4 | [0.00, ∞) 0代表不配置 | 0 |
discharge_cell_power_4 | float | true | 放电输出功率-4 | [0.0, ∞) | 70 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_percentage_sync | charge_percentage_sync |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | true | 失败原因 | - | 参数错误 |
sub_device_uid | str | false | sub_device_uid和sub_device_id根据实际情况二选一 | - | jHODSda39 |
sub_device_id | int | false | sub_device_uid和sub_device_id根据实际情况二选一 | - | 1 |
device_uid | str | true | 设备ID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_percentage_sync | charge_percentage_sync |
data | data | true | 消息内容 | - | 见Payload - ChargePercentage |
sub_device_uid | str | false | sub_device_uid和sub_device_id根据实际情况二选一 | - | jHODSda39 |
sub_device_id | int | false | sub_device_uid和sub_device_id根据实际情况二选一 | - | 1 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "charge_percentage_sync",
+ "data": {
+ "charge_depth_on": 1,
+ "charge_energy_soc_1": 99,
+ "charge_cell_voltage_1": 3.6,
+ "charge_cell_power_1": 0,
+ "charge_energy_soc_2": 98,
+ "charge_cell_voltage_2": 0,
+ "charge_cell_power_2": 15,
+ "charge_energy_soc_3": 97,
+ "charge_cell_voltage_3": 0,
+ "charge_cell_power_3": 30,
+ "charge_energy_soc_4": 96,
+ "charge_cell_voltage_4": 0,
+ "charge_cell_power_4": 50,
+ "discharge_depth_on": 1,
+ "discharge_energy_soc_1": 2,
+ "discharge_cell_voltage_1": 3,
+ "discharge_cell_power_1": 0,
+ "discharge_energy_soc_2": 3,
+ "discharge_cell_voltage_2": 0,
+ "discharge_cell_power_2": 30,
+ "discharge_energy_soc_3": 4,
+ "discharge_cell_voltage_3": 0,
+ "discharge_cell_power_3": 50,
+ "discharge_energy_soc_4": 5,
+ "discharge_cell_voltage_4": 0,
+ "discharge_cell_power_4": 70
+ },
+ "sub_device_id": 1,
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/charge-strategy.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/charge-strategy.md
new file mode 100644
index 0000000..6984d0a
--- /dev/null
+++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/charge-strategy.md
@@ -0,0 +1,579 @@
+# 策略-均衡充放电
+
+## 上报充放电策略
+
+* **Topic:**
+ * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge/list``/post`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge/list``/post`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_list | charge_list |
data | data | true | 消息内容 | - | 见Payload - data/ChargeDetail |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | ID | - | 1 |
charge_type | int | true | 充放电类型(后续将支持更多类型) | 1-定时充放电 | 1 |
status | int | true | 策略开关 | 0-关闭, 1-开启 | 1 |
year | int | true | 年 | (若mode=1,则year为必填;) | 2024 |
month | []int | true | 月份选择(0代表一月) | [0,11] | [1,7,8,11] |
week_day | []int | false | 星期选择(0代表星期一) | [0,6] | [5,6] |
dates | []int | false | 日期选择(0代表1日) | [0, 30](根据年份大小月份变化) | [0,1] |
mode | int | true | 模式(根据mode参数取值不同,校验week_day或dates是否必填) | 1-月日模式 2- 月周模式 | 1(若mode=1,则dates为必填;若mode=2,则week_day为必填 |
ems_devices | []emsDevice | true | 设备列表 | - | - |
settings | []chargeTime | true | 充放电时间段 | - | - |
apply_to_all | bool | true | 是否包括所有一级设备 | - | false |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 设备ID | - | 1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | |
latitude | float | true | 纬度 | ||
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
start_hour | int | true | 开始小时 | [0,23] | 20 |
start_minute | int | true | 开始分钟 | [0,59] | 0 |
end_hour | int | true | 结束小时 | [0,23] | 0 |
end_minute | int | true | 结束分钟 | [0,59] | 0 |
cdc_enable_mode | int | true | 充放电设定 | 0-待机, 1-充电, 2-放电 | 1 |
run_power | int | true | 运行功率(单位:kW) | [0,65535] | 300 |
{
+ "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主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_sync | charge_sync |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_sync | charge_sync |
data | data | true | 消息内容 | - | 见Payload - data/ChargeDetail |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
{
+ "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主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_create | charge_create |
data | data | true | 消息内容 | - | 见Payload - data/ChargeCreate |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
charge_type | int | true | 充放电类型(后续将支持更多类型) | 1-定时充放电 | 1 |
status | int | true | 策略开关 | 0-关闭, 1-开启 | 1 |
year | int | true | 年 | (若mode=1,则year为必填;) | 2024 |
month | []int | true | 月份选择(0代表一月) | [0,11] | [1,7,8,11] |
week_day | []int | false | 星期选择(0代表星期一) | [0,6] | [5,6] |
dates | []int | false | 日期选择(0代表1日) | 【0,30】 | 【0,1,2】 |
mode | int | true | 模式(根据mode 参数取值不同,校验week_day或dates是否必填) | 1-月日模式 2- 月周模式 | 1 |
ems_device_uids | []string | false | 设备列表UID(uids、ids、apply_to_all三选一) | - | - |
ems_device_ids | []int | false | 设备列表ID(uids、ids、apply_to_all三选一) | - | - |
apply_to_all | bool | false | 是否包括所有一级设备(uids、ids、apply_to_all三选一) | - | true |
settings | []chargeTime | true | 充放电时间段 | - | - |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_create | charge_create |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
data | data | true | 其他数据 | 见data | |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_update | charge_update |
data | data | true | 消息内容 | - | 见Payload - data/ChargeUpdate |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 策略ID | - | - |
其余字段见Payload - data/ChargeCreate | false |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_update | charge_update |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_delete | charge_delete |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 充放电策略ID | - | 1 |
{
+ "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主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_delete | charge_delete |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_update_all | charge_update_all |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_update_all | charge_update_all |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_by_node | charge_by_node |
data | data | true | 消息内容 | - | 见Payload - data/ChargeByNode |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
node_id | int | true | 支路节点ID | - | - |
其余字段见Payload - data/ChargeCreate | false |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_by_node | charge_by_node |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
data | data | true | 其他数据 | 见data | |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | condition_set | condition_set |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | 2 | |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
power_on | int | false | 开机 (0:关机, 1:开机) | [0,1] | 1 |
target_heating_point | float | false | 加热目标温度 | [0,∞] | 0 |
target_cooling_point | float | false | 制冷目标温度 | [0,∞] | 1 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "type": "condition_set",
+ "data": {
+ "power_on":1,
+ "target_heating_point":100,
+ "target_cooling_point":10,
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "sub_device_id": "${SUB_DEVICE_ID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
+
+### 发送液冷远程控制策略响应
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``condition_control/set``/result`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``condition_control/set``/result`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | condition_set | condition_set |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
sub_device_uid | str | true | 子设备UID | ||
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | 2 | |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
type | str | true | 消息类型 | condition_sync | condition_sync |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | 2 | |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | condition_sync | condition_sync |
code | int | true | 响应代码 | 见响应代码 | |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | 2 | |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
power_on | int | false | 开机 (0:关机, 1:开机) | [0,1] | 1 |
target_heating_point | float | false | 加热目标温度 | [0,∞] | 0 |
target_cooling_point | float | false | 制冷目标温度 | [0,∞] | 1 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "condition_sync",
+ "code": 200,
+ "data": {
+ "power_on":1,
+ "target_heating_point":100,
+ "target_cooling_point":10,
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "sub_device_id": "${SUB_DEVICE_ID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/device-event-1.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/device-event-1.md
new file mode 100644
index 0000000..4bac055
--- /dev/null
+++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/device-event-1.md
@@ -0,0 +1,838 @@
+---
+description: V2
+---
+
+# 设备事件V2
+
+## 定时上报信息
+
+* **Topic:**
+ * 用户自定义MQTT: `v2/wudun/${PRODUCT_KEY}/${DEVICE}/``report/regular``/post`
+ * 平台默认MQTT: `v2/user/${TENANT}/${DEVICE}/``report/regular``/post`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | report_regular | report_regular |
data | []data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | false | 子设备UID,仅二级替单个子设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | false | 子设备ID,仅二级替单个子设备上报时需要该字段 | (0, ∞) | 2 |
device_uid | str | true | 设备ID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
type | str | true | sub_ems_fire: 一级EMS设备火警数据 sub_ems_aircon:一级EMS设备风冷数据 sub_ems_liquidcon:一级EMS设备液冷数据 sub_ems_bms: 一级EMS设备BMS数据 sub_ems_pcs: 一级EMS设备PCS数据 | "ems" |
index | int | true | 编号 | 0 |
data | (SubEMSFire/SubEMSAircon/SubEMSLiquid)/ SubEMSBMS/SubEMSPCS/ EMSData/ SubEleMeterData/ PhotovoltaicMeterData/ PhotovoltaicInverterData/ | true | 一级EMS火警/风冷/液冷数据组合 一级EMS设备BMS数据 一级EMS设备PCS数据 二级EMS数据 电表数据 光伏电表类型 光伏逆变器类型 | - |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
fire_smoke_alarm_status | int | false | 烟雾传感器报警状态: 0-无烟雾告警,1-有烟感告警 | 1 |
fire_flammable_gas_alarm_status | int | false | 可燃气体传感器报警状态: 0-无可燃气体告警,1-有可燃气体告警 | 1 |
fire_safety_equipments_status | int | false | 消防装置状态: 0-正常(无动作);1、被启动(火警 | 1 |
fire_safety_system | int | false | 0-正常;1-故障 | 1 |
fire_temperature_sensor | float | false | 温度传感器 | |
fire_humidity_sensor | float | false | 湿度传感器 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
machine_status | int | false | 整机状态 2-制冷 3-制热 4-自循环 5-自动 6-待机 7-送风 | |
cooling_status | int | false | 制冷 0-停止 1-运行 | |
heating_status | int | false | 制热 0-停止 1-运行 | |
coil_temp | float | false | 盘管温度(单位:℃) | |
condensing_temp | float | false | 冷凝温度(单位:℃) | |
exhaust_temp | float | false | 排气温度(单位:℃) | |
outdoor_temp | float | false | 环境温度/室外温度(单位:℃) | |
indoor_temp | float | false | 室内温度(单位:℃) | |
cooling_point | float | false | 制冷点(单位:℃) | |
heating_point | float | false | 加热点(单位:℃) | |
cooling_diff | float | false | 制冷目标回差 | |
heating_diff | float | false | 加热目标回差 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
machine_status | int | false | 整机状态 2-制冷 3-制热 4-自循环 5-自动 6-待机 7-送风 | |
indoor_temp | float | false | 室内温度(单位:℃) | |
inlet_temp | float | false | 进水温度(单位:℃) | |
outlet_temp | float | false | 出水温度(单位:℃) | |
inlet_pressure | float | false | 进水口压力值(单位:bar) | |
outlet_pressure | float | false | 出水口压力值(单位:bar) | |
ambient_temperature | float | false | 环境温度(单位:℃) | |
compressor_power | float | false | 压缩机功率(单位:kW) | |
cooling_point | float | false | 制冷点(单位:℃) | |
heating_point | float | false | 加热点(单位:℃) | |
cooling_diff | float | false | 制冷目标回差 | |
heating_diff | float | false | 加热目标回差 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
running_status | int | false | bms运行状态 0-未知状态 1-停机 2-待机 3-充电 4-放电 | 1 |
total_alarm_status | int | false | 总告警 0-正常 1-告警 | 0 |
total_fault_status | int | false | 总故障 0-正常 1-故障 | 0 |
high_voltage_closed_status | int | false | 高压状态 0-断开 1-闭合 | 1 |
soc | float | false | SOC | 80.1 |
soh | float | false | SOH | 90.2 |
current_chargeable_energy | float | false | 剩余充电电量 | 1000 |
current_dis_chargeable_energy | float | false | 剩余放电电量 | 2000 |
total_voltage | float | false | 组电压 | 400 |
total_current | float | false | 组电流 | -10 |
power | float | false | 组功率 | 4000 |
charge_accumulated_energy | float | false | 累计充电电量 | 100000 |
discharge_accumulated_energy | float | false | 累计放电电量 | 50000 |
daily_charge_energy | float | false | 日充电电量(单位:kWh) | 100 |
daily_discharge_energy | float | false | 日放电电量(单位:kWh) | 50 |
max_allowed_charge_power | float | false | 允许充电最大功率 | 5000 |
max_allowed_discharge_power | float | false | 允许放电最大功率 | 3000 |
max_allowed_charge_current | float | false | 允许充电最大电流 | 200 |
max_allowed_dis_charge_current | float | false | 允许放电最大电流 | 100 |
highest_cell_voltage | float | false | 最高单体电压 | 4200 |
highest_voltage_id_cell | int | false | 最高单体电压对应编号 | 3 |
lowest_cell_voltage | float | false | 最低单体电压 | 4100 |
lowest_voltage_id_cell | int | false | 最低单体电压对应编号 | 5 |
average_cell_voltage | float | false | 平均单体电压 | 4150 |
highest_cell_temp | float | false | 最高单体温度 | 40 |
highest_temp_id | int | false | 最高单体温度对应编号 | 4 |
lowest_cell_temp | float | false | 最低单体温度 | -5 |
lowest_temp_id | int | false | 最低单体温度对应编号 | 6 |
average_cell_temperature | float | false | 平均单体温度 | 20 |
voltage_diff | float | false | 单体电压极差值 | 100 |
temp_diff | loat | false | 单体温度极差值 | 45 |
cell_voltage | []float | false | 单体电压(数组长度固定为700) | [4150,4130,4110] |
cell_temp | []float | false | 单体温度(数组长度固定为700) | [20,23,21] |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
running_status | int | false | PCS运行状态 0-未知状态 1-停机 2-待机 3-充电 4-放电 | 2 |
pcs_total_active_power | float | false | 交流_总有功功率(单位:kW) | 100 |
pcs_active_power_phase_a | float | false | 交流_A相有功功率(单位:kW) | 0.16 |
pcs_active_power_phase_b | float | false | 交流_B相有功功率(单位:kW) | 0.17 |
pcs_active_power_phase_c | float | false | 交流_C相有功功率(单位:kW) | 0.18 |
pcs_total_reactive_power | float | false | 交流_总无功功率(单位:kVar) | 0.26 |
pcs_reactive_power_phase_a | float | false | 交流_A相无功功率(单位:kVar) | 0.19 |
pcs_reactive_power_phase_b | float | false | 交流_B相无功功率(单位:kVar) | 0.2 |
pcs_reactive_power_phase_c | float | false | 交流_C相无功功率(单位:kVar) | 0.21 |
pcs_voltage_phase_a | float | false | 交流_A相电压(单位:V) | 1.1 |
pcs_voltage_phase_b | float | false | 交流_B相电压(单位:V) | 2.2 |
pcs_voltage_phase_c | float | false | 交流_C相电压(单位:V) | 3.3 |
pcs_current_phase_a | float | false | 交流_A相电流(单位:A) | 0.13 |
pcs_current_phase_b | float | false | 交流_B相电流(单位:A) | 0.14 |
pcs_current_phase_c | float | false | 交流_C相电流(单位:A) | 0.15 |
pcs_total_power_factor | float | false | 交流_总功率因数 | 0.28 |
pcs_power_factor_phase_a | float | false | 交流_A相功率因数 | 1.23 |
pcs_power_factor_phase_b | float | false | 交流_B相功率因数 | 4.56 |
pcs_power_factor_phase_c | float | false | 交流_C相功率因数 | 7.89 |
pcs_frequency_grid | float | false | 交流_电网总频率(单位:Hz) | |
pcs_frequency_phase_a | float | false | 交流_A相频率(单位:Hz) | |
pcs_frequency_phase_b | float | false | 交流_B相频率(单位:Hz) | |
pcs_frequency_phase_c | float | false | 交流_C相频率(单位:Hz) | |
pcs_ac_daily_charge_energy | float | false | 交流_日充电量(单位:kWh) | |
pcs_ac_daily_discharge_energy | float | false | 交流_日放电量(单位:kWh) | |
pcs_ac_charge_accumulated_energy | float | false | 交流_总充电电量(单位:kWh) | |
pcs_ac_discharge_accumulated_energy | float | false | 交流_总放电电量(单位:kWh) | |
pcs_input_power | float | false | 直流_功率(单位:kW) | 0.33 |
pcs_input_voltage | float | false | 直流_电压(单位:V) | 3.4 |
pcs_input_current | float | false | 直流_电流(单位:A) | 0.35 |
pcs_alarm_status | int | false | 告警状态 0-正常 1-告警 | |
pcs_fault_status | int | false | 故障状态 0-正常 1-故障 | |
pcs_grid_voltage_ab | float | false | AB相电网线电压(单位:V) | |
pcs_grid_voltage_bc | float | false | BC相电网线电压(单位:V) | |
pcs_grid_voltage_ca | float | false | CA相电网线电压(单位:V) | |
pcs_internal_temp | float | false | 设备内部腔体温度(单位:℃) | |
igbt_temp_phase_a | float | false | A相IGBT温度(单位:℃) | |
igbt_temp_phase_b | float | false | B相IGBT温度(单位:℃) | |
igbt_temp_phase_c | float | false | C相IGBT温度(单位:℃) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
mode | int | false | 运行模式 0-本地调试模式 1-本地自动模式 2-远程被动模式 | |
charge_strategy | 待定 | false | 充放电策略 (仅mode为远程时有) | |
protection_strategy | 待定 | false | 安全保护 (仅mode为远程时有) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
total | EMSDataTotal | false | 二级EMS汇总 | |
statistics | []EMSDataStatistics | false | 支路下属储能设备运行统计 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
running_status | int | false | 运行状态 0-未知状态 1-停机 2-运行 | |
soc | float | false | 平均soc | |
pcs_total_active_power | float | false | 当前总有功功率(单位:kW) | |
pcs_total_reactive_power | float | false | 当前总无功功率(单位:kVar) | |
current_chargeable_energy | float | false | 剩余可充电电量(单位:kWh) | |
current_dischargeable_energy | float | false | 剩余可放电电量(单位:kWh) | |
max_charge_power | float | false | 最大可充电功率(单位:kW) | |
max_discharge_power | float | false | 最大可放电功率(单位:kW) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
ele_meter_id | int | false | 电表编号 | |
running_status | int | false | 运行状态 0-未知状态 1-停机 2-运行 | |
pcs_total_active_power | float | false | 当前总有功功率(单位:kW) | |
soc | float | false | 平均soc |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
device_id | int | true | 设备ID | 2 |
uid | string | false | 设备UID | |
purpose | int | true | 电表用途 1-关口表 2-计量表 | 1 |
scenario | int | false | 适用场景 1-储能 2-光伏 3-充电桩 | 1 |
total_active_power | float | false | 总有功功率(单位:kW) | 100.5 |
active_power_phase_a | float | false | A相有功功率(单位:kW) | 101.5 |
active_power_phase_b | float | false | B相有功功率(单位:kW) | 102.5 |
active_power_phase_c | float | false | C相有功功率(单位:kW) | 103.5 |
total_reactive_power | float | false | 总无功功率(单位:kVar) | 104.5 |
reactive_power_phase_a | float | false | A相无功功率(单位:kVar) | 105.5 |
reactive_power_phase_b | float | false | B相无功功率(单位:kVar) | 106.5 |
reactive_power_phase_c | float | false | C相无功功率(单位:kVar) | 107.5 |
total_apparent_power | float | false | 总视在功率(单位:kVar) | 108.5 |
apparent_power_phase_a | float | false | A相视在功率(单位:kVA) | 109.5 |
apparent_power_phase_b | float | false | B相视在功率(单位:kVA) | 110.5 |
apparent_power_phase_c | float | false | C相视在功率(单位:kVA) | 111.5 |
total_power_factor | float | false | 总功率因数 | 112.5 |
power_factor_phase_a | float | false | A相功率因数 | 113.5 |
power_factor_phase_b | float | false | B相功率因数 | 114.5 |
power_factor_phase_c | float | false | C相功率因数 | 115.5 |
voltage_phase_a | float | false | A相电压(单位:V) | 116.5 |
voltage_phase_b | float | false | B相电压(单位:V) | 117.5 |
voltage_phase_c | float | false | C相电压(单位:V) | 118.5 |
current_phase_a | float | false | A相电流(单位:A) | 119.5 |
current_phase_b | float | false | B相电流(单位:A) | 120.5 |
current_phase_c | float | false | C相电流(单位:A) | 121.5 |
frequency_grid | float | false | 电网总频率(单位:Hz) | 122.5 |
frequency_phase_a | float | false | A相频率(单位:Hz) | 123.5 |
frequency_phase_b | float | false | B相频率(单位:Hz) | 124.5 |
frequency_phase_c | float | false | C相频率(单位:Hz) | 125.5 |
total_active_energy | float | false | 组合有功总电能(单位:kWh) | 125.5 |
total_active_energy_1 | float | false | 组合功费率1电能(单位:kWh) | 125.5 |
total_active_energy_2 | float | false | 组合功费率2电能(单位:kWh) | 125.5 |
total_active_energy_3 | float | false | 组合功费率3电能(单位:kWh) | 125.5 |
total_active_energy_4 | float | false | 组合功费率4电能(单位:kWh) | 125.5 |
total_forward_active_energy | float | false | 正向有功总电能(单位:kWh) | 126.5 |
forward_active_energy_sharp | float | false | 正向有功尖电能(单位:kWh) | 127.5 |
forward_active_energy_peak | float | false | 正向有功峰电能(单位:kWh) | 128.5 |
forward_active_energy_flat | float | false | 正向有功平电能(单位:kWh) | 129.5 |
forward_active_energy_valley | float | false | 正向有功谷电能(单位:kWh) | 130.5 |
forward_active_energy_1 | float | false | 正向有功费率1电能(单位:kWh) | 127.5 |
forward_active_energy_2 | float | false | 正向有功费率2电能(单位:kWh) | 128.5 |
forward_active_energy_3 | float | false | 正向有功费率3电能(单位:kWh) | 129.5 |
forward_active_energy_4 | float | false | 正向有功费率4电能(单位:kWh) | 130.5 |
total_reverse_active_energy | float | false | 反向有功总电能(单位:kWh) | 131.5 |
reverse_active_energy_sharp | float | false | 反向有功尖电能(单位:kWh) | 132.5 |
reverse_active_energy_peak | float | false | 反向有功峰电能(单位:kWh) | 133.5 |
reverse_active_energy_flat | float | false | 反向有功平电能(单位:kWh) | 134.5 |
reverse_active_energy_valley | float | false | 反向有功谷电能(单位:kWh) | 135.5 |
reverse_active_energy_1 | float | false | 反向有功费率1电能(单位:kWh) | 132.5 |
reverse_active_energy_2 | float | false | 反向有功费率2电能(单位:kWh) | 133.5 |
reverse_active_energy_3 | float | false | 反向有功费率3电能(单位:kWh) | 134.5 |
reverse_active_energy_4 | float | false | 反向有功费率4电能(单位:kWh) | 135.5 |
max_demand_forward_active_power | float | false | 正向有功最大需量(单位:kVar) | 657 |
occurred_time_forward_active | int | false | 正向有功最大需量发生时间戳(单位:秒) | 1719398925 |
max_demand_reverse_active_power | float | false | 反向有功最大需量(单位:kVar) | 342 |
occurred_time_reverse_active | int | false | 反向有功最大需量发生时间戳(单位:秒) | 1719398925 |
max_demand_forward_reactive_power | float | false | 正向无功最大需量(单位:kVar) | 357 |
occurred_time_forward_reactive | int | false | 正向无功最大需量发生时间戳(单位:秒) | 1719398925 |
max_demand_reverse_reactive_power | float | false | 反向无功最大需量(单位:kVar) | 342 |
occurred_time_reverse_reactive | int | false | 反向无功最大需量发生时间戳(单位:秒) | 1719398925 |
instantaneous_apparent_power | float | false | 实时视在需量(单位:KVA) | 123 |
当前运行状态
1-停机
2-待机
5-运行
7-故障
| 1 | +| fault\_status | int | 否 | 故障代码 | 0 | +| alternating\_current\_output\_power\_factor | float64 | 否 | 交流输出功率因数 | 0.95 | +| ambient\_temp | float64 | 否 | 环境温度(℃) | 30 | +| irradiance | float64 | 否 | 辐射强度(W/m²) | 800 | + +### **payload - AlternatingChargePailData** + +参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
total_active | float | false | 总有功功率(单位:kW) | 100.5 |
active_power_phase_a | float | false | A相有功功率(单位:kW) | 101.5 |
active_power_phase_b | float | false | B相有功功率(单位:kW) | 102.5 |
active_power_phase_c | float | false | C相有功功率(单位:kW) | 103.5 |
total_reactive_power | float | false | 总无功功率(单位:kVar) | 104.5 |
reactive_power_phase_a | float | false | A相无功功率(单位:kVar) | 105.5 |
reactive_power_phase_b | float | false | B相无功功率(单位:kVar) | 106.5 |
reactive_power_phase_c | float | false | C相无功功率(单位:kVar) | 107.5 |
total_apparent_power | float | false | 总视在功率(单位:kVar) | 108.5 |
apparent_power_phase_a | float | false | A相视在功率(单位:kVA) | 109.5 |
apparent_power_phase_b | float | false | B相视在功率(单位:kVA) | 110.5 |
apparent_power_phase_c | float | false | C相视在功率(单位:kVA) | 111.5 |
total_power_factor | float | false | 总功率因数 | 112.5 |
power_factor_phase_a | float | false | A相功率因数 | 113.5 |
power_factor_phase_b | float | false | B相功率因数 | 114.5 |
power_factor_phase_c | float | false | C相功率因数 | 115.5 |
a_phase_voltage | float | false | A相电压(单位:V) | 116.5 |
b_phase_voltage | float | false | B相电压(单位:V) | 117.5 |
c_phase_voltage | float | false | C相电压(单位:V) | 118.5 |
a_phase_current | float | false | A相电流(单位:A) | 119.5 |
b_phase_current | float | false | B相电流(单位:A) | 120.5 |
c_phase_current | float | false | C相电流(单位:A) | 121.5 |
frequency_grid | float | false | 电网总频率(单位:Hz) | 122.5 |
frequency_phase_a | float | false | A相频率(单位:Hz) | 123.5 |
frequency_phase_b | float | false | B相频率(单位:Hz) | 124.5 |
frequency_phase_c | float | false | C相频率(单位:Hz) | 125.5 |
total_electric_energy | float | false | 累计并入电网总电能) | 123.5 |
current_electric_energy | float | false | 当前并入电网电能 | 123.5 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
input_power | float | false | 输入功率 | 100.5 |
output_power | float | false | 输出功率 | 101.5 |
input_voltage | float | false | 输入电压 | 102.5 |
output_voltage | float | false | 输出电压 | 103.5 |
input_current | float | false | 输入电流 | 104.5 |
output_current | float | false | 输出电流 | 105.5 |
total_apparent_power | float | false | 总视在功率(单位:kVar) | 108.5 |
total_power_factor | float | false | 总功率因数 | 112.5 |
total_electric_energy | float | false | 累计充电电量 | 113.5 |
current_electric_energy | float | false | 当前充电电量 | 114.5 |
total_active | float | false | 总有功功率 | 114.5 |
total_reactive_power | float | false | 总无功功率 | 115.5 |
a_phase_voltage | float | false | A相电压(单位:V) | 116.5 |
b_phase_voltage | float | false | B相电压(单位:V) | 117.5 |
c_phase_voltage | float | false | C相电压(单位:V) | 118.5 |
frequency_grid | float | false | 电网总频率(单位:Hz) | 122.5 |
{
+ "trace_id": "d882e331-ba8b-4b7a-8ab7-0690786844c8",
+ "mid": "b15d71d6-48f5-4aeb-83e8-2dc828a75701",
+ "type": "report_regular",
+ "sub_device_id": 1,
+ "device_uid": "xxxxxxxxxx",
+ "timestamp": 1721119850008,
+ "data": [
+ {
+ "type": "photovoltaic_inverter",
+ "index": 0,
+ "data": {
+ "alternating_current_voltage_a": 77.2,
+ "alternating_current_voltage_b": 77.3,
+ "alternating_current_voltage_c": 77.4,
+ "alternating_current_current_a": 77.5,
+ "alternating_current_current_b": 77.6,
+ "alternating_current_current_c": 77.7,
+ "direct_current_voltage": 79.6,
+ "direct_current_current": null,
+ "direct_current_input_power": null,
+ "alternating_current_output_power": 55706.451,
+ "total_active_power": null,
+ "total_reactive_power": 58524.542,
+ "alternating_current_output_frequency": 6671666.7,
+ "inverter_efficiency": null,
+ "inverter_internal_temp": 78.3,
+ "inverter_heatsink_temp": null,
+ "running_status": 0,
+ "fault_status": 785,
+ "alternating_current_output_power_factor": 0.886,
+ "ambient_temp": null,
+ "irradiance": null
+ }
+ }
+ ]
+}
+
+
+### **Payload示例 -** alternating\_pail
+
+```json
+{
+ "trace_id": "d882e331-ba8b-4b7a-8ab7-0690786844c8",
+ "mid": "b15d71d6-48f5-4aeb-83e8-2dc828a75701",
+ "type": "report_regular",
+ "sub_device_id": 1,
+ "device_uid": "xxxxxxxxxx",
+ "timestamp": 1721119850008,
+ "data": [
+ {
+ "type": "alternating_pail",
+ "index": 0,
+ "data": {
+ "a_phase_voltage": 1.1,
+ "b_phase_voltage": 2.2,
+ "c_phase_voltage": 3.3,
+ "a_phase_current": 0.44,
+ "b_phase_current": 0.55,
+ "c_phase_current": 0.66,
+ "total_active": 50,
+ "active_power_phase_a": 0.099,
+ "active_power_phase_b": 0.099,
+ "active_power_phase_c": 0.099,
+ "total_reactive_power": 0.123,
+ "reactive_power_phase_a": 0.099,
+ "reactive_power_phase_b": 0.099,
+ "reactive_power_phase_c": 0.099,
+ "total_apparent_power": 0.234,
+ "apparent_power_phase_a": 0.099,
+ "apparent_power_phase_b": 0.099,
+ "apparent_power_phase_c": 0.099,
+ "total_power_factor": 8.88,
+ "power_factor_phase_a": 5.55,
+ "power_factor_phase_b": 6.66,
+ "power_factor_phase_c": 7.77,
+ "frequency_grid": 50,
+ "frequency_phase_a": null,
+ "frequency_phase_b": null,
+ "frequency_phase_c": null,
+ "total_electric_energy": 0,
+ "current_electric_energy": 0
+ }
+ }
+ ]
+}
+```
+
+### **Payload示例 -** direct\_pail
+
+```json
+{
+ "trace_id": "d882e331-ba8b-4b7a-8ab7-0690786844c8",
+ "mid": "b15d71d6-48f5-4aeb-83e8-2dc828a75701",
+ "type": "report_regular",
+ "sub_device_id": 1,
+ "device_uid": "xxxxxxxxxx",
+ "timestamp": 1721119850008,
+ "data": [
+ {
+ "type": "direct_pail",
+ "index": 0,
+ "data": {
+ "input_power": 0,
+ "output_power": 0,
+ "input_voltage": 0,
+ "output_voltage": 0,
+ "input_current": 0,
+ "output_current": 0,
+ "a_phase_voltage": 0,
+ "b_phase_voltage": 0,
+ "c_phase_voltage": 0,
+ "total_electric_energy": 0,
+ "current_electric_energy": 0,
+ "frequency_grid": 0,
+ "total_active": 0,
+ "total_reactive_power": null,
+ "total_apparent_power": null,
+ "total_power_factor": null
+ }
+ }
+ ]
+}
+```
+
+### **Payload示例 -** pail\_meter
+
+```json
+
+{
+ "trace_id": "085be8f4-2f7b-488d-8a93-d0c7dcd7f033",
+ "mid": "044b29cf-565e-434d-82a6-364411af6a71",
+ "type": "report_regular",
+ "sub_device_id": 1,
+ "device_uid": "xxxxxxxxxx",
+ "timestamp": 1705980251899,
+ "data": [
+ {
+ "type": "pail_meter",
+ "index": 0,
+ "data": {
+ "total_active_power": 0.285,
+ "active_power_phase_a": 0.11,
+ "active_power_phase_b": 0.105,
+ "active_power_phase_c": 0.065,
+ "total_reactive_power": 0.11,
+ "reactive_power_phase_a": 0,
+ "reactive_power_phase_b": 0,
+ "reactive_power_phase_c": 0.11,
+ "total_apparent_power": 0.35,
+ "apparent_power_phase_a": 0.11,
+ "apparent_power_phase_b": 0.11,
+ "apparent_power_phase_c": 0.13,
+ "total_power_factor": 0.187,
+ "power_factor_phase_a": 1,
+ "power_factor_phase_b": 1,
+ "power_factor_phase_c": 0.503,
+ "voltage_phase_a": 230.1,
+ "voltage_phase_b": 230.5,
+ "voltage_phase_c": 230.3,
+ "current_phase_a": 0,
+ "current_phase_b": 0,
+ "current_phase_c": 0,
+ "frequency_grid": 50,
+ "total_active_energy": 25197.5,
+ "total_active_energy_1": 0,
+ "total_active_energy_2": 0,
+ "total_active_energy_3": 0,
+ "total_forward_active_energy": 14318.5,
+ "forward_active_energy_1": 11,
+ "forward_active_energy_2": 10.5,
+ "forward_active_energy_3": 13.5,
+ "total_reverse_active_energy": 10879,
+ "reverse_active_energy_1": 1160,
+ "reverse_active_energy_2": 1160.5,
+ "reverse_active_energy_3": 1164
+ }
+ }
+ ]
+}
+```
diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/device-event.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/device-event.md
new file mode 100644
index 0000000..e3f74a7
--- /dev/null
+++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/device-event.md
@@ -0,0 +1,342 @@
+---
+description: !该版本即将下线,请使用V2版本!
+---
+
+# \[Deprecated]设备事件
+
+## 定时上报信息
+
+* **Topic:**
+ * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``report/regular``/post`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``report/regular``/post`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | report_regular | report_regular |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | false | 子设备UID,仅二级替单个子设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | false | 子设备ID,仅二级替单个子设备上报时需要该字段 | (0, ∞) | 2 |
device_uid | str | true | 设备ID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
type | str | true | 子设备类型 sub_ems: 一级EMS数据 sub_elemeter: 电表数据 sub_elemeters: 电表数据批量 ems: 二级ems数据 | "ems" |
data | SubEMSData/EMSData/SubEleMeterData/SubEleMetersData | true | 子设备/二级EMS数据/电表数据/电表组合数据 | - |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
uid | str | false | 一级设备UID | "xxxx" |
bms | RegularReportBMS | false | BMS数据 | - |
pcs | RegularReportPCS | false | PCS数据 | - |
ems | RegularReportEMS | false | EMS数据 | - |
cooling | RegularReportAircon/RegularReportLiquidcon | false | 空调数据 | - |
cooling_method | str | false | 冷却方式 air: 风冷 liquid: 液冷 | “air“ |
fire | RegularReportFire | false | 消防数据 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
running_status | int | false | bms运行状态 0-未知状态 1-停机 2-待机 3-充电 4-放电 | 2 |
total_alarm_status | int | false | 总告警 0-正常 1-告警 | 0 |
total_fault_status | int | false | 总故障 0-正常 1-故障 | 0 |
high_voltage_closed_status | int | false | 高压状态 0-断开 1-闭合 | 1 |
soc | float | false | 电池运行状态 SOC(单位:%) | 5 |
soh | float | false | 电池运行状态 SOH(单位:%) | 4.9 |
current_chargeable_energy | float | false | 剩余充电电量(单位:kWh) | |
current_dischargeable_energy | float | false | 剩余放电电量(单位:kWh) | |
charge_accumulated_energy | float | false | 累计充电电量(单位:kWh) | |
discharge_accumulated_energy | float | false | 累计放电电量(单位:kWh) | |
daily_charge_energy | float | false | 日充电电量(单位:kWh) | |
daily_discharge_energy | float | false | 日放电电量(单位:kWh) | |
total_voltage | float | false | 总电压(单位:V) | 99 |
total_current | float | false | 总电流(单位:A) | 400 |
power | float | false | 功率(单位:kW) | |
max_allowed_charge_current | float | false | 电池最大允许充电电流(单位:A) | 123 |
max_allowed_discharge_current | float | false | 电池最大允许放电电流(单位:A) | 456 |
lowest_cell_temp | float | false | 单体最低温度(单位:℃) | 10 |
lowest_temp_id | int | false | 单体最低温度位置 | |
highest_cell_temp | float | false | 单体最高温度(单位:℃) | 50 |
highest_temp_id | int | false | 单体最高温度位置 | |
lowest_cell_voltage | float | false | 单体最低电压(单位:V) | 2.345 |
lowest_voltage_id | int | false | 单体最低电压位置 | |
highest_cell_voltage | float | false | 单体最高电压(单位:V) | 6.789 |
highest_voltage_id | int | false | 单体最高电压位置 | |
cell_voltage | []float | false | 单体电压(单位:V) | |
cell_temp | []float | false | 单体温度(单位:℃) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
running_status | int | false | PCS运行状态 0-未知状态 1-停机 2-待机 3-充电 4-放电 | 2 |
pcs_total_active_power | float | false | 交流_总有功功率(单位:kW) | 100 |
pcs_active_power_phase_a | float | false | 交流_A相有功功率(单位:kW) | 0.16 |
pcs_active_power_phase_b | float | false | 交流_B相有功功率(单位:kW) | 0.17 |
pcs_active_power_phase_c | float | false | 交流_C相有功功率(单位:kW) | 0.18 |
pcs_total_reactive_power | float | false | 交流_总无功功率(单位:kVar) | 0.26 |
pcs_reactive_power_phase_a | float | false | 交流_A相无功功率(单位:kVar) | 0.19 |
pcs_reactive_power_phase_b | float | false | 交流_B相无功功率(单位:kVar) | 0.2 |
pcs_reactive_power_phase_c | float | false | 交流_C相无功功率(单位:kVar) | 0.21 |
pcs_voltage_phase_a | float | false | 交流_A相电压(单位:V) | 1.1 |
pcs_voltage_phase_b | float | false | 交流_B相电压(单位:V) | 2.2 |
pcs_voltage_phase_c | float | false | 交流_C相电压(单位:V) | 3.3 |
pcs_current_phase_a | float | false | 交流_A相电流(单位:A) | 0.13 |
pcs_current_phase_b | float | false | 交流_B相电流(单位:A) | 0.14 |
pcs_current_phase_c | float | false | 交流_C相电流(单位:A) | 0.15 |
pcs_total_power_factor | float | false | 交流_总功率因数 | 0.28 |
pcs_power_factor_phase_a | float | false | 交流_A相功率因数 | 1.23 |
pcs_power_factor_phase_b | float | false | 交流_B相功率因数 | 4.56 |
pcs_power_factor_phase_c | float | false | 交流_C相功率因数 | 7.89 |
pcs_frequency_grid | float | false | 交流_电网总频率(单位:Hz) | |
pcs_frequency_phase_a | float | false | 交流_A相频率(单位:Hz) | |
pcs_frequency_phase_b | float | false | 交流_B相频率(单位:Hz) | |
pcs_frequency_phase_c | float | false | 交流_C相频率(单位:Hz) | |
pcs_ac_daily_charge_energy | float | false | 交流_日充电量(单位:kWh) | |
pcs_ac_daily_discharge_energy | float | false | 交流_日放电量(单位:kWh) | |
pcs_ac_charge_accumulated_energy | float | false | 交流_总充电电量(单位:kWh) | |
pcs_ac_discharge_accumulated_energy | float | false | 交流_总放电电量(单位:kWh) | |
pcs_input_power | float | false | 直流_功率(单位:kW) | 0.33 |
pcs_input_voltage | float | false | 直流_电压(单位:V) | 3.4 |
pcs_input_current | float | false | 直流_电流(单位:A) | 0.35 |
pcs_alarm_status | int | false | 告警状态 0-正常 1-告警 | |
pcs_fault_status | int | false | 故障状态 0-正常 1-故障 | |
pcs_grid_voltage_ab | float | false | AB相电网线电压(单位:V) | |
pcs_grid_voltage_bc | float | false | BC相电网线电压(单位:V) | |
pcs_grid_voltage_ca | float | false | CA相电网线电压(单位:V) | |
pcs_internal_temp | float | false | 设备内部腔体温度(单位:℃) | |
igbt_temp_phase_a | float | false | A相IGBT温度(单位:℃) | |
igbt_temp_phase_b | float | false | B相IGBT温度(单位:℃) | |
igbt_temp_phase_c | float | false | C相IGBT温度(单位:℃) | |
soc_temp | float | false | 片上SOC温度(单位:℃) | |
igbt_temp_1 | float | false | IGBT温度1(单位:℃) | |
igbt_temp_2 | float | false | IGBT温度2(单位:℃) | |
igbt_temp_3 | float | false | IGBT温度3(单位:℃) | |
igbt_temp_4 | float | false | IGBT温度4(单位:℃) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
mode | int | false | 运行模式 0-本地调试模式 1-本地自动模式 2-远程被动模式 | |
charge_strategy | 待定 | false | 充放电策略 (仅mode为远程时有) | |
protection_strategy | 待定 | false | 安全保护 (仅mode为远程时有) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
machine_status | int | false | 整机状态 1-运行 2-制冷 3-制热 4-自循环 5-自动 6-待机 | |
cooling_status | int | false | 制冷 0-停止 1-运行 | |
heating_status | int | false | 制热 0-停止 1-运行 | |
outdoor_temp | float | false | 环境温度/室外温度(单位:℃) | |
coil_temp | float | false | 盘管温度(单位:℃) | |
indoor_temp | float | false | 室内温度(单位:℃) | |
exhaust_temp | float | false | 排气温度(单位:℃) | |
cooling_point | float | false | 制冷点(单位:℃) | |
heating_point | float | false | 加热点(单位:℃) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
machine_status | int | false | 整机状态 1-运行 2-制冷 3-制热 4-自循环 5-自动 6-待机 | |
indoor_temp | float | false | 室内温度(单位:℃) | |
inlet_temp | float | false | 进水温度(单位:℃) | |
outlet_temp | float | false | 出水温度(单位:℃) | |
inlet_pressure | float | false | 进水口压力值(单位:bar) | |
outlet_pressure | float | false | 出水口压力值(单位:bar) | |
cooling_point | float | false | 制冷点(单位:℃) | |
heating_point | float | false | 加热点(单位:℃) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
fire_status | int | false | 消防相关状态 0-无状态 1-烟感反馈 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
total | EMSDataTotal | false | 二级EMS汇总 | |
statistics | []EMSDataStatistics | false | 支路下属储能设备运行统计 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
running_status | int | false | 运行状态 0-未知状态 1-停机 2-运行 | |
soc | float | false | 平均soc | |
pcs_total_active_power | float | false | 当前总有功功率(单位:kW) | |
pcs_total_reactive_power | float | false | 当前总无功功率(单位:kVar) | |
current_chargeable_energy | float | false | 剩余可充电电量(单位:kWh) | |
current_dischargeable_energy | float | false | 剩余可放电电量(单位:kWh) |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
ele_meter_id | int | false | 电表编号 | |
running_status | int | false | 运行状态 0-未知状态 1-停机 2-运行 | |
pcs_total_active_power | float | false | 当前总有功功率(单位:kW) | |
soc | float | false | 平均soc |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
id | int | true | 设备ID | 2 |
uid | string | false | 设备UID | |
purpose | int | true | 电表用途 1-关口表 2-计量表 | 1 |
total_active_power | float | false | 总有功功率(单位:kW) | 100.5 |
active_power_phase_a | float | false | A相有功功率(单位:kW) | 101.5 |
active_power_phase_b | float | false | B相有功功率(单位:kW) | 102.5 |
active_power_phase_c | float | false | C相有功功率(单位:kW) | 103.5 |
total_reactive_power | float | false | 总无功功率(单位:kVar) | 104.5 |
reactive_power_phase_a | float | false | A相无功功率(单位:kVar) | 105.5 |
reactive_power_phase_b | float | false | B相无功功率(单位:kVar) | 106.5 |
reactive_power_phase_c | float | false | C相无功功率(单位:kVar) | 107.5 |
total_apparent_power | float | false | 总视在功率(单位:kVar) | 108.5 |
apparent_power_phase_a | float | false | A相视在功率(单位:kVA) | 109.5 |
apparent_power_phase_b | float | false | B相视在功率(单位:kVA) | 110.5 |
apparent_power_phase_c | float | false | C相视在功率(单位:kVA) | 111.5 |
total_power_factor | float | false | 总功率因数 | 112.5 |
power_factor_phase_a | float | false | A相功率因数 | 113.5 |
power_factor_phase_b | float | false | B相功率因数 | 114.5 |
power_factor_phase_c | float | false | C相功率因数 | 115.5 |
voltage_phase_a | float | false | A相电压(单位:V) | 116.5 |
voltage_phase_b | float | false | B相电压(单位:V) | 117.5 |
voltage_phase_c | float | false | C相电压(单位:V) | 118.5 |
current_phase_a | float | false | A相电流(单位:A) | 119.5 |
current_phase_b | float | false | B相电流(单位:A) | 120.5 |
current_phase_c | float | false | C相电流(单位:A) | 121.5 |
frequency_grid | float | false | 电网总频率(单位:Hz) | 122.5 |
frequency_phase_a | float | false | A相频率(单位:Hz) | 123.5 |
frequency_phase_b | float | false | B相频率(单位:Hz) | 124.5 |
frequency_phase_c | float | false | C相频率(单位:Hz) | 125.5 |
total_forward_active_energy | float | false | 正向有功总电能(单位:kWh) | 126.5 |
forward_active_energy_sharp | float | false | 正向有功尖电能(单位:kWh) | 127.5 |
forward_active_energy_peak | float | false | 正向有功峰电能(单位:kWh) | 128.5 |
forward_active_energy_flat | float | false | 正向有功平电能(单位:kWh) | 129.5 |
forward_active_energy_valley | float | false | 正向有功谷电能(单位:kWh) | 130.5 |
total_reverse_active_energy | float | false | 反向有功总电能(单位:kWh) | 131.5 |
reverse_active_energy_sharp | float | false | 反向有功尖电能(单位:kWh) | 132.5 |
reverse_active_energy_peak | float | false | 反向有功峰电能(单位:kWh) | 133.5 |
reverse_active_energy_flat | float | false | 反向有功平电能(单位:kWh) | 134.5 |
reverse_active_energy_valley | float | false | 反向有功谷电能(单位:kWh) | 135.5 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | alarm_details | alarm_details |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | (0, ∞) | 1 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 告警id | (0, ∞) | 10 |
content | str | true | 故障/告警内容 | 不控整流告警 | |
device_type | str | true | 发生设备设备类型 | PCS、BMS | PCS |
alarm_type | str | true | 上报设备类型 | ems | ems |
level | int | true | 告警等级 | [1,3] | 1 |
handle_status | int | true | 状态 | 1-新增,2-已处理 | 2 |
handle_type | int | false | 处理方式 | 1-系统自动处理,2-用户手动处理 | 2 |
user_id | int | false | 处理的用户ID | 1 | |
occur_time | str | true | 告警发生时间 | 2024-04-16T02:30:27Z(UTC) | |
handle_time | str | false | 告警处理时间 | 2024-04-16T02:30:27Z(UTC) |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | grid_fm_receive | grid_fm_receive |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | false | 子设备UID,仅二级替单个子设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | false | 子设备ID,仅二级替单个子设备上报时需要该字段 | (0, ∞) | 2 |
device_uid | str | true | 设备ID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
type | str | true | 指令类型 | status-启停状态 power-功率 | power |
value | float | true | 指令内容 |
| 100.5 |
receive_time | int | true | 接收到调频指令的时间(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | emu_version | emu_version |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | emu_version | emu_version |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
device_id | int | 是 | 升级设备ID | 2 |
status | int | 是 | 设备状态 1-运行 2-离线 3-故障 | 1 |
emu_upgrade_success | int | 否 | EMU升级成功 0-有错误 1-全部升级成功 | 1 |
emu_upgrade_device | int | 否 | EMU升级设备 3:EMU 21:通讯板卡1 22:通讯板2 23:通讯板3 24:通讯板4 25:通讯板5 26:通讯板6 | 3 |
emu_upgrade_status | int | 否 | EMU升级状态 1:升级准备 2:传输准备 3:传输状态 4:校验状态 5:完成状态 | 5 |
emu_upgrade_content | int | 否 | 升级内容 传输状态:对应文件传输进度 | 100 |
emu_product_sn | string | 否 | EMU产品SN码 | emu-v1.0.0 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-011789wfg2",
+ "mid": "389d9ac9-c660-4459-b9d5-f43160183552",
+ "type": "emu_version",
+ "device_uid": "test",
+ "timestamp": 1725615497191,
+ "data": [{
+ "device_id": 2,
+ "status": 1,
+ "emu_upgrade_success": 1,
+ "emu_upgrade_device": 3,
+ "emu_upgrade_status": 5,
+ "emu_upgrade_content": 100,
+ "emu_product_sn": "emu-v1.0.0"
+ },
+ {
+ "device_id": 3,
+ "status": 1,
+ "emu_upgrade_success": 1,
+ "emu_upgrade_device": 3,
+ "emu_upgrade_status": 5,
+ "emu_upgrade_content": 100,
+ "emu_product_sn": "emu-v1.0.0"
+ },
+ {
+ "device_id": 4,
+ "status": 2,
+ "emu_upgrade_success": null,
+ "emu_upgrade_device": null,
+ "emu_upgrade_status": null,
+ "emu_upgrade_content": null,
+ "emu_product_sn": ""
+ }]
+}
+
+
+## 下发OTA-EMU升级命令
+
+* **Topic:**
+ * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``ota/emu_upgrade``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``ota/emu_upgrade``/command`
+* **权限:发布**
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | emu_upgrade | emu_upgrade |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | - | 2 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
50a2811e047dd49ace3801685eedb732
| + +* **Payload示例** + +{% code lineNumbers="true" %} +```json +{ + "trace_id": "577f5df0-65d6-432d-8aac-06hjkgfg2", + "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed", + "type": "emu_upgrade", + "device_uid": "test", + "sub_device_id": 2, + "timestamp": 1697789021000, + "data":{ + "download_url": "http://example.com/ems_II", + "md5_code": "50a2811e047dd49ace3801685eedb732", + } +} +``` +{% endcode %} + + + +### OTA-EMU升级命令响应 + +* **Topic:** + * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``ota/emu_upgrade``/result` + * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``ota/emu_upgrade``/result` +* **权限:**订阅 +* **Payload主结构** + +参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | emu_upgrade | emu_upgrade |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | - | 2 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
device_id | int | 是 | 升级设备ID | 2 |
download_status | int | 是 | 下载状态 1-下发EMU升级成功 2-下载失败 3-MD5校验失败 4-删除文件夹内容失败 5-解压失败 6-下发EMU升级失败 | 1 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | emu_upgrade_result | emu_upgrade_result |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | - | 2 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | emu_upgrade_result | emu_upgrade_result |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | - | 2 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 样例 |
---|---|---|---|---|
device_id | int | 是 | 升级设备ID | 2 |
status | int | 是 | 设备状态 1-运行 2-离线 3-故障 | 1 |
emu_upgrade_success | int | 否 | EMU升级成功 0-有错误 1-全部升级成功 | 1 |
emu_upgrade_device | int | 否 | EMU升级设备 3:EMU 21:通讯板卡1 22:通讯板2 23:通讯板3 24:通讯板4 25:通讯板5 26:通讯板6 | 3 |
emu_upgrade_status | int | 否 | EMU升级状态 1:升级准备 2:传输准备 3:传输状态 4:校验状态 5:完成状态 | 5 |
emu_upgrade_content | int | 否 | 升级内容 传输状态:对应文件传输进度 | 100 |
emu_product_sn | string | 否 | EMU产品SN码 | emu-v1.0.0 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | ota_upgrade | ota_upgrade |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
50a2811e047dd49ace3801685eedb732
| + +* **Payload示例** + +{% code lineNumbers="true" %} +```json +{ + "trace_id": "577f5df0-65d6-432d-8aac-06hjkgfg2", + "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed", + "type": "ota_upgrade", + "device_uid": "test", + "timestamp": 1697789021000, + "data":{ + "source": "ems_II", + "download_url": "http://example.com/ems_II", + "md5_code": "50a2811e047dd49ace3801685eedb732", + } +} +``` +{% endcode %} + +### 同步OTA结果响应 + +* **说明:** + +这里结果会有两阶段,发送两次响应,不同阶段对应的状态不同 + +* 第一阶段 + +第一阶段是准备阶段,在下载好确认文件无误后状态是 **2-文件已准备**。 + +状态有:**1-禁止更新 2-更新已准备3-更新准备失败** + +* 第二阶段 + +第二阶段是最后结果,如果更新成功后状态是 **4-更新成功**。 + +状态有:**4-更新成功 5-回滚成功 6-回滚失败** + +* **Topic:** + * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``ota/upgrade``/result` + * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``ota/upgrade``/result` +* **权限:**订阅 +* **Payload主结构** + +参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | ota_upgrade | ota_upgrade |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
更新状态
1-禁止更新
2-更新已准备
3-更新准备失败
4-更新成功
5-回滚成功
6-回滚失败
| 4 | + +* **Payload示例** + +{% code lineNumbers="true" %} +```json +{ + "trace_id": "577f5df0-65d6-432d-8aac-011789wfg2", + "mid": "389d9ac9-c660-4459-b9d5-f43160183552", + "type": "ota_upgrade", + "device_uid": "test", + "timestamp": 1725615497191, + "data": { + "source": "ems_II", + "target_commit_sha": "6a2bbabde8d42abc6f8fef7b31f60c5e69045245", + "target_version": "0.9.1", + "final_commit_sha": "6a2bbabde8d42abc6f8fef7b31f60c5e69045245", + "final_version": "0.9.1", + "status": 4 + } +} +``` +{% endcode %} + diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/overdemand.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/overdemand.md new file mode 100644 index 0000000..a1891c9 --- /dev/null +++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/overdemand.md @@ -0,0 +1,580 @@ +# 策略-需量管理与防逆流 + +## 上报防逆流过需策略 + +* **Topic:** + * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``streaming_overdemand/list``/post` + * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``streaming_overdemand/list``/post` +* **权限:**上报 +* **Payload主结构** + +参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_list | streaming_overdemand_list |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 过需逆流策略ID | 1 | |
device_type | int | true | 设备类型 | 2-储能设备 3-光伏 4-充电桩 | 2 |
devices | any | true | 设备列表 | - | []emsDevice/[]photovoltaic/[]pail |
elemeter | eleMeter | true | 电表 | - | eleMeter |
ele_meter_id | int | true | 电表id | 1 | |
streaming_condition | int | true | 防逆流执行条件 | - | 5000 |
streaming_status | int | true | 防逆流状态 | 1-启用 2-禁用 | 1 |
over_demand_condition | []int | true | 每月防过需执行条件(1-12月) | - | [5000,6000,5000,5000,6000,5000,5000,6000,5000,5000,6000,5000] |
over_demand_status | int | true | 防逆流状态 | 1-启用 2-禁用 | 1 |
dynamic_demand | int | true | 动态需量 | 6000 | |
dynamic_demand_percentage | int | true | 动态需量追峰比例 | 90 | |
current_over_demand_condition | int | true | 当前月份的过需条件 | 2000 | |
updated_by | str | true | 更新人 | user: 1-admin | |
created_at | str | true | 创建时间 | 2024-06-06T08:59:20.21309056Z | |
updated_at | str | true | 更新时间 | 2024-06-06T08:59:20.21309056Z |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
uid | str | true | 设备UID | - | DGHDJSJKD-1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | - |
latitude | float | true | 纬度 | - | |
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
参数 | 类型 | 是否必填 | 描述 | 样例 | |
---|---|---|---|---|---|
uid | str | true | 电表UID | - | QmqEhterhgrzS66grew-1 |
station_name | str | true | 站点名称 | - | 站点1 |
port | int | true | 端口 | [0,65535] | 1 |
name | str | true | 设备名称 | - | 东区变压器 |
elec_device_type | eleDeviceType | true | 电表类型对象 | - | - |
rate | int | true | 倍率 | (0, ∞) | 100 |
running_status | int | true | 运行状态 1-在线 2-离线 | [1,2] | 1 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_sync | streaming_overdemand_sync |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_sync | streaming_overdemand_sync |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 过需逆流策略ID | 1 | |
device_type | int | true | 设备类型 | 2-储能设备 3-光伏 4-充电桩 | 2 |
devices | any | true | 设备列表 | - | []emsDevice/[]photovoltaic/[]pail |
elemeter | eleMeter | true | 电表 | - | eleMeter |
ele_meter_id | int | true | 电表id | 1 | |
streaming_condition | int | true | 防逆流执行条件 | - | 5000 |
streaming_status | int | true | 防逆流状态 | 1-启用 2-禁用 | 1 |
over_demand_condition | []int | true | 每月防过需执行条件(1-12月) | - | [5000,6000,5000,5000,6000,5000,5000,6000,5000,5000,6000,5000] |
over_demand_status | int | true | 防逆流状态 | 1-启用 2-禁用 | 1 |
dynamic_demand | int | true | 动态需量 | 6000 | |
dynamic_demand_percentage | int | true | 动态需量追峰比例 | 90 | |
current_over_demand_condition | int | true | 当前月份的过需条件 | 2000 | |
updated_by | str | true | 更新人 | user: 1-admin | |
created_at | str | true | 创建时间 | 2024-06-06T08:59:20.21309056Z | |
updated_at | str | true | 更新时间 | 2024-06-06T08:59:20.21309056Z |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
uid | str | true | 设备UID | - | DGHDJSJKD-1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | |
latitude | float | true | 纬度 | ||
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
参数 | 类型 | 是否必填 | 描述 | 样例 | |
---|---|---|---|---|---|
uid | str | true | 电表UID | - | QmqEhterhgrzS66grew-1 |
station_name | str | true | 站点名称 | - | 站点1 |
port | int | true | 端口 | [0,65535] | 1 |
name | str | true | 设备名称 | - | 东区变压器 |
elec_device_type | eleDeviceType | true | 电表类型对象 | - | - |
rate | int | true | 倍率 | (0, ∞) | 100 |
running_status | int | true | 运行状态 1-在线 2-离线 | [1,2] | 1 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_create | streaming_overdemand_create |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 | |
---|---|---|---|---|---|---|
ele_meter_id | int | true | 电表设备ID | - | 1 | |
streaming_status | int | true | 防逆流状态 | 1-启用 2-禁用 | 1 | |
streaming_condition | int | true | 防逆流执行条件 | - | 1000 | |
over_demand_status | int | true | 防过需状态 | 1-启用 2-禁用 | 2 | |
over_demand_condition | []int | true | 防过需执行条件 | 分为12个月份,每个月份一个值 |
| |
dynamic_demand_status | int | true | 动态需量控制状态 | 1-启用 2-禁用 | 1 | |
dynamic_demand_percentage | int | true | 动态需量追峰比例 | 百分比 | 90 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_create | streaming_overdemand_create |
code | int | true | 响应代码 | - | 见响应代码 |
data | data | true | Data | 见Data | |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_update | streaming_overdemand_update |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_update | streaming_overdemand_update |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_delete | streaming_overdemand_delete |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | streaming_overdemand_delete | streaming_overdemand_delete |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pcs_set | pcs_set |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | (0, ∞) | 2 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
pcs_fault_reset | int | false | 故障复位 | [0,1] | 1 |
pcs_device_startup | int | false | 设备启动 | [0,1] | 0 |
pcs_device_stop | int | false | 设备停机 | [0,1] | 1 |
pcs_remote_emergency_stop | int | false | 远程急停 | [0,1] | 0 |
pcs_reset_cumulative_charge | int | false | 累计充电电量清零 | [0, 1] | 1 |
pcs_reset_cumulative_discharge | int | false | 累计放电电量清零 | [0,1] | 1 |
pcs_remote_local_setting | int | false | 远程/就地设置 0-就地,1-远程 } | [0, 1] | 1 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "type": "pcs_set",
+ "data": {
+ "pcs_device_stop":1,
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "sub_device_id": "${SUB_DEVICE_ID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
+
+### 发送pcs远程控制策略响应
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``pcs_control/set``/result`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``pcs_control/set``/result`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pcs_set | pcs_set |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
sub_device_uid | str | true | 子设备UID | ||
sub_device_id | int | true | 子设备ID | 2 | |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
type | str | true | 消息类型 | pcs_sync | pcs_sync |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pcs_sync | pcs_sync |
code | int | true | 响应代码 | 见响应代码 | |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | 2 | |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
pcs_fault_reset | int | false | 故障复位 | [0,1] | 1 |
pcs_device_startup | int | false | 设备启动 | [0,1] | 0 |
pcs_device_stop | int | false | 设备停机 | [0,1] | 1 |
pcs_remote_emergency_stop | int | false | 远程急停 | [0,1] | 0 |
pcs_reset_cumulative_charge | int | false | 累计充电电量清零 | [0, 1] | 1 |
pcs_reset_cumulative_discharge | int | false | 累计放电电量清零 | [0,1] | 1 |
pcs_remote_local_setting | int | false | 远程/就地设置 0-就地,1-远程 } | [0, 1] | 1 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "pcs_sync",
+ "code": 200,
+ "data": {
+ "pcs_fault_reset":0,
+ "pcs_device_startup":0,
+ "pcs_device_stop":1,
+ "pcs_remote_emergency_stop":0,
+ "pcs_reset_cumulative_charge":0,
+ "pcs_reset_cumulative_discharge":0,
+ "pcs_remote_local_setting":0
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "sub_device_id": "${SUB_DEVICE_ID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/photovoltaic_charge-strategy-1.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/photovoltaic_charge-strategy-1.md
new file mode 100644
index 0000000..94dde3e
--- /dev/null
+++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/photovoltaic_charge-strategy-1.md
@@ -0,0 +1,523 @@
+# 策略-充电桩均衡充放电
+
+## 上报充放电策略
+
+* **Topic:**
+ * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge_pail/list``/post`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge_pail/list``/post`
+* **权限:**上报
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_list | pail_charge_list |
data | data | true | 消息内容 | - | 见Payload - data/ChargeDetail |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | ID | - | 1 |
charge_type | int | true | 充放电类型(后续将支持更多类型) | 1-定时充放电 | 1 |
status | int | true | 策略开关 | 0-关闭, 1-开启 | 1 |
year | int | true | 年 | (若mode=1,则year为必填;) | 2024 |
month | []int | true | 月份选择(0代表一月) | [0,11] | [1,7,8,11] |
week_day | []int | false | 星期选择(0代表星期一) | [0,6] | [5,6] |
dates | []int | false | 日期选择(0代表1日) | [0, 30](根据年份大小月份变化) | [0,1] |
mode | int | true | 模式(根据mode参数取值不同,校验week_day或dates是否必填) | 1-月日模式 2- 月周模式 | 1(若mode=1,则dates为必填;若mode=2,则week_day为必填 |
devices | []Device | true | 光伏设备列表 | - | - |
settings | []chargeTime | true | 充放电时间段 | - | - |
apply_to_all | bool | true | 是否包括所有设备 | - | false |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
uid | str | true | 设备UID | - | DGHDJSJKD-1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | |
latitude | float | true | 纬度 | ||
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
start_hour | int | true | 开始小时 | [0,23] | 20 |
start_minute | int | true | 开始分钟 | [0,59] | 0 |
end_hour | int | true | 结束小时 | [0,23] | 0 |
end_minute | int | true | 结束分钟 | [0,59] | 0 |
cdc_enable_mode | int | true | 充放电设定 | 0-待机, 1-充电, 2-放电 | 1 |
run_power | int | true | 运行功率(单位:kW) | [0,65535] | 300 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "pail_charge_list",
+ "data": [{
+ "id": 1
+ "charge_type": 1,
+ "status": 1,
+ "year": 2024,
+ "month": [
+ 1,
+ 7,
+ 8,
+ 11
+ ],
+ "dates" : [1,2],
+ "mode" : 1,
+ "devices": [
+ {
+ "id": 1,
+ "proto_id": 6,
+ "proto_type": 1,
+ "application_proto_type": 2,
+ "host": "192.168.77.208",
+ "port": 1510,
+ "com_addr": "/dev/ttyS3",
+ "com_no": 3,
+ "baud_rate": 9600,
+ "data_bits": 8,
+ "stop_bits": 1,
+ "parity": "N",
+ "dlt_addr": "",
+ "slave_id": 1,
+ "uid": "",
+ "station_name": "测试站点",
+ "name": "充电桩1",
+ "model": 1,
+ "ele_meter_id": null,
+ "pt": 0,
+ "ct": 0,
+ "direction": 0,
+ "charge_power": 10,
+ "point_table_proto_type": {
+ "id": 0,
+ "device_type": 0,
+ "name": ""
+ },
+ "running_status": 1,
+ "charges": null,
+ "power_node_pail": null
+ }
+ ],
+ "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_pail/sync``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge_pail/sync``/command`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_sync | pail_charge_sync |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_sync | pail_charge_sync |
data | data | true | 消息内容 | - | 见Payload - data/ChargeDetail |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "pail_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,
+ "devices": [
+ {
+ "id": 1,
+ "proto_id": 6,
+ "proto_type": 1,
+ "application_proto_type": 2,
+ "host": "192.168.77.208",
+ "port": 1510,
+ "com_addr": "/dev/ttyS3",
+ "com_no": 3,
+ "baud_rate": 9600,
+ "data_bits": 8,
+ "stop_bits": 1,
+ "parity": "N",
+ "dlt_addr": "",
+ "slave_id": 1,
+ "uid": "",
+ "station_name": "测试站点",
+ "name": "充电桩1",
+ "model": 1,
+ "ele_meter_id": null,
+ "pt": 0,
+ "ct": 0,
+ "direction": 0,
+ "charge_power": 10,
+ "point_table_proto_type": {
+ "id": 0,
+ "device_type": 0,
+ "name": ""
+ },
+ "running_status": 1,
+ "charges": null,
+ "power_node_pail": null
+ }
+ ],
+ "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_pail/create``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge_pail/create``/command`
+* **权限:**上报
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_list | pail_charge_list |
data | data | true | 消息内容 | - | 见Payload - data/ChargeCreate |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
charge_type | int | true | 充放电类型(后续将支持更多类型) | 1-定时充放电 | 1 |
status | int | true | 策略开关 | 0-关闭, 1-开启 | 1 |
year | int | true | 年 | (若mode=1,则year为必填;) | 2024 |
month | []int | true | 月份选择(0代表一月) | [0,11] | [1,7,8,11] |
week_day | []int | false | 星期选择(0代表星期一) | [0,6] | [5,6] |
dates | []int | false | 日期选择(0代表1日) | 【0,30】 | 【0,1,2】 |
mode | int | true | 模式(根据mode 参数取值不同,校验week_day或dates是否必填) | 1-月日模式 2- 月周模式 | 1 |
device_ids | []int | false | 设备列表ID(uids、ids、apply_to_all三选一) | - | - |
apply_to_all | bool | false | 是否包括所有一级设备(uids、ids、apply_to_all三选一) | - | true |
settings | []chargeTime | true | 充放电时间段 | - | - |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_create | pail_charge_create |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
data | data | true | 其他数据 | 见data | |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_update | pail_charge_update |
data | data | true | 消息内容 | - | 见Payload - data/ChargeUpdate |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 策略ID | - | - |
其余字段见Payload - data/ChargeCreate | false |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_update | pail_charge_update |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_delete | pail_charge_delete |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 充放电策略ID | - | 1 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "pail_charge_delete",
+ "data": {
+ "id": 1,
+ },
+ "device_uid": "iYRkfVpi77",
+ "timestamp": 1695265371000
+}
+
+
+### 下发删除充放电策略响应
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge_pail/delete``/result`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge_pail/delete``/result`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_delete | pail_charge_delete |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_update_all | pail_charge_update_all |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | pail_charge_update_all | pail_charge_update_all |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_list | photovoltaic_charge_list |
data | data | true | 消息内容 | - | 见Payload - data/ChargeDetail |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | ID | - | 1 |
charge_type | int | true | 充放电类型(后续将支持更多类型) | 1-定时充放电 | 1 |
status | int | true | 策略开关 | 0-关闭, 1-开启 | 1 |
year | int | true | 年 | (若mode=1,则year为必填;) | 2024 |
month | []int | true | 月份选择(0代表一月) | [0,11] | [1,7,8,11] |
week_day | []int | false | 星期选择(0代表星期一) | [0,6] | [5,6] |
dates | []int | false | 日期选择(0代表1日) | [0, 30](根据年份大小月份变化) | [0,1] |
mode | int | true | 模式(根据mode参数取值不同,校验week_day或dates是否必填) | 1-月日模式 2-月周模式 | 1(若mode=1,则dates为必填;若mode=2,则week_day为必填 |
devices | []Device | true | 光伏设备列表 | - | - |
settings | []chargeTime | true | 充放电时间段 | - | - |
apply_to_all | bool | true | 是否包括所有设备 | - | false |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | ID | - | 1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | |
latitude | float | true | 纬度 | - | |
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
start_hour | int | true | 开始小时 | [0,23] | 20 |
start_minute | int | true | 开始分钟 | [0,59] | 0 |
end_hour | int | true | 结束小时 | [0,23] | 0 |
end_minute | int | true | 结束分钟 | [0,59] | 0 |
cdc_enable_mode | int | true | 充放电设定 | 0-待机, 2-放电 | 1 |
run_power | int | true | 运行功率(单位:kW) | [0,65535] | 300 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "photovoltaic_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,
+ }],
+ "apply_to_all": false,
+ "settings": [
+ {
+ "start_hour": 0,
+ "start_minute": 0,
+ "end_hour": 20,
+ "end_minute": 0,
+ "cdc_enable_mode": 2,
+ "run_power": 300
+ },
+ {
+ "start_hour": 20,
+ "start_minute": 0,
+ "end_hour": 23,
+ "end_minute": 0,
+ "cdc_enable_mode": 0,
+ "run_power": 0
+ }
+ ]
+ },
+ "device_uid": "iYRkfVpi77",
+ "timestamp": 1695265371000
+}
+
+
+## 平台请求同步光伏充放电策略
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge_photovoltaic/sync``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge_photovoltaic/sync``/command`
+* **权限:**发布
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_sync | photovoltaic_charge_sync |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_sync | photovoltaic_charge_sync |
data | data | true | 消息内容 | - | 见Payload - data/ChargeDetail |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "photovoltaic_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,
+ "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": 0,
+ "start_minute": 0,
+ "end_hour": 10,
+ "end_minute": 0,
+ "cdc_enable_mode": 2,
+ "run_power": 300
+ },
+ {
+ "start_hour": 20,
+ "start_minute": 0,
+ "end_hour": 23,
+ "end_minute": 0,
+ "cdc_enable_mode": 1,
+ "run_power": 0
+ }
+ ]
+ }],
+ "device_uid": "iYRkfVpi77",
+ "timestamp": 1695265371000
+}
+
+
+## 下发创建充放电策略指令
+
+* **Topic:**
+ * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``charge_photovoltaic/create``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge_photovoltaic/create``/command`
+* **权限:**下发
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | charge_photovoltaic_create | charge_photovoltaic_create |
data | data | true | 消息内容 | - | 见Payload - data/ChargeCreate |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
charge_type | int | true | 充放电类型(后续将支持更多类型) | 1-定时充放电 | 1 |
status | int | true | 策略开关 | 0-关闭, 1-开启 | 1 |
year | int | true | 年 | (若mode=1,则year为必填;) | 2024 |
month | []int | true | 月份选择(0代表一月) | [0,11] | [1,7,8,11] |
week_day | []int | false | 星期选择(0代表星期一) | [0,6] | [5,6] |
dates | []int | false | 日期选择(0代表1日) | [0,30] | [0,1,2] |
mode | int | true | 模式(根据mode 参数取值不同,校验week_day或dates是否必填) | 1-月日模式 2-月周模式 | 1 |
device_ids | []int | false | 设备列表ID(uids、ids、apply_to_all三选一) | - | - |
apply_to_all | bool | false | 是否包括所有一级设备(uids、ids、apply_to_all三选一) | - | true |
settings | []chargeTime | true | 充放电时间段 | - | - |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_create | photovoltaic_charge_create |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
data | data | true | 其他数据 | 见data | |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_update | photovoltaic_charge_update |
data | data | true | 消息内容 | - | 见Payload - data/ChargeUpdate |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 策略ID | - | - |
其余字段见Payload - data/ChargeCreate | false |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_update | photovoltaic_charge_update |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_delete | photovoltaic_charge_delete |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 充放电策略ID | - | 1 |
{
+ "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_photovoltaic/delete``/result`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``charge_photovoltaic/delete``/result`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_delete | photovoltaic_charge_delete |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_update_all | photovoltaic_charge_update_all |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | photovoltaic_charge_update_all | photovoltaic_charge_update_all |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | power_node_list | power_node_list |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 样例 | |
---|---|---|---|---|---|
id | int | true | ID | - | 1 |
name | str | true | 支路名称 | - | 电表1 |
type | int | true | 设备类型 1-电表设备 2-EMS设备 | [1,2] | 1 |
device | eleMeter/emsDevice | true | 设备详情 | - | - |
parent_id | int | true | 父节点ID | - | 0 |
path | str | true | 路径 | - | -0- |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
children | []powerNode | true | 子节点 | - | - |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
uid | str | true | 设备UID | - | DGHDJSJKD-1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | - |
latitude | float | true | 纬度 | - | |
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
参数 | 类型 | 是否必填 | 描述 | 样例 | |
---|---|---|---|---|---|
uid | str | true | 电表UID | - | QmqEhterhgrzS66grew-1 |
station_name | str | true | 站点名称 | - | 站点1 |
port | int | true | 端口 | [0,65535] | 1 |
name | str | true | 设备名称 | - | 东区变压器 |
rate | int | true | 倍率 | (0, ∞) | 100 |
running_status | int | true | 运行状态 1-在线 2-离线 | [1,2] | 1 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | power_node_sync | power_node_sync |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | false | 失败原因 | - | 参数错误 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | power_node_sync | power_node_sync |
data | data | true | 消息内容 | - | 见Payload - data |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 样例 | |
---|---|---|---|---|---|
id | int | true | ID | - | 1 |
name | str | true | 支路名称 | - | 电表1 |
type | int | true | 设备类型 1-电表设备 2-EMS设备 | [1,2] | 1 |
device | emsMeter/emsDevice | true | 设备详情 | - | - |
parent_id | int | true | 父节点ID | - | 0 |
path | str | true | 路径 | - | -0- |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,3] | 1 |
children | []powerNode | true | 子节点 | - | - |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
uid | str | true | 设备UID | - | DGHDJSJKD-1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | |
latitude | float | true | 纬度 | ||
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
参数 | 类型 | 是否必填 | 描述 | 样例 | |
---|---|---|---|---|---|
uid | str | true | 电表UID | - | QmqEhterhgrzS66grew-1 |
station_name | str | true | 站点名称 | - | 站点1 |
port | int | true | 端口 | [0,65535] | 1 |
name | str | true | 设备名称 | - | 东区变压器 |
rate | int | true | 倍率 | (0, ∞) | 100 |
running_status | int | true | 运行状态 1-在线 2-离线 | [1,2] | 1 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | safety_details | safety_details |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
bms_3 | int | true | BMS三级报警停机状态 0-关 1-开 | [0,1] | 1 |
fire_control | int | true | 消防报警停机 0-关 1-开 | [0,1] | 0 |
flooding | int | true | 水浸停机 0-关 1-开 | [0,1] | 1 |
aircon | int | true | 空调掉线停机 0-关 1-开 | [0,1] | 0 |
aircon_mins | int | true | 空调掉线停机时间 | [0, ∞) | 10 |
temp | int | true | 室内温度过高停机 0-关 1-开 | [0,1] | 1 |
temp_celsius | int | true | 室内温度过高停机温度 | [0, ∞) | 35 |
grounded | int | true | 接地离线停机状态 0-关 1-开 | [0,1] | 1 |
grounded_mins | int | true | 接地离线停机时间 | [0, ∞) | 5 |
bms_2 | int | true | BMS二级报警降功率停机 0-关 1-开 | [0,1] | 1 |
bms_2_kw | int | true | BMS二级报警降功率至停机功率 | [0, ∞) | 100 |
meter_offline_power0 | int | true | 电表离线停机 0-关 1-开 | [0,1] | 1 |
meter_offline_mins | int | true | 电表离线停机时间 | [0, ∞) | 100 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "type": "safety_details",
+ "data": {
+ "bms_3": 0,
+ "fire_control": 0,
+ "flooding": 0,
+ "aircon": 0,
+ "aircon_mins": 0,
+ "temp": 0,
+ "temp_celsius": 0,
+ "grounded": 0,
+ "grounded_mins": 0,
+ "bms_2": 0,
+ "bms_2_kw": 0,
+ "meter_offline_power0": 0,
+ "meter_offline_mins": 0
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
+
+## 平台请求同步安全保护策略
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``safety/sync``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``safety/sync``/command`
+* **权限:**发布
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | safety_sync | safety_sync |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | true | 失败原因 | - | 参数错误 |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | safety_sync | safety_sync |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
bms_3 | int | true | BMS三级报警停机状态 0-关 1-开 | [0,1] | 1 |
fire_control | int | true | 消防报警停机 0-关 1-开 | [0,1] | 0 |
flooding | int | true | 水浸停机 0-关 1-开 | [0,1] | 1 |
aircon | int | true | 空调掉线停机 0-关 1-开 | [0,1] | 0 |
aircon_mins | int | true | 空调掉线停机时间 | [0, ∞) | 10 |
temp | int | true | 室内温度过高停机 0-关 1-开 | [0,1] | 1 |
temp_celsius | int | true | 室内温度过高停机温度 | [0, ∞) | 35 |
grounded | int | true | 接地离线停机状态 0-关 1-开 | [0,1] | 1 |
grounded_mins | int | true | 接地离线停机时间 | [0, ∞) | 5 |
bms_2 | int | true | BMS二级报警降功率停机 0-关 1-开 | [0,1] | 1 |
bms_2_kw | int | true | BMS二级报警降功率至停机功率 | [0, ∞) | 100 |
meter_offline_power0 | int | true | 电表离线停机 0-关 1-开 | [0,1] | 1 |
meter_offline_mins | int | true | 电表离线停机时间 | [0, ∞) | 100 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "safety_sync",
+ "data": {
+ "bms_3": 0,
+ "fire_control": 0,
+ "flooding": 0,
+ "aircon": 0,
+ "aircon_mins": 0,
+ "temp": 0,
+ "temp_celsius": 0,
+ "grounded": 0,
+ "grounded_mins": 0,
+ "bms_2": 0,
+ "bms_2_kw": 0,
+ "meter_offline_power0": 0,
+ "meter_offline_mins": 0
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/sub-device.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/sub-device.md
new file mode 100644
index 0000000..b230b98
--- /dev/null
+++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/sub-device.md
@@ -0,0 +1,173 @@
+# 信息-EMU设备
+
+## 上报设备信息
+
+* **Topic:**
+ * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``device_info/details``/post`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``device_info/details``/post`
+* **权限:**订阅
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | device_info_details | device_info_details |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
sub_device_id | int | true | 一级设备ID,仅二级替一级设备上报时需要该字段 | (0, ∞) | 2 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 设备ID | - | 1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | |
latitude | float | true | 纬度 | ||
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "type": "device_info_details",
+ "data": {
+ "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": "2YIZedmOtl4pcqo1EA4zhM5gofDI",
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "sub_device_id": 2,
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
+
+## 平台请求同步设备信息
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``device_info/sync``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``device_info/sync``/command`
+* **权限:**发布
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | device_info_sync | device_info_sync |
data | data | true | 消息内容 | - | 见Payload - data |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | device_info_sync | device_info_sync |
data | data | true | 消息内容 | - | 见Payload - data |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | true | 失败原因 | - | 参数错误 |
sub_device_uid | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 设备ID | - | 1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | |
latitude | float | true | 纬度 | - | |
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "device_info_sync",
+ "data": {
+ "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": "2YIZedmOtl4pcqo1EA4zhM5gofDI",
+ },
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
+
+## 平台请求同步设备信息列表
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``device_info/list``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``device_info/list``/command`
+* **权限:**发布
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | device_info_list | device_info_list |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 4c5b3c27-cea8-4ea1-a936-41fd3596e0e9 |
reply | UUID | true | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | device_info_list | device_info_list |
data | data | true | 消息内容 | - | 见Payload - data |
code | int | true | 响应代码 | - | 见响应代码 |
msg | str | true | 失败原因 | - | 参数错误 |
device_uid | str | true | 设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | int | true | 设备ID | - | 1 |
name | str | true | 设备名称 | - | ems设备 |
site_name | str | true | 站点名称 | - | ems站点 |
location | str | true | 详细地理位置 | - | wudun |
longitude | float | true | 经度 | - | |
latitude | float | true | 纬度 | - | |
level | int | true | EMS等级 | [1, 2] | 1 |
type | str | true | 设备类型 | - | ems |
running_status | int | true | 运行状态 1-运行 2-离线 3-故障 | [1,2,3] | 1 |
host | str | true | 地址 | - | 192.168.0.1 |
port | str | true | 端口 | [0,65525] | 2171 |
license | str | true | 激活码 | - | 2YIZedmOtl4pcqo1EA4zhM5gofDI |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "device_info_list",
+ "data": [{
+ "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": "2YIZedmOtl4pcqo1EA4zhM5gofDI",
+ }],
+ "sub_device_uid": "${SUB_DEVICE_UID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
diff --git a/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/sub-elemeter.md b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/sub-elemeter.md
new file mode 100644
index 0000000..88768ab
--- /dev/null
+++ b/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/sub-elemeter.md
@@ -0,0 +1,227 @@
+# 信息-电表设备
+
+## 上报电表设备信息
+
+* **Topic:**
+ * 用户自定义MQTT: `v1/wudun/${PRODUCT_KEY}/${DEVICE}/``elemeter_info/details``/post`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``elemeter_info/details``/post`
+* **权限:**订阅
+* **Payload主结构**
+
+参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | uuid | 是 | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | 是 | 消息类型 | elemeter_info_details | elemeter_info_details |
data | data | 是 | 消息内容 | - | 见Payload - data |
sub_device_id | int | 是 | 一级设备ID,仅二级替一级设备上报时需要该字段 | - | 1 |
device_uid | str | 是 | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | 是 | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
id | uint | 是 | ID | - | 1 |
station_name | str | 是 | 站点名称 | - | 丽宝广场 |
virtual_type | uint | 是 | 虚拟类型 | 1-虚拟电表 2-真实电表 | 2 |
proto_type | uint | 是 | 协议类型 | 1-tcp 2-rtu | 1 |
application_proto_type | uint | 是 | 应用层协议类型 | 1-dlt645 2-modbus | 2 |
slave_id | uint | 否 | 设备从站id(应用层协议类型为modbus时必填) | - | 1 |
dlt_addr | str | 否 | 私有地址(应用层协议类型为1时必填) | - | AAAAAAAAAAAA |
host | str | 否 | 地址(传输层协议类型为2时必填) | - | 192.168.0.1 |
port | uint | 否 | 端口(传输层协议类型为2时必填) | [0,65535] | 502 |
com_addr | str | 否 | 串口地址(传输层协议类型为1时必填 | - | /dev/ttyS1 |
com_no | uint | 否 | 串口号(传输层协议类型为1时必填 | - | 1 |
baud_rate | int | 否 | 波特率(传输层协议类型为1时必填) | - | 9600 |
data_bits | int | 否 | 数据位(传输层协议类型为1时必填) | - | 8 |
stop_bits | int | 否 | 停止位(传输层协议类型为1时必填) | - | 1 |
parity | string | 否 | 校验位 (传输层协议类型为1时必填) | N:无校验 E:奇校验 O:偶校验 | N |
name | str | 是 | 设备名称 | 东区变压器 | |
ele_device_type_id | uint | 是 | 电表类型id | 1 | |
ele_device_type | ele_device_type | 是 | 电表类型对象 | ||
pt | uint | 是 | 电压互感 | 10 | |
ct | uint | 是 | 电流互感 | 10 | |
direction | int | 是 | 电表方向 | ||
running_status | uint | 是 | 运行状态 | 1 | |
purpose | int | 否 | 用途 | 1-关口表 2-计量表 | 1 |
associate_meters | []eleMeter | 否 | 关联的电表 | 关联自身 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | UUID | true | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | true | 消息类型 | elemeter_info_sync | elemeter_info_sync |
sub_device_id | str | true | 一级设备UID,仅二级替一级设备上报时需要该字段 | - | jHODSda39 |
device_uid | str | true | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | true | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | uuid | 是 | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
reply | uuid | 是 | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | 是 | 消息类型 | elemeter_info_sync | elemeter_info_sync |
data | data | 是 | 消息内容 | - | 见Payload - data |
code | int | 是 | 响应代码 | - | 见响应代码 |
msg | str | 是 | 失败原因 | - | 参数错误 |
sub_device_id | int | 是 | 一级设备ID,仅二级替一级设备上报时需要该字段 | - | 1 |
device_uid | str | 是 | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | 是 | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "elemeter_info_sync",
+ "data": {
+ "id": 1,
+ "proto_id": 1,
+ "proto_type": 1,
+ "application_proto_type": 2,
+ "host": "192.168.1.2",
+ "port": 502,
+ "com_addr": "",
+ "com_no": 0,
+ "baud_rate": 9600,
+ "data_bits": 8,
+ "stop_bits": 1,
+ "parity": "N",
+ "dlt_addr": "",
+ "slave_id": 1,
+ "uid": "",
+ "station_name": "测试站点",
+ "name": "电表208",
+ "virtual_type": 2,
+ "ele_device_type_id": 1,
+ "ele_device_type": {
+ "id": 1,
+ "device_type": 1,
+ "name": "Acrel-ADW300"
+ },
+ "running_status": 1,
+ "direction": 1,
+ "pt": 1,
+ "ct": 1,
+ "purpose": 1,
+ "meter_ids": null,
+ "associate_meters": []
+ },
+ "sub_device_id": "${SUB_DEVICE_ID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
+
+## 平台请求同步设备信息列表
+
+* **Topic:**
+ * 用户自定义MQTT:`v1/wudun/${PRODUCT_KEY}/${DEVICE}/``elemeter_info/list``/command`
+ * 平台默认MQTT: `v1/user/${TENANT}/${DEVICE}/``elemeter_info/list``/command`
+* **权限:**发布
+* **Payload主结构**
+
+ 参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | uuid | 是 | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | 是 | 消息类型 | elemeter_info_list | elemeter_info_list |
device_uid | str | 是 | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | 是 | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
错误码 | 描述 | 说明 |
---|---|---|
200 | 下发成功 | |
400 | 参数有误 |
参数 | 类型 | 是否必填 | 描述 | 范围 | 样例 |
---|---|---|---|---|---|
mid | uuid | 是 | 消息ID | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
reply | uuid | 是 | 所回复消息的mid | - | 3e681859-6917-4b9a-9afd-3f162cd185bd |
type | str | 是 | 消息类型 | elemeter_info_list | elemeter_info_list |
data | data | 是 | 消息内容 | - | 见Payload - data |
code | int | 是 | 响应代码 | - | 见响应代码 |
msg | str | 是 | 失败原因 | - | 参数错误 |
sub_device_id | int | 是 | 一级设备ID,仅二级替一级设备上报时需要该字段 | - | 1 |
device_uid | str | 是 | (二级)设备UID | - | iYRkfVpi77 |
timestamp | int | 是 | 消息时间戳(单位:毫秒) | (0, ∞) | 1696837112000 |
{
+ "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
+ "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
+ "reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
+ "type": "elemeter_info_list",
+ "data": [
+ {
+ "id": 1,
+ "proto_id": 1,
+ "proto_type": 1,
+ "application_proto_type": 2,
+ "host": "192.168.1.2",
+ "port": 502,
+ "com_addr": "",
+ "com_no": 0,
+ "baud_rate": 9600,
+ "data_bits": 8,
+ "stop_bits": 1,
+ "parity": "N",
+ "dlt_addr": "",
+ "slave_id": 1,
+ "uid": "",
+ "station_name": "测试站点",
+ "name": "电表208",
+ "virtual_type": 2,
+ "ele_device_type_id": 1,
+ "ele_device_type": {
+ "id": 1,
+ "device_type": 1,
+ "name": "Acrel-ADW300"
+ },
+ "running_status": 1,
+ "direction": 1,
+ "pt": 1,
+ "ct": 1,
+ "purpose": 1,
+ "meter_ids": null,
+ "associate_meters": []
+ },
+],
+ "sub_device_id": "${SUB_DEVICE_ID}",
+ "device_uid": "${DEVICE_UID}",
+ "timestamp": 1695265371000
+}
+
diff --git a/00. 预研阶段/平台收益计算公式.xlsx b/00. 预研阶段/平台收益计算公式.xlsx
new file mode 100644
index 0000000..223d07d
Binary files /dev/null and b/00. 预研阶段/平台收益计算公式.xlsx differ
diff --git a/00. 预研阶段/物盾(启辰新能源)云平台.docx b/00. 预研阶段/物盾(启辰新能源)云平台.docx
new file mode 100644
index 0000000..55fda6b
Binary files /dev/null and b/00. 预研阶段/物盾(启辰新能源)云平台.docx differ
diff --git a/00. 预研阶段/物盾EMS使用场景.xlsx b/00. 预研阶段/物盾EMS使用场景.xlsx
new file mode 100644
index 0000000..bd606bb
Binary files /dev/null and b/00. 预研阶段/物盾EMS使用场景.xlsx differ
diff --git a/00. 预研阶段/物盾EMS功能分解.pdf b/00. 预研阶段/物盾EMS功能分解.pdf
new file mode 100644
index 0000000..8f658b8
Binary files /dev/null and b/00. 预研阶段/物盾EMS功能分解.pdf differ
diff --git a/00. 预研阶段/物盾EMS网站页面.docx b/00. 预研阶段/物盾EMS网站页面.docx
new file mode 100644
index 0000000..94f6646
Binary files /dev/null and b/00. 预研阶段/物盾EMS网站页面.docx differ
diff --git a/00. 预研阶段/物盾EMU功能分解.pdf b/00. 预研阶段/物盾EMU功能分解.pdf
new file mode 100644
index 0000000..7c55d06
Binary files /dev/null and b/00. 预研阶段/物盾EMU功能分解.pdf differ
diff --git a/00. 预研阶段/电站设备拓扑.png b/00. 预研阶段/电站设备拓扑.png
new file mode 100644
index 0000000..f99e158
Binary files /dev/null and b/00. 预研阶段/电站设备拓扑.png differ
diff --git a/00. 预研阶段/电站设备相关数据拓扑.png b/00. 预研阶段/电站设备相关数据拓扑.png
new file mode 100644
index 0000000..35b8401
Binary files /dev/null and b/00. 预研阶段/电站设备相关数据拓扑.png differ
diff --git a/00. 预研阶段/飞凌图片/024cf97916f423877b72d148444611c6_compress.png b/00. 预研阶段/飞凌图片/024cf97916f423877b72d148444611c6_compress.png
new file mode 100644
index 0000000..867094a
Binary files /dev/null and b/00. 预研阶段/飞凌图片/024cf97916f423877b72d148444611c6_compress.png differ
diff --git a/00. 预研阶段/飞凌图片/f03d9a220830203a1e539bca8b5f5a60_compress(1).png b/00. 预研阶段/飞凌图片/f03d9a220830203a1e539bca8b5f5a60_compress(1).png
new file mode 100644
index 0000000..ae39dc2
Binary files /dev/null and b/00. 预研阶段/飞凌图片/f03d9a220830203a1e539bca8b5f5a60_compress(1).png differ
diff --git a/00. 预研阶段/飞凌图片/fc507adac3d6f82c0082e0b9a3e82cfc_origin(1).png b/00. 预研阶段/飞凌图片/fc507adac3d6f82c0082e0b9a3e82cfc_origin(1).png
new file mode 100644
index 0000000..ae82092
Binary files /dev/null and b/00. 预研阶段/飞凌图片/fc507adac3d6f82c0082e0b9a3e82cfc_origin(1).png differ
diff --git a/00. 预研阶段/飞凌图片/正-右.png b/00. 预研阶段/飞凌图片/正-右.png
new file mode 100644
index 0000000..6f8926f
Binary files /dev/null and b/00. 预研阶段/飞凌图片/正-右.png differ
diff --git a/00. 预研阶段/飞凌图片/正-右1.png b/00. 预研阶段/飞凌图片/正-右1.png
new file mode 100644
index 0000000..be35236
Binary files /dev/null and b/00. 预研阶段/飞凌图片/正-右1.png differ
diff --git a/03. 设计阶段/WEB UI/稿1.jpg b/03. 设计阶段/WEB UI/稿1.jpg
new file mode 100644
index 0000000..1c41af3
Binary files /dev/null and b/03. 设计阶段/WEB UI/稿1.jpg differ
diff --git a/03. 设计阶段/WEB UI/稿2.jpg b/03. 设计阶段/WEB UI/稿2.jpg
new file mode 100644
index 0000000..8aaf3e6
Binary files /dev/null and b/03. 设计阶段/WEB UI/稿2.jpg differ
diff --git a/03. 设计阶段/WEB UI/稿3.png b/03. 设计阶段/WEB UI/稿3.png
new file mode 100644
index 0000000..8d82309
Binary files /dev/null and b/03. 设计阶段/WEB UI/稿3.png differ