main
HwangKC 2025-02-14 18:09:24 +08:00
parent 61455ea884
commit c7b80ac680
39 changed files with 4978 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,2 @@
# 【未上线】二级EMS

View File

@ -0,0 +1,124 @@
# 手动控制-BMS远程控制
## 发送bms远程控制策略
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`bms_control/set/command`</mark>
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`bms_control/set/command`</mark>
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>bms_set</td><td>bms_set</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>(0, ∞)</td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="209">参数</th><th width="81">类型<select><option value="7a689ae99ed145e183989371bbcf21ce" label="int" color="blue"></option></select></th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>battery_system_reset</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>故障复位</td><td>[0,1]</td><td>1</td></tr><tr><td>high_voltage_command</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>接触器断开/闭合</td><td>[0,1]</td><td>0</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>
### 发送bms远程控制策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`bms_control/set`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`bms_control/set`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>bms_set</td><td>bms_set</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>子设备UID</td><td></td><td></td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>子设备ID</td><td></td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功 </td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "bms_set",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "下发成功",
"sub_device_uid": "jHODSda39",
"sub_device_id": "${SUB_DEVICE_ID}",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
##
## 请求同步bms远程控制策略
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`bms_control/sync/command`</mark>
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`bms_control/sync/command`</mark>
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>bms_sync</td><td>bms_sync</td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td></td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "bms_sync",
"sub_device_uid": "${SUB_DEVICE_UID}",
"sub_device_id": "${SUB_DEVICE_ID}",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265671000
}
```
### 同步bms远程控制策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`bms_control/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`bms_control/sync/`</mark>`result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>bms_sync</td><td>bms_sync</td></tr><tr><td>code </td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td></td><td>见响应代码</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
*
<table><thead><tr><th width="209">参数</th><th width="81">类型<select><option value="7a689ae99ed145e183989371bbcf21ce" label="int" color="blue"></option></select></th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>battery_system_reset</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>故障复位</td><td>[0,1]</td><td>1</td></tr><tr><td>high_voltage_command</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>接触器断开/闭合</td><td>[0,1]</td><td>0</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json"><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,579 @@
# 策略-均衡充放电
## 上报充放电策略
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/list`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/list`</mark>`/post`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_list</td><td>charge_list</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeDetail</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeDetail**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]emsDevice" color="blue"></option><option value="WJJvuYRv6dm6" label="bool" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>ID</td><td>-</td><td>1</td></tr><tr><td>charge_type</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电类型(后续将支持更多类型)</td><td>1-定时充放电</td><td>1</td></tr><tr><td>status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略开关</td><td>0-关闭,<br>1-开启</td><td>1</td></tr><tr><td>year</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td></td><td>若mode=1,则year为必填)</td><td>2024</td></tr><tr><td>month</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>true</td><td>月份选择0代表一月</td><td>[0,11]</td><td>[1,7,8,11]</td></tr><tr><td>week_day</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>星期选择0代表星期一</td><td>[0,6]</td><td>[5,6]</td></tr><tr><td>dates</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>日期选择0代表1日</td><td>[0, 30](根据年份大小月份变化)</td><td>[0,1]</td></tr><tr><td>mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>模式根据mode参数取值不同校验week_day或dates是否必填</td><td>1-月日模式<br>2- 月周模式<br></td><td>1若mode=1,则dates为必填若mode=2则week_day为必填</td></tr><tr><td>ems_devices</td><td><span data-option="7b18b87853a34308b8576531588a6c12">[]emsDevice</span></td><td>true</td><td>设备列表</td><td>-</td><td>-</td></tr><tr><td>settings</td><td><span data-option="dc27004c92e443db924ae8f38f2ec7f1">[]chargeTime</span></td><td>true</td><td>充放电时间段</td><td>-</td><td>-</td></tr><tr><td>apply_to_all</td><td><span data-option="WJJvuYRv6dm6">bool</span></td><td>true</td><td>是否包括所有一级设备</td><td>-</td><td>false</td></tr></tbody></table>
* **Payload - emsDevice**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>设备ID</td><td>-</td><td>1</td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td></td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td></td><td></td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障 </p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload - chargeTime**
<table><thead><tr><th width="184">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>start_hour</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>开始小时</td><td>[0,23]</td><td>20</td></tr><tr><td>start_minute</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>开始分钟</td><td>[0,59]</td><td>0</td></tr><tr><td>end_hour</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>结束小时</td><td>[0,23]</td><td>0</td></tr><tr><td>end_minute</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>结束分钟</td><td>[0,59]</td><td>0</td></tr><tr><td>cdc_enable_mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电设定</td><td>0-待机,<br>1-充电,<br>2-放电</td><td>1</td></tr><tr><td>run_power</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>运行功率(单位kW)</td><td>[0,65535]</td><td>300</td></tr></tbody></table>
* **时间说明:**`start_hour`, `start_minute`, `end_hour`, `end_minute`组成左闭右开的时间区间
* 如`start_hour=14`, `start_minute=15`, `end_hour=15`, `end_minute=00`表示`[14:15, 15:00)`即14:15开始到15:00前结束。
* 如`start_hour=20`, `start_minute=00`, `end_hour=00`, `end_minute=00`表示`[20:00, 00:00)`即20:00开始到后一天的00:00前结束
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "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
}
</code></pre>
## 平台请求同步充放电策略
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/sync`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/sync`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_sync</td><td>charge_sync</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "charge_sync",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
### 同步充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/sync`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_sync</td><td>charge_sync</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeDetail</strong></td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "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
}
</code></pre>
## 下发创建充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/create`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/${DEVICE}/`<mark style="color:red;">`charge/create`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_create</td><td>charge_create</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeCreate</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeCreate**
<table><thead><tr><th width="158">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option><option value="BkP3aIYpA60Z" label="bool" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>charge_type</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电类型(后续将支持更多类型)</td><td>1-定时充放电</td><td>1</td></tr><tr><td>status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略开关</td><td>0-关闭,<br>1-开启</td><td>1</td></tr><tr><td>year</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td></td><td>若mode=1,则year为必填)</td><td>2024</td></tr><tr><td>month</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>true</td><td>月份选择0代表一月</td><td>[0,11]</td><td>[1,7,8,11]</td></tr><tr><td>week_day</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>星期选择0代表星期一</td><td>[0,6]</td><td>[5,6]</td></tr><tr><td>dates</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>日期选择0代表1日</td><td>【0,30】</td><td>【0,1,2】</td></tr><tr><td>mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>模式根据mode 参数取值不同校验week_day或dates是否必填</td><td>1-月日模式<br>2- 月周模式</td><td>1</td></tr><tr><td>ems_device_uids</td><td><span data-option="7b18b87853a34308b8576531588a6c12">[]string</span></td><td>false</td><td>设备列表UIDuids、ids、apply_to_all三选一</td><td>-</td><td>-</td></tr><tr><td>ems_device_ids</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>设备列表IDuids、ids、apply_to_all三选一</td><td>-</td><td>-</td></tr><tr><td>apply_to_all</td><td><span data-option="BkP3aIYpA60Z">bool</span></td><td>false</td><td>是否包括所有一级设备uids、ids、apply_to_all三选一</td><td>-</td><td>true</td></tr><tr><td>settings</td><td><span data-option="dc27004c92e443db924ae8f38f2ec7f1">[]chargeTime</span></td><td>true</td><td>充放电时间段</td><td>-</td><td>-</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "charge_create",
"data": {
"charge_type": 1,
"status": 1,
"year": 2024
"month": [
1,
7,
8,
11
],
"week_day": [
5,
6
],
"mode":2,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
],
// "ems_device_uids": [
// "ZedmOtl4pc"
// ],
// "apply_to_all": true,
"ems_device_ids": [
1, 2, 3
] // ems_device_ids、ems_device_uids、apply_to_all 三选一
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
{% endcode %}
### 创建充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/create`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/create`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_create</td><td>charge_create</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>其他数据</td><td></td><td>见data</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Data**
| 参数 | 类型 | 说明 |
| ---------- | --- | ------- |
| policy\_id | int | 充放电策略id |
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "charge_create",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "",
"data": {
"policy_id": 1
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 下发修改充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/update`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/update`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_update</td><td>charge_update</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeUpdate</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeUpdate**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略ID</td><td>-</td><td>-</td></tr><tr><td>其余字段见<strong>Payload - data/ChargeCreate</strong></td><td></td><td>false</td><td></td><td></td><td></td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "charge_update",
"data": {
"id": 1,
"charge_type": 1,
"status": 1,
"year": 2024,
"month": [
1,
7,
8,
11
],
"week_day": [
5,
6
],
"mode":2,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
],
// "ems_device_uids": [
// "ZedmOtl4pc"
// ],
// "apply_to_all": true,
"ems_device_ids": [
1, 2, 3
] // ems_device_ids、ems_device_uids、apply_to_all 三选一
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
{% endcode %}
### 下发修改充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/update`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/update`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_update</td><td>charge_update</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "charge_update",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 下发删除充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/delete`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/delete`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_delete</td><td>charge_delete</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电策略ID</td><td>-</td><td>1</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "charge_delete",
"data": {
"id": 1,
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
</code></pre>
### 下发删除充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/delete`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/delete`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_delete</td><td>charge_delete</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "charge_delete",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 批量下发充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/update_all`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/update_all`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_update_all</td><td>charge_update_all</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - Data: \[]ChargeCreate**
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "charge_update_all",
"data": [
{
"charge_type": 1,
"status": 1,
"year": 2024,
"month": [
8
],
"week_day": [
6
],
"mode":2,
"apply_to_all": true,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
]
}
],
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
### 批量下发充放电策略响应
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/update_all`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/update_all`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_update_all</td><td>charge_update_all</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "d90e64f6-6c71-43e1-a755-d034bb307ee2",
"type": "charge_update_all",
"device_uid": "iYRkfVpi77",
"timestamp": 1706521447074,
"reply": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"code": 200,
}
```
## 下发创建/更新充放电策略根据支路ID
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/by_node`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/${DEVICE}/`<mark style="color:red;">`charge/by_node`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_by_node</td><td>charge_by_node</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeByNode</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeByNode**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>node_id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>支路节点ID</td><td>-</td><td>-</td></tr><tr><td>其余字段见<strong>Payload - data/ChargeCreate</strong></td><td></td><td>false</td><td></td><td></td><td></td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "charge_by_node",
"data": {
"charge_type": 1,
"status": 1,
"year": 2024,
"month": [
6
],
"week_day": [
0,
1,
2,
3,
4,
5,
6
],
"mode": 2,
"node_id": 2,
"settings": [
{
"start_hour": 20,
"start_minute": 0,
"end_hour": 0,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 300
},
{
"start_hour": 0,
"start_minute": 0,
"end_hour": 1,
"end_minute": 0,
"cdc_enable_mode": 1,
"run_power": 300
}
]
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
{% endcode %}
### 创建/更新充放电策略根据支路ID响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge/by_node`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge/by_node`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_by_node</td><td>charge_by_node</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>其他数据</td><td></td><td>见data</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Data**
| 参数 | 类型 | 说明 |
| ---------- | --- | ------- |
| policy\_id | int | 充放电策略id |
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "charge_by_node",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"data": {
"policy_id": 1
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```

View File

@ -0,0 +1,126 @@
# 手动控制-冷却系统远程控制
## 发送液冷远程控制策略
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`condition_control/set/command`</mark>
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`condition_control/set/command`</mark>
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>condition_set</td><td>condition_set</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td></td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="209">参数</th><th width="81">类型<select><option value="7a689ae99ed145e183989371bbcf21ce" label="int" color="blue"></option><option value="b1iX7Pkjvcfr" label="float" color="blue"></option></select></th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>power_on</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>开机 (0:关机, 1:开机)</td><td>[0,1]</td><td>1</td></tr><tr><td>target_heating_point</td><td><span data-option="b1iX7Pkjvcfr">float</span></td><td>false</td><td>加热目标温度</td><td>[0,∞]</td><td>0</td></tr><tr><td>target_cooling_point</td><td><span data-option="b1iX7Pkjvcfr">float</span></td><td>false</td><td>制冷目标温度</td><td>[0,∞]</td><td>1</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>
### 发送液冷远程控制策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`condition_control/set`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`condition_control/set`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>condition_set</td><td>condition_set</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>子设备UID</td><td></td><td></td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td></td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功 </td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "condition_set",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "下发成功",
"sub_device_uid": "jHODSda39",
"sub_device_id": "${SUB_DEVICE_ID}",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
##
## 请求同步液冷远程控制策略
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`condition_control/sync/command`</mark>
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`condition_control/sync/command`</mark>
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>condition_sync</td><td>condition_sync</td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td></td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "condition_sync",
"sub_device_uid": "${SUB_DEVICE_UID}",
"sub_device_id": "${SUB_DEVICE_ID}",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265671000
}
```
### 同步液冷远程控制策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`condition_control/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`condition_control/sync/`</mark>`result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>condition_sync</td><td>condition_sync</td></tr><tr><td>code </td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td></td><td>见响应代码</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td></td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
*
<table><thead><tr><th width="209">参数</th><th width="81">类型<select><option value="7a689ae99ed145e183989371bbcf21ce" label="int" color="blue"></option><option value="b1iX7Pkjvcfr" label="float" color="blue"></option></select></th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>power_on</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>开机 (0:关机, 1:开机)</td><td>[0,1]</td><td>1</td></tr><tr><td>target_heating_point</td><td><span data-option="b1iX7Pkjvcfr">float</span></td><td>false</td><td>加热目标温度</td><td>[0,∞]</td><td>0</td></tr><tr><td>target_cooling_point</td><td><span data-option="b1iX7Pkjvcfr">float</span></td><td>false</td><td>制冷目标温度</td><td>[0,∞]</td><td>1</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json"><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,40 @@
# 故障告警
## 上报故障告警
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`alarm/details`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`alarm/details`</mark>`/post`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>alarm_details</td><td>alarm_details</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>(0, ∞)</td><td>1</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/AlarmData**
<table><thead><tr><th width="209">参数</th><th width="81">类型</th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td>int</td><td>true</td><td>告警id</td><td>(0, ∞)</td><td>10</td></tr><tr><td>content</td><td>str</td><td>true</td><td>故障/告警内容</td><td></td><td>不控整流告警</td></tr><tr><td>device_type</td><td>str</td><td>true</td><td>发生设备设备类型</td><td>PCS、BMS</td><td>PCS</td></tr><tr><td>alarm_type</td><td>str</td><td>true</td><td>上报设备类型</td><td>ems</td><td>ems</td></tr><tr><td>level</td><td>int</td><td>true</td><td>告警等级</td><td>[1,3]</td><td>1</td></tr><tr><td>handle_status</td><td>int</td><td>true</td><td>状态</td><td>1-新增2-已处理</td><td>2</td></tr><tr><td>handle_type</td><td>int</td><td>false</td><td>处理方式</td><td>1-系统自动处理2-用户手动处理</td><td>2</td></tr><tr><td>user_id</td><td>int</td><td>false</td><td>处理的用户ID</td><td></td><td>1</td></tr><tr><td>occur_time</td><td>str</td><td>true</td><td>告警发生时间</td><td></td><td>2024-04-16T02:30:27ZUTC)</td></tr><tr><td>handle_time</td><td>str</td><td>false</td><td>告警处理时间</td><td></td><td>2024-04-16T02:30:27ZUTC)</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "alarms_details",
"data": {
"content": "不控整流告警",
"device_type": "PCS",
"alarm_type": "ems",
"level": 1,
"handle_status": 2,
"handle_type": 2,
"user_id": 1,
"occur_time": "2024-04-16T02:30:27Z",
"handle_time": "2024-04-16T02:30:27Z"
},
"sub_device_uid": "${SUB_DEVICE_UID}",
"sub_device_id": "${SUB_DEVICE_ID}",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}

View File

@ -0,0 +1,33 @@
# 调频-被动调频
## 上报被动调频信息
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`grid_fm/receive`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`grid_fm/receive`</mark>`/post`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173" align="center">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="98">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td align="center">mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td align="center">type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>grid_fm_receive</td><td>grid_fm_receive</td></tr><tr><td align="center">data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td align="center">sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>子设备UID仅二级替单个子设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td align="center">sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>false</td><td>子设备ID仅二级替单个子设备上报时需要该字段</td><td>(0, ∞)</td><td>2</td></tr><tr><td align="center">device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备ID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td align="center">timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
### **Payload - data**
<table><thead><tr><th width="173" align="center">参数</th><th width="80">类型<select><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="cgvge610ZB6t" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="98">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td align="center">type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>指令类型</td><td>status-启停状态<br>power-功率</td><td>power</td></tr><tr><td align="center">value</td><td><span data-option="cgvge610ZB6t">float</span></td><td>true</td><td>指令内容</td><td><ul><li><p>对于status</p><ul><li>0-停机</li><li>1-启动</li></ul></li><li><p>对于power</p><ul><li>单位kw</li><li>正充负放</li></ul></li></ul></td><td>100.5</td></tr><tr><td align="center">receive_time</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>接收到调频指令的时间(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload示例**
```json
{
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "grid_fm_receive",
"data": {
"type": "power",
"value": 100.5,
"receive_time": 1696837112000
},
"sub_device_id": 2,
"device_uid": "iYRkfVpi77",
"timestamp": 1696837112000
}
```

View File

@ -0,0 +1,220 @@
---
description: EMUOTA
---
# \[未上线]OTA-EMU
## 请求EMU版本信息
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`ota/emu_version`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`ota/emu_version`</mark>`/command`
* **权限:发布**
* **Payload主结构**
<table><thead><tr><th width="154">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th width="131">范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>emu_version</td><td>emu_version</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data 无**
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-06hjkgfg2",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "emu_version",
"device_uid": "test",
"timestamp": 1697789021000
}
```
{% endcode %}
### EMU版本信息响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`ota/emu_version`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`ota/emu_version`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>emu_version</td><td>emu_version</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data \[]**EMUVersion
* EMUVersion
<table><thead><tr><th width="159">参数</th><th width="93">类型</th><th width="99">是否必填</th><th width="255">描述</th><th>样例</th></tr></thead><tbody><tr><td>device_id</td><td>int</td><td></td><td>升级设备ID</td><td>2</td></tr><tr><td>status</td><td>int</td><td></td><td><p>设备状态</p><p>1-运行</p><p>2-离线</p><p>3-故障</p></td><td>1</td></tr><tr><td>emu_upgrade_success</td><td>int</td><td></td><td><p>EMU升级成功</p><p>0-有错误 </p><p>1-全部升级成功</p></td><td>1</td></tr><tr><td>emu_upgrade_device</td><td>int</td><td></td><td><p>EMU升级设备</p><p>3:EMU </p><p>21:通讯板卡1 </p><p>22:通讯板2 </p><p>23:通讯板3 </p><p>24:通讯板4 </p><p>25:通讯板5 </p><p>26:通讯板6</p></td><td>3</td></tr><tr><td>emu_upgrade_status</td><td>int</td><td></td><td><p>EMU升级状态 </p><p>1:升级准备 </p><p>2:传输准备 </p><p>3:传输状态 </p><p>4:校验状态 </p><p>5:完成状态</p></td><td>5</td></tr><tr><td>emu_upgrade_content</td><td>int</td><td></td><td>升级内容 传输状态:对应文件传输进度</td><td>100</td></tr><tr><td>emu_product_sn</td><td>string</td><td></td><td>EMU产品SN码</td><td>emu-v1.0.0</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "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": ""
}]
}
</code></pre>
## 下发OTA-EMU升级命令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`ota/emu_upgrade`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`ota/emu_upgrade`</mark>`/command`
* **权限:发布**
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>emu_upgrade</td><td>emu_upgrade</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>-</td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
| 参数 | 类型 | 是否必填 | 描述 | 样例 |
| ------------- | ------ | ---- | ---- | -------------------------------------------------------- |
| download\_url | string | 是 | 下载链接 | [http://example.com/ems\_II](http://example.com/ems\_II) |
| md5\_code | string | 是 | MD5码 | <p>50a2811e047dd49ace3801685eedb732</p><p></p> |
* **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}/`<mark style="color:red;">`ota/emu_upgrade`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`ota/emu_upgrade`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="121">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>emu_upgrade</td><td>emu_upgrade</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>-</td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="183">参数</th><th width="93">类型</th><th width="99">是否必填</th><th width="255">描述</th><th>样例</th></tr></thead><tbody><tr><td>device_id</td><td>int</td><td></td><td>升级设备ID</td><td>2</td></tr><tr><td>download_status</td><td>int</td><td></td><td><p>下载状态</p><p>1-下发EMU升级成功</p><p>2-下载失败</p><p>3-MD5校验失败</p><p>4-删除文件夹内容失败</p><p>5-解压失败</p><p>6-下发EMU升级失败</p></td><td>1</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-011789wfg2",
"mid": "389d9ac9-c660-4459-b9d5-f43160183552",
"type": "emu_upgrade",
"device_uid": "test",
"sub_device_id": 2,
"timestamp": 1725615497191,
"data": {
"device_id": 2,
"download_status": 1,
},
}
```
{% endcode %}
## 请求OTA-EMU升级结果
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`ota/emu_upgrade_result`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`ota/emu_upgrade_result`</mark>`/command`
* **权限:发布**
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>emu_upgrade_result</td><td>emu_upgrade_result</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>-</td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data 无**
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-06hjkgfg2",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "emu_upgrade_result",
"device_uid": "test",
"sub_device_id": 2,
"timestamp": 1697789021000,
}
```
{% endcode %}
### OTA-EMU升级结果响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`ota/emu_upgrade_result`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`ota/emu_upgrade_result`</mark>`/result`
* **权限:订阅**
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>emu_upgrade_result</td><td>emu_upgrade_result</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>-</td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="159">参数</th><th width="93">类型</th><th width="99">是否必填</th><th width="255">描述</th><th>样例</th></tr></thead><tbody><tr><td>device_id</td><td>int</td><td></td><td>升级设备ID</td><td>2</td></tr><tr><td>status</td><td>int</td><td></td><td><p>设备状态</p><p>1-运行</p><p>2-离线</p><p>3-故障</p></td><td>1</td></tr><tr><td>emu_upgrade_success</td><td>int</td><td></td><td><p>EMU升级成功</p><p>0-有错误 </p><p>1-全部升级成功</p></td><td>1</td></tr><tr><td>emu_upgrade_device</td><td>int</td><td></td><td><p>EMU升级设备</p><p>3:EMU </p><p>21:通讯板卡1 </p><p>22:通讯板2 </p><p>23:通讯板3 </p><p>24:通讯板4 </p><p>25:通讯板5 </p><p>26:通讯板6</p></td><td>3</td></tr><tr><td>emu_upgrade_status</td><td>int</td><td></td><td><p>EMU升级状态 </p><p>1:升级准备 </p><p>2:传输准备 </p><p>3:传输状态 </p><p>4:校验状态 </p><p>5:完成状态</p></td><td>5</td></tr><tr><td>emu_upgrade_content</td><td>int</td><td></td><td>升级内容 传输状态:对应文件传输进度</td><td>100</td></tr><tr><td>emu_product_sn</td><td>string</td><td></td><td>EMU产品SN码</td><td>emu-v1.0.0</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-011789wfg2",
"mid": "389d9ac9-c660-4459-b9d5-f43160183552",
"type": "emu_upgrade_result",
"device_uid": "test",
"sub_device_id": 2,
"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"
},
}
```
{% endcode %}

View File

@ -0,0 +1,102 @@
---
description: OTA
---
# \[未上线]OTA
## 下发OTA命令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`ota/upgrade`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`ota/upgrade`</mark>`/command`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>ota_upgrade</td><td>ota_upgrade</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
| 参数 | 类型 | 是否必填 | 描述 | 样例 |
| ------------- | ------ | ---- | ---- | -------------------------------------------------------- |
| source | string | 是 | 更新目标 | ems\_II |
| download\_url | string | 是 | 下载链接 | [http://example.com/ems\_II](http://example.com/ems\_II) |
| md5\_code | string | 是 | MD5码 | <p>50a2811e047dd49ace3801685eedb732</p><p></p> |
* **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}/`<mark style="color:red;">`ota/upgrade`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`ota/upgrade`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>ota_upgrade</td><td>ota_upgrade</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
| 参数 | 类型 | 是否必填 | 描述 | 样例 |
| ------------------- | ------ | ---- | -------------------------------------------------------------------------------------------- | ------------ |
| source | string | 否 | 来源 | ems\_II |
| version | string | 否 | 当前版本 | v1.0.0 |
| target\_commit\_sha | string | 否 | 目标提交SHA | 6f7g8h9i0j1k |
| target\_version | string | 否 | 目标版本 | v1.1.0 |
| final\_commit\_sha | string | 否 | 最终提交SHA | 6f7g8h9i0j1k |
| final\_version | string | 否 | 最终版本 | v1.1.0 |
| status | int | 否 | <p>更新状态</p><p>1-禁止更新</p><p>2-更新已准备</p><p>3-更新准备失败</p><p>4-更新成功</p><p>5-回滚成功</p><p>6-回滚失败</p> | 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 %}

View File

@ -0,0 +1,580 @@
# 策略-需量管理与防逆流
## 上报防逆流过需策略
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/list`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/list`</mark>`/post`
* **权限:**上报
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="66" data-type="checkbox">是否必填</th><th width="148">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_list</td><td>streaming_overdemand_list</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data: \StreamingOverDemand**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="3b8afd5962dd4f8a84d69bb5db1e5b5f" label="eleMeter" color="blue"></option><option value="2e12ee4d54414454be1b21e731c06be5" label="[]emsDevice" color="blue"></option><option value="derQgITNQpbg" label="str" color="blue"></option><option value="LTfGbji72KqQ" label="any" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>过需逆流策略ID</td><td></td><td>1</td></tr><tr><td>device_type</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>设备类型</td><td><p>2-储能设备 </p><p>3-光伏 </p><p>4-充电桩</p></td><td>2</td></tr><tr><td>devices</td><td><span data-option="LTfGbji72KqQ">any</span></td><td>true</td><td>设备列表</td><td>-</td><td>[]emsDevice/[]photovoltaic/[]pail</td></tr><tr><td>elemeter</td><td><span data-option="3b8afd5962dd4f8a84d69bb5db1e5b5f">eleMeter</span></td><td>true</td><td>电表</td><td>-</td><td>eleMeter</td></tr><tr><td>ele_meter_id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>电表id</td><td></td><td>1</td></tr><tr><td>streaming_condition</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>防逆流执行条件</td><td>-</td><td>5000</td></tr><tr><td>streaming_status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td><p>防逆流状态</p><p></p></td><td><p>1-启用</p><p>2-禁用</p></td><td>1</td></tr><tr><td>over_demand_condition</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>true</td><td>每月防过需执行条件1-12月</td><td>-</td><td>[5000,6000,5000,5000,6000,5000,5000,6000,5000,5000,6000,5000]</td></tr><tr><td>over_demand_status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>防逆流状态</td><td><p>1-启用</p><p>2-禁用</p></td><td>1</td></tr><tr><td>dynamic_demand</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>动态需量</td><td></td><td>6000</td></tr><tr><td>dynamic_demand_percentage</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>动态需量追峰比例</td><td></td><td>90</td></tr><tr><td>current_over_demand_condition</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>当前月份的过需条件</td><td></td><td>2000</td></tr><tr><td>updated_by</td><td><span data-option="derQgITNQpbg">str</span></td><td>true</td><td>更新人</td><td></td><td>user: 1-admin</td></tr><tr><td>created_at</td><td><span data-option="derQgITNQpbg">str</span></td><td>true</td><td>创建时间</td><td></td><td>2024-06-06T08:59:20.21309056Z</td></tr><tr><td>updated_at</td><td><span data-option="derQgITNQpbg">str</span></td><td>true</td><td>更新时间</td><td></td><td>2024-06-06T08:59:20.21309056Z</td></tr></tbody></table>
* **Payload - emsDevice**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td><a href="https://wudun.atlassian.net/browse/DGHDJSJKD-1?atlOrigin=eyJpIjoiYjM0MTA4MzUyYTYxNDVkY2IwMzVjOGQ3ZWQ3NzMwM2QiLCJwIjoianN3LWdpdGxhYlNNLWludCJ9">DGHDJSJKD-1</a></td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td>-</td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td></td><td>-</td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障</p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload - eleMeter**
<table><thead><tr><th>参数</th><th>类型<select><option value="189c0f712e0145f3801c3c40216e2394" label="str" color="blue"></option><option value="71af255091334a68af25411f3ed74398" label="int" color="blue"></option><option value="89e5a91ee2ff4c88baa2bbeee785568c" label="eleDeviceType" color="blue"></option></select></th><th width="90" data-type="checkbox">是否必填</th><th>描述</th><th></th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>电表UID</td><td>-</td><td>QmqEhterhgrzS66grew-1</td></tr><tr><td>station_name</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>站点1</td></tr><tr><td>port</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td>端口</td><td>[0,65535]</td><td>1</td></tr><tr><td>name</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>东区变压器</td></tr><tr><td>elec_device_type</td><td><span data-option="89e5a91ee2ff4c88baa2bbeee785568c">eleDeviceType</span></td><td>true</td><td>电表类型对象</td><td>-</td><td>-</td></tr><tr><td>rate</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td>倍率</td><td>(0, ∞)</td><td>100</td></tr><tr><td>running_status</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td><p>运行状态</p><p>1-在线</p><p>2-离线</p></td><td>[1,2]</td><td>1</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "streaming_overdemand_list",
"data": [{
"id": 4,
"device_type": 2,
"ele_meter_id": 10,
"ele_meter": {
"id": 10,
"proto_type": 1,
"proto_id": 1,
"slave_id": 1,
"host": "192.168.77.94",
"port": 1,
"com_addr": "",
"com_no": 0,
"baud_rate": 0,
"data_bits": 0,
"stop_bits": 0,
"parity": "",
"uid": "",
"station_name": "测试站点",
"name": "test",
"ele_device_type_id": 1,
"ele_device_type": {
"id": 1,
"name": "Acrel-ADW300"
},
"running_status": 2,
"direction": 1,
"pt": 1,
"ct": 1,
"purpose": 1,
"meter_ids": null,
"associate_meters": null
},
"devices": [
{
"uid": "",
"name": "设备208",
"site_name": "测试站点",
"location": "",
"longitude": 0,
"latitude": 0,
"statistics_port": 1504,
"cooling_method": 1,
"level": 1,
"charges": null,
"pcs_reboot": 0,
"bms_reboot": 0,
"license": "00000011",
"type": "Linux",
"running_status": 1,
"id": 3,
"proto_type": 1,
"proto_id": 0,
"slave_id": 1,
"host": "192.168.77.208",
"port": 1502,
"com_addr": "",
"com_no": 0,
"baud_rate": 0,
"data_bits": 0,
"stop_bits": 0,
"parity": "",
"created_at": "2024-04-24T02:11:01.16135116Z",
"updated_at": "2024-06-07T07:32:32.1991944Z"
},
{
"uid": "",
"name": "设备210",
"site_name": "测试站点",
"location": "",
"longitude": 0,
"latitude": 0,
"statistics_port": 1504,
"cooling_method": 1,
"level": 1,
"charges": null,
"pcs_reboot": 1,
"bms_reboot": 0,
"license": "",
"type": "",
"running_status": 1,
"id": 4,
"proto_type": 1,
"proto_id": 0,
"slave_id": 1,
"host": "192.168.77.210",
"port": 1502,
"com_addr": "",
"com_no": 0,
"baud_rate": 0,
"data_bits": 0,
"stop_bits": 0,
"parity": "",
"created_at": "2024-05-08T02:03:48.4397178Z",
"updated_at": "2024-06-07T07:32:32.2174462Z"
}
],
"over_demand_status": 1,
"over_demand_condition": [
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000
],
"current_over_demand_condition": 2000,
"dynamic_demand_status": 1,
"dynamic_demand": 0,
"dynamic_demand_percentage": 60,
"streaming_status": 1,
"streaming_condition": 2000,
"created_at": "2024-06-06T08:59:20.21309056Z",
"updated_at": "2024-06-06T08:59:20.21309056Z",
"updated_by": "user: 1-admin"
}],
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}
## 平台请求同步防逆流过需策略
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/sync`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/sync`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_sync</td><td>streaming_overdemand_sync</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "streaming_overdemand_sync",
"code": 200,
"msg": "",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
### 同步防逆流过需电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/sync`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_sync</td><td>streaming_overdemand_sync</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="3b8afd5962dd4f8a84d69bb5db1e5b5f" label="eleMeter" color="blue"></option><option value="2e12ee4d54414454be1b21e731c06be5" label="[]emsDevice" color="blue"></option><option value="derQgITNQpbg" label="str" color="blue"></option><option value="VS4Xw7gOj5rh" label="any" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>过需逆流策略ID</td><td></td><td>1</td></tr><tr><td>device_type</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>设备类型</td><td><p>2-储能设备</p><p>3-光伏 </p><p>4-充电桩</p></td><td>2</td></tr><tr><td>devices</td><td><span data-option="VS4Xw7gOj5rh">any</span></td><td>true</td><td>设备列表</td><td>-</td><td>[]emsDevice/[]photovoltaic/[]pail</td></tr><tr><td>elemeter</td><td><span data-option="3b8afd5962dd4f8a84d69bb5db1e5b5f">eleMeter</span></td><td>true</td><td>电表</td><td>-</td><td>eleMeter</td></tr><tr><td>ele_meter_id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>电表id</td><td></td><td>1</td></tr><tr><td>streaming_condition</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>防逆流执行条件</td><td>-</td><td>5000</td></tr><tr><td>streaming_status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td><p>防逆流状态</p><p></p></td><td><p>1-启用</p><p>2-禁用</p></td><td>1</td></tr><tr><td>over_demand_condition</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>true</td><td>每月防过需执行条件1-12月</td><td>-</td><td>[5000,6000,5000,5000,6000,5000,5000,6000,5000,5000,6000,5000]</td></tr><tr><td>over_demand_status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>防逆流状态</td><td><p>1-启用</p><p>2-禁用</p></td><td>1</td></tr><tr><td>dynamic_demand</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>动态需量</td><td></td><td>6000</td></tr><tr><td>dynamic_demand_percentage</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>动态需量追峰比例</td><td></td><td>90</td></tr><tr><td>current_over_demand_condition</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>当前月份的过需条件</td><td></td><td>2000</td></tr><tr><td>updated_by</td><td><span data-option="derQgITNQpbg">str</span></td><td>true</td><td>更新人</td><td></td><td>user: 1-admin</td></tr><tr><td>created_at</td><td><span data-option="derQgITNQpbg">str</span></td><td>true</td><td>创建时间</td><td></td><td>2024-06-06T08:59:20.21309056Z</td></tr><tr><td>updated_at</td><td><span data-option="derQgITNQpbg">str</span></td><td>true</td><td>更新时间</td><td></td><td>2024-06-06T08:59:20.21309056Z</td></tr></tbody></table>
* **Payload - emsDevice**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td><a href="https://wudun.atlassian.net/browse/DGHDJSJKD-1?atlOrigin=eyJpIjoiYjM0MTA4MzUyYTYxNDVkY2IwMzVjOGQ3ZWQ3NzMwM2QiLCJwIjoianN3LWdpdGxhYlNNLWludCJ9">DGHDJSJKD-1</a></td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td></td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td></td><td></td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障</p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload - eleMeter**
<table><thead><tr><th>参数</th><th>类型<select><option value="189c0f712e0145f3801c3c40216e2394" label="str" color="blue"></option><option value="71af255091334a68af25411f3ed74398" label="int" color="blue"></option><option value="89e5a91ee2ff4c88baa2bbeee785568c" label="eleDeviceType" color="blue"></option></select></th><th width="90" data-type="checkbox">是否必填</th><th>描述</th><th></th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>电表UID</td><td>-</td><td>QmqEhterhgrzS66grew-1</td></tr><tr><td>station_name</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>站点1</td></tr><tr><td>port</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td>端口</td><td>[0,65535]</td><td>1</td></tr><tr><td>name</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>东区变压器</td></tr><tr><td>elec_device_type</td><td><span data-option="89e5a91ee2ff4c88baa2bbeee785568c">eleDeviceType</span></td><td>true</td><td>电表类型对象</td><td>-</td><td>-</td></tr><tr><td>rate</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td>倍率</td><td>(0, ∞)</td><td>100</td></tr><tr><td>running_status</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td><p>运行状态</p><p>1-在线</p><p>2-离线</p></td><td>[1,2]</td><td>1</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"reply": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "streaming_overdemand_sync",
"data": [{
"id": 4,
"ele_meter_id": 10,
"ele_meter": {
"id": 10,
"proto_type": 1,
"proto_id": 1,
"slave_id": 1,
"host": "192.168.77.94",
"port": 1,
"com_addr": "",
"com_no": 0,
"baud_rate": 0,
"data_bits": 0,
"stop_bits": 0,
"parity": "",
"uid": "",
"station_name": "测试站点",
"name": "test",
"ele_device_type_id": 1,
"ele_device_type": {
"id": 1,
"name": "Acrel-ADW300"
},
"running_status": 2,
"direction": 1,
"pt": 1,
"ct": 1,
"purpose": 1,
"meter_ids": null,
"associate_meters": null
},
"devices": [
{
"uid": "",
"name": "设备208",
"site_name": "测试站点",
"location": "",
"longitude": 0,
"latitude": 0,
"statistics_port": 1504,
"cooling_method": 1,
"level": 1,
"charges": null,
"pcs_reboot": 0,
"bms_reboot": 0,
"license": "00000011",
"type": "Linux",
"running_status": 1,
"id": 3,
"proto_type": 1,
"proto_id": 0,
"slave_id": 1,
"host": "192.168.77.208",
"port": 1502,
"com_addr": "",
"com_no": 0,
"baud_rate": 0,
"data_bits": 0,
"stop_bits": 0,
"parity": "",
"created_at": "2024-04-24T02:11:01.16135116Z",
"updated_at": "2024-06-07T07:32:32.1991944Z"
},
{
"uid": "",
"name": "设备210",
"site_name": "测试站点",
"location": "",
"longitude": 0,
"latitude": 0,
"statistics_port": 1504,
"cooling_method": 1,
"level": 1,
"charges": null,
"pcs_reboot": 1,
"bms_reboot": 0,
"license": "",
"type": "",
"running_status": 1,
"id": 4,
"proto_type": 1,
"proto_id": 0,
"slave_id": 1,
"host": "192.168.77.210",
"port": 1502,
"com_addr": "",
"com_no": 0,
"baud_rate": 0,
"data_bits": 0,
"stop_bits": 0,
"parity": "",
"created_at": "2024-05-08T02:03:48.4397178Z",
"updated_at": "2024-06-07T07:32:32.2174462Z"
}
],
"over_demand_status": 1,
"over_demand_condition": [
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000
],
"current_over_demand_condition": 2000,
"dynamic_demand_status": 1,
"dynamic_demand": 0,
"dynamic_demand_percentage": 60,
"streaming_status": 1,
"streaming_condition": 2000,
"created_at": "2024-06-06T08:59:20.21309056Z",
"updated_at": "2024-06-06T08:59:20.21309056Z",
"updated_by": "user: 1-admin"
}],
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}
## 下发创建防逆流过需电策略指令
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/create`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/create`</mark>`/command`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_create</td><td>streaming_overdemand_create</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - Data/StreamingOverDemand**
*
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="KJEr83yHKUSg" label="[]int" color="blue"></option></select></th><th></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>ele_meter_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td></td><td>true</td><td>电表设备ID</td><td>-</td><td>1</td></tr><tr><td>streaming_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td></td><td>true</td><td>防逆流状态 </td><td>1-启用 2-禁用</td><td>1</td></tr><tr><td>streaming_condition</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td></td><td>true</td><td>防逆流执行条件</td><td>-</td><td>1000</td></tr><tr><td>over_demand_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td></td><td>true</td><td>防过需状态 </td><td>1-启用 2-禁用</td><td>2</td></tr><tr><td>over_demand_condition</td><td><span data-option="KJEr83yHKUSg">[]int</span></td><td></td><td>true</td><td>防过需执行条件</td><td>分为12个月份每个月份一个值</td><td><pre><code>[
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000
],
</code></pre></td></tr><tr><td>dynamic_demand_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td></td><td>true</td><td>动态需量控制状态 </td><td>1-启用 2-禁用</td><td>1</td></tr><tr><td>dynamic_demand_percentage</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td></td><td>true</td><td>动态需量追峰比例</td><td>百分比</td><td>90</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"reply": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "streaming_overdemand_create",
"data": [
{
"over_demand_status": 1,
"streaming_status": 1,
"dynamic_demand_status": 1,
"over_demand_condition": [
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000
],
"ele_meter_id": 9,
"dynamic_demand_percentage": 80,
"streaming_condition": 1000
}],
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}
### 创建防过需防逆流策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/create`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/create`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_create</td><td>streaming_overdemand_create</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>Data</td><td></td><td>见Data</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Data**
*
| 参数 | 类型 | 说明 |
| -- | --- | --------- |
| id | int | 防过需逆流策略id |
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功 </td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "streaming_overdemand_create",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"data": {
"id": 1
},
"msg": "",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 下发更新防逆流过需电策略指令
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/update`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/update`</mark>`/command`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_update</td><td>streaming_overdemand_update</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - Data: \StreamingOverDemandUpdateCommand(其他字段见StreamingOverDemand)**
| 参数 | 类型 | 是否必填 | 描述 | 样例 |
| -- | --- | ---- | ---------- | -- |
| id | int | 是 | 防过需防逆流策略ID | 1 |
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"reply": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "streaming_overdemand_update",
"data": [ {
"id": 1,
"over_demand_status": 1,
"streaming_status": 1,
"dynamic_demand_status": 1,
"over_demand_condition": [
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000,
2000
],
"ele_meter_id": 9,
"dynamic_demand_percentage": 80,
"streaming_condition": 1000
}],
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}
### 更新防过需防逆流策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/update`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/update`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_update</td><td>streaming_overdemand_update</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "streaming_overdemand_update",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 下发删除防逆流过需电策略指令
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/delete`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/delete`</mark>`/command`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_delete</td><td>streaming_overdemand_delete</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - Data/StreamingOverDemandDeleteCommand**
| 参数 | 类型 | 是否必填 | 描述 | 样例 |
| -- | --- | ---- | ---------- | -- |
| id | int | 是 | 防过需防逆流策略ID | 1 |
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"reply": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "streaming_overdemand_delete",
"data": [{
"id": 1,
}],
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}
### 删除防过需防逆流策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/delete`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`streaming_overdemand/delete`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>streaming_overdemand_delete</td><td>streaming_overdemand_delete</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "streaming_overdemand_delete",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```

View File

@ -0,0 +1,128 @@
# 手动控制-PCS远程控制
## 发送pcs远程控制策略
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`pcs_control/set/command`</mark>
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`pcs_control/set/command`</mark>
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pcs_set</td><td>pcs_set</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>(0, ∞)</td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="209">参数</th><th width="81">类型<select><option value="7a689ae99ed145e183989371bbcf21ce" label="int" color="blue"></option></select></th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>pcs_fault_reset</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>故障复位</td><td>[0,1]</td><td>1</td></tr><tr><td>pcs_device_startup</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>设备启动</td><td>[0,1]</td><td>0</td></tr><tr><td>pcs_device_stop</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>设备停机</td><td>[0,1]</td><td>1</td></tr><tr><td>pcs_remote_emergency_stop</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>远程急停</td><td>[0,1]</td><td>0</td></tr><tr><td>pcs_reset_cumulative_charge</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>累计充电电量清零</td><td>[0, 1]</td><td>1</td></tr><tr><td>pcs_reset_cumulative_discharge</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>累计放电电量清零</td><td>[0,1]</td><td>1</td></tr><tr><td>pcs_remote_local_setting</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>远程/就地设置 0-就地1-远程 }</td><td>[0, 1]</td><td>1</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>
### 发送pcs远程控制策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`pcs_control/set`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`pcs_control/set`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pcs_set</td><td>pcs_set</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>子设备UID</td><td></td><td></td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>子设备ID</td><td></td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功 </td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "pcs_set",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "下发成功",
"sub_device_uid": "jHODSda39",
"sub_device_id": 2,
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
##
## 请求同步pcs远程控制策略
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`pcs_control/sync/command`</mark>
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`pcs_control/sync/command`</mark>
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pcs_sync</td><td>pcs_sync</td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "pcs_sync",
"sub_device_uid": "${SUB_DEVICE_UID}",
"sub_device_id": "${SUB_DEVICE_ID}",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265671000
}
```
### 同步pcs远程控制策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`pcs_control/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`pcs_control/sync/`</mark>`result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pcs_sync</td><td>pcs_sync</td></tr><tr><td>code </td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td></td><td>见响应代码</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td></td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
*
<table><thead><tr><th width="209">参数</th><th width="81">类型<select><option value="7a689ae99ed145e183989371bbcf21ce" label="int" color="blue"></option></select></th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>pcs_fault_reset</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>故障复位</td><td>[0,1]</td><td>1</td></tr><tr><td>pcs_device_startup</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>设备启动</td><td>[0,1]</td><td>0</td></tr><tr><td>pcs_device_stop</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>设备停机</td><td>[0,1]</td><td>1</td></tr><tr><td>pcs_remote_emergency_stop</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>远程急停</td><td>[0,1]</td><td>0</td></tr><tr><td>pcs_reset_cumulative_charge</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>累计充电电量清零</td><td>[0, 1]</td><td>1</td></tr><tr><td>pcs_reset_cumulative_discharge</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>累计放电电量清零</td><td>[0,1]</td><td>1</td></tr><tr><td>pcs_remote_local_setting</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>false</td><td>远程/就地设置 0-就地1-远程 }</td><td>[0, 1]</td><td>1</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json"><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>

View File

@ -0,0 +1,523 @@
# 策略-充电桩均衡充放电
## 上报充放电策略
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/list`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/list`</mark>`/post`
* **权限:**上报
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_list</td><td>pail_charge_list</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeDetail</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeDetail**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]emsDevice" color="blue"></option><option value="WJJvuYRv6dm6" label="bool" color="blue"></option><option value="CZ8LBlnYoEPR" label="[]Device" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>ID</td><td>-</td><td>1</td></tr><tr><td>charge_type</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电类型(后续将支持更多类型)</td><td>1-定时充放电</td><td>1</td></tr><tr><td>status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略开关</td><td>0-关闭,<br>1-开启</td><td>1</td></tr><tr><td>year</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td></td><td>若mode=1,则year为必填)</td><td>2024</td></tr><tr><td>month</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>true</td><td>月份选择0代表一月</td><td>[0,11]</td><td>[1,7,8,11]</td></tr><tr><td>week_day</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>星期选择0代表星期一</td><td>[0,6]</td><td>[5,6]</td></tr><tr><td>dates</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>日期选择0代表1日</td><td>[0, 30](根据年份大小月份变化)</td><td>[0,1]</td></tr><tr><td>mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>模式根据mode参数取值不同校验week_day或dates是否必填</td><td>1-月日模式<br>2- 月周模式<br></td><td>1若mode=1,则dates为必填若mode=2则week_day为必填</td></tr><tr><td>devices</td><td><span data-option="CZ8LBlnYoEPR">[]Device</span></td><td>true</td><td>光伏设备列表</td><td>-</td><td>-</td></tr><tr><td>settings</td><td><span data-option="dc27004c92e443db924ae8f38f2ec7f1">[]chargeTime</span></td><td>true</td><td>充放电时间段</td><td>-</td><td>-</td></tr><tr><td>apply_to_all</td><td><span data-option="WJJvuYRv6dm6">bool</span></td><td>true</td><td>是否包括所有设备</td><td>-</td><td>false</td></tr></tbody></table>
* **Payload - Device**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td><a href="https://wudun.atlassian.net/browse/DGHDJSJKD-1?atlOrigin=eyJpIjoiYjM0MTA4MzUyYTYxNDVkY2IwMzVjOGQ3ZWQ3NzMwM2QiLCJwIjoianN3LWdpdGxhYlNNLWludCJ9">DGHDJSJKD-1</a></td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td></td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td></td><td></td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障 </p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload - chargeTime**
<table><thead><tr><th width="184">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>start_hour</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>开始小时</td><td>[0,23]</td><td>20</td></tr><tr><td>start_minute</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>开始分钟</td><td>[0,59]</td><td>0</td></tr><tr><td>end_hour</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>结束小时</td><td>[0,23]</td><td>0</td></tr><tr><td>end_minute</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>结束分钟</td><td>[0,59]</td><td>0</td></tr><tr><td>cdc_enable_mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电设定</td><td>0-待机,<br>1-充电,<br>2-放电</td><td>1</td></tr><tr><td>run_power</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>运行功率(单位kW)</td><td>[0,65535]</td><td>300</td></tr></tbody></table>
* **时间说明:**`start_hour`, `start_minute`, `end_hour`, `end_minute`组成左闭右开的时间区间
* 如`start_hour=14`, `start_minute=15`, `end_hour=15`, `end_minute=00`表示`[14:15, 15:00)`即14:15开始到15:00前结束。
* 如`start_hour=20`, `start_minute=00`, `end_hour=00`, `end_minute=00`表示`[20:00, 00:00)`即20:00开始到后一天的00:00前结束
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "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
}
</code></pre>
## 平台请求同步光伏充放电策略
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/sync`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/sync`</mark>`/command`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_sync</td><td>pail_charge_sync</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "pail_charge_sync",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
### 同步充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/sync`</mark>`/result`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_sync</td><td>pail_charge_sync</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeDetail</strong></td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "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
}
</code></pre>
## 下发创建充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/create`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/create`</mark>`/command`
* **权限:**上报
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_list</td><td>pail_charge_list</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeCreate</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeCreate**
<table><thead><tr><th width="158">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option><option value="BkP3aIYpA60Z" label="bool" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>charge_type</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电类型(后续将支持更多类型)</td><td>1-定时充放电</td><td>1</td></tr><tr><td>status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略开关</td><td>0-关闭,<br>1-开启</td><td>1</td></tr><tr><td>year</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td></td><td>若mode=1,则year为必填)</td><td>2024</td></tr><tr><td>month</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>true</td><td>月份选择0代表一月</td><td>[0,11]</td><td>[1,7,8,11]</td></tr><tr><td>week_day</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>星期选择0代表星期一</td><td>[0,6]</td><td>[5,6]</td></tr><tr><td>dates</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>日期选择0代表1日</td><td>【0,30】</td><td>【0,1,2】</td></tr><tr><td>mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>模式根据mode 参数取值不同校验week_day或dates是否必填</td><td>1-月日模式<br>2- 月周模式</td><td>1</td></tr><tr><td>device_ids</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>设备列表IDuids、ids、apply_to_all三选一</td><td>-</td><td>-</td></tr><tr><td>apply_to_all</td><td><span data-option="BkP3aIYpA60Z">bool</span></td><td>false</td><td>是否包括所有一级设备uids、ids、apply_to_all三选一</td><td>-</td><td>true</td></tr><tr><td>settings</td><td><span data-option="dc27004c92e443db924ae8f38f2ec7f1">[]chargeTime</span></td><td>true</td><td>充放电时间段</td><td>-</td><td>-</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "pail_charge_create",
"data": {
"charge_type": 1,
"status": 1,
"year": 2024
"month": [
1,
7,
8,
11
],
"week_day": [
5,
6
],
"mode":2,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
],
"device_ids": [
1
],
// "apply_to_all": true,
// "ems_device_ids": [
// "1"
// ] // ems_device_ids、ems_device_uids、apply_to_all 三选一
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
{% endcode %}
### 创建充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/create`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/create`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_create</td><td>pail_charge_create</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>其他数据</td><td></td><td>见data</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Data**
| 参数 | 类型 | 说明 |
| ---------- | --- | ------- |
| policy\_id | int | 充放电策略id |
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "pail_charge_create",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "",
"data": {
"policy_id": 1
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 下发修改充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/update`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/update`</mark>`/command`
* **权限:**上报
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_update</td><td>pail_charge_update</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeUpdate</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeUpdate**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略ID</td><td>-</td><td>-</td></tr><tr><td>其余字段见<strong>Payload - data/ChargeCreate</strong></td><td></td><td>false</td><td></td><td></td><td></td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "pail_charge_update",
"data": {
"id": 1,
"charge_type": 1,
"status": 1,
"year": 2024,
"month": [
1,
7,
8,
11
],
"week_day": [
5,
6
],
"mode":2,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
],
"device_ids": [
1
]
// "apply_to_all": true,
// "ems_device_ids": [
// "1"
// ] // ems_device_ids、ems_device_uids、apply_to_all 三选一
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
{% endcode %}
### 下发修改充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/update`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/update`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_update</td><td>pail_charge_update</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "pail_charge_update",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 下发删除充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/delete`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/delete`</mark>`/command`
* **权限:**上报
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_delete</td><td>pail_charge_delete</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电策略ID</td><td>-</td><td>1</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "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
}
</code></pre>
### 下发删除充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/delete`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/delete`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_delete</td><td>pail_charge_delete</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "pail_charge_delete",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 批量下发充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/update_all`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/update_all`</mark>`/command`
* **权限:**上报
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_update_all</td><td>pail_charge_update_all</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - Data: \[]ChargeCreate**
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "pail_charge_update_all",
"data": [
{
"charge_type": 1,
"status": 1,
"year": 2024,
"month": [
8
],
"week_day": [
6
],
"mode":2,
"apply_to_all": true,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
]
}
],
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
### 批量下发充放电策略响应
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_pail/update_all`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_pail/update_all`</mark>`/result`
* **权限:**上报
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>pail_charge_update_all</td><td>pail_charge_update_all</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "d90e64f6-6c71-43e1-a755-d034bb307ee2",
"type": "pail_charge_update_all",
"device_uid": "iYRkfVpi77",
"timestamp": 1706521447074,
"reply": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"code": 200,
}
```

View File

@ -0,0 +1,481 @@
# 策略-光伏均衡充放电
## 上报充放电策略
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/list`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/list`</mark>`/post`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_list</td><td>photovoltaic_charge_list</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeDetail</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeDetail**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]emsDevice" color="blue"></option><option value="WJJvuYRv6dm6" label="bool" color="blue"></option><option value="CZ8LBlnYoEPR" label="[]Device" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>ID</td><td>-</td><td>1</td></tr><tr><td>charge_type</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电类型(后续将支持更多类型)</td><td>1-定时充放电</td><td>1</td></tr><tr><td>status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略开关</td><td>0-关闭,<br>1-开启</td><td>1</td></tr><tr><td>year</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td></td><td>若mode=1,则year为必填)</td><td>2024</td></tr><tr><td>month</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>true</td><td>月份选择0代表一月</td><td>[0,11]</td><td>[1,7,8,11]</td></tr><tr><td>week_day</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>星期选择0代表星期一</td><td>[0,6]</td><td>[5,6]</td></tr><tr><td>dates</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>日期选择0代表1日</td><td>[0, 30](根据年份大小月份变化)</td><td>[0,1]</td></tr><tr><td>mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>模式根据mode参数取值不同校验week_day或dates是否必填</td><td>1-月日模式<br>2-月周模式<br></td><td>1若mode=1,则dates为必填若mode=2则week_day为必填</td></tr><tr><td>devices</td><td><span data-option="CZ8LBlnYoEPR">[]Device</span></td><td>true</td><td>光伏设备列表</td><td>-</td><td>-</td></tr><tr><td>settings</td><td><span data-option="dc27004c92e443db924ae8f38f2ec7f1">[]chargeTime</span></td><td>true</td><td>充放电时间段</td><td>-</td><td>-</td></tr><tr><td>apply_to_all</td><td><span data-option="WJJvuYRv6dm6">bool</span></td><td>true</td><td>是否包括所有设备</td><td>-</td><td>false</td></tr></tbody></table>
* **Payload - Device**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>ID</td><td>-</td><td>1</td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td></td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td>-</td><td></td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障 </p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload - chargeTime**
<table><thead><tr><th width="184">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>start_hour</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>开始小时</td><td>[0,23]</td><td>20</td></tr><tr><td>start_minute</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>开始分钟</td><td>[0,59]</td><td>0</td></tr><tr><td>end_hour</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>结束小时</td><td>[0,23]</td><td>0</td></tr><tr><td>end_minute</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>结束分钟</td><td>[0,59]</td><td>0</td></tr><tr><td>cdc_enable_mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电设定</td><td>0-待机,<br>2-放电</td><td>1</td></tr><tr><td>run_power</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>运行功率(单位kW)</td><td>[0,65535]</td><td>300</td></tr></tbody></table>
* **时间说明:**`start_hour`, `start_minute`, `end_hour`, `end_minute`组成左闭右开的时间区间
* 如`start_hour=14`, `start_minute=15`, `end_hour=15`, `end_minute=00`表示`[14:15, 15:00)`即14:15开始到15:00前结束。
* 如`start_hour=20`, `start_minute=00`, `end_hour=00`, `end_minute=00`表示`[20:00, 00:00)`即20:00开始到后一天的00:00前结束
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "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
}
</code></pre>
## 平台请求同步光伏充放电策略
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/sync`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/sync`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_sync</td><td>photovoltaic_charge_sync</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "photovoltaic_charge_sync",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
### 同步充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/sync`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_sync</td><td>photovoltaic_charge_sync</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeDetail</strong></td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "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
}
</code></pre>
## 下发创建充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/create`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/create`</mark>`/command`
* **权限:**下发
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>charge_photovoltaic_create</td><td>charge_photovoltaic_create</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeCreate</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeCreate**
<table><thead><tr><th width="158">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option><option value="BkP3aIYpA60Z" label="bool" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>charge_type</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电类型(后续将支持更多类型)</td><td>1-定时充放电</td><td>1</td></tr><tr><td>status</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略开关</td><td>0-关闭,<br>1-开启</td><td>1</td></tr><tr><td>year</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td></td><td>若mode=1,则year为必填)</td><td>2024</td></tr><tr><td>month</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>true</td><td>月份选择0代表一月</td><td>[0,11]</td><td>[1,7,8,11]</td></tr><tr><td>week_day</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>星期选择0代表星期一</td><td>[0,6]</td><td>[5,6]</td></tr><tr><td>dates</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>日期选择0代表1日</td><td>[0,30]</td><td>[0,1,2]</td></tr><tr><td>mode</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>模式根据mode 参数取值不同校验week_day或dates是否必填</td><td>1-月日模式<br>2-月周模式</td><td>1</td></tr><tr><td>device_ids</td><td><span data-option="788ee30047d74e5fadefda8ae2c6b579">[]int</span></td><td>false</td><td>设备列表IDuids、ids、apply_to_all三选一</td><td>-</td><td>-</td></tr><tr><td>apply_to_all</td><td><span data-option="BkP3aIYpA60Z">bool</span></td><td>false</td><td>是否包括所有一级设备uids、ids、apply_to_all三选一</td><td>-</td><td>true</td></tr><tr><td>settings</td><td><span data-option="dc27004c92e443db924ae8f38f2ec7f1">[]chargeTime</span></td><td>true</td><td>充放电时间段</td><td>-</td><td>-</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "photovoltaic_charge_create",
"data": {
"charge_type": 1,
"status": 1,
"year": 2024
"month": [
1,
7,
8,
11
],
"week_day": [
5,
6
],
"mode":2,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
],
"device_ids": [
1
],
// "apply_to_all": true,
// "ems_device_ids": [
// "1"
// ] // ems_device_ids、ems_device_uids、apply_to_all 三选一
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
{% endcode %}
### 创建充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/create`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/create`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_create</td><td>photovoltaic_charge_create</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>其他数据</td><td></td><td>见data</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Data**
| 参数 | 类型 | 说明 |
| ---------- | --- | ------- |
| policy\_id | int | 充放电策略id |
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "photovoltaic_charge_create",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "",
"data": {
"policy_id": 1
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 下发修改充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/update`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/update`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_update</td><td>photovoltaic_charge_update</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data/ChargeUpdate</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/ChargeUpdate**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>策略ID</td><td>-</td><td>-</td></tr><tr><td>其余字段见<strong>Payload - data/ChargeCreate</strong></td><td></td><td>false</td><td></td><td></td><td></td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "photovoltaic_charge_update",
"data": {
"id": 1,
"charge_type": 1,
"status": 1,
"year": 2024,
"month": [
1,
7,
8,
11
],
"week_day": [
5,
6
],
"mode":2,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
],
"device_ids": [
1
]
// "apply_to_all": true,
// "ems_device_ids": [
// "1"
// ] // ems_device_ids、ems_device_uids、apply_to_all 三选一
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
{% endcode %}
### 下发修改充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/update`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/update`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_update</td><td>photovoltaic_charge_update</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "photovoltaic_charge_update",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 下发删除充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/delete`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/delete`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_delete</td><td>photovoltaic_charge_delete</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="173">参数</th><th width="122">类型<select><option value="7d4bdb9b9c74432db026fc1a42c657f8" label="int" color="blue"></option><option value="788ee30047d74e5fadefda8ae2c6b579" label="[]int" color="blue"></option><option value="dc27004c92e443db924ae8f38f2ec7f1" label="[]chargeTime" color="blue"></option><option value="7b18b87853a34308b8576531588a6c12" label="[]string" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="7d4bdb9b9c74432db026fc1a42c657f8">int</span></td><td>true</td><td>充放电策略ID</td><td>-</td><td>1</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"type": "charge_delete",
"data": {
"id": 1,
},
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
</code></pre>
### 下发删除充放电策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/delete`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/delete`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_delete</td><td>photovoltaic_charge_delete</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "photovoltaic_charge_delete",
"reply": "3e681859-6917-4b9a-9afd-3f162cd185bd",
"code": 200,
"msg": "",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
## 批量下发充放电策略指令
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/update_all`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/update_all`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_update_all</td><td>photovoltaic_charge_update_all</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - Data: \[]ChargeCreate**
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "photovoltaic_charge_update_all",
"data": [
{
"charge_type": 1,
"status": 1,
"year": 2024,
"month": [
8
],
"week_day": [
6
],
"mode":2,
"apply_to_all": true,
"settings": [
{
"start_hour": 1,
"start_minute": 50,
"end_hour": 23,
"end_minute": 0,
"cdc_enable_mode": 2,
"run_power": 100
}
]
}
],
"device_uid": "iYRkfVpi77",
"timestamp": 1695265371000
}
```
### 批量下发充放电策略响应
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/update_all`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`charge_photovoltaic/update_all`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>photovoltaic_charge_update_all</td><td>photovoltaic_charge_update_all</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "d90e64f6-6c71-43e1-a755-d034bb307ee2",
"type": "photovoltaic_charge_update_all",
"device_uid": "iYRkfVpi77",
"timestamp": 1706521447074,
"reply": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"code": 200,
}
```

View File

@ -0,0 +1,217 @@
# 配置-支路设计
## 上报支路设计
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`power_node/list`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`power_node/list`</mark>`/post`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="66" data-type="checkbox">是否必填</th><th width="148">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>power_node_list</td><td>power_node_list</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="162">参数</th><th width="170">类型<select><option value="57a23d84e69e4a169a3e7ad9429a889e" label="str" color="blue"></option><option value="ee99c4f6e6af4d28857280add3137f3b" label="int" color="blue"></option><option value="9f304e2bd34c4d9680fe5edbc719d1ad" label="eleMeter/emsDevice" color="blue"></option><option value="9e6b65df2ed64abdb9721cf1f5b18101" label="[]powerNode" color="blue"></option></select></th><th width="109" data-type="checkbox">是否必填</th><th>描述</th><th></th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="ee99c4f6e6af4d28857280add3137f3b">int</span></td><td>true</td><td>ID</td><td>-</td><td>1</td></tr><tr><td>name</td><td><span data-option="57a23d84e69e4a169a3e7ad9429a889e">str</span></td><td>true</td><td>支路名称</td><td>-</td><td>电表1</td></tr><tr><td>type</td><td><span data-option="ee99c4f6e6af4d28857280add3137f3b">int</span></td><td>true</td><td>设备类型 1-电表设备 2-EMS设备</td><td>[1,2]</td><td>1</td></tr><tr><td>device</td><td><span data-option="9f304e2bd34c4d9680fe5edbc719d1ad">eleMeter/emsDevice</span></td><td>true</td><td>设备详情</td><td>-</td><td>-</td></tr><tr><td>parent_id</td><td><span data-option="ee99c4f6e6af4d28857280add3137f3b">int</span></td><td>true</td><td>父节点ID</td><td>-</td><td>0</td></tr><tr><td>path</td><td><span data-option="57a23d84e69e4a169a3e7ad9429a889e">str</span></td><td>true</td><td>路径</td><td>-</td><td>-0-</td></tr><tr><td>running_status</td><td><span data-option="ee99c4f6e6af4d28857280add3137f3b">int</span></td><td>true</td><td>运行状态 1-运行 2-离线 3-故障</td><td>[1,2,3]</td><td>1</td></tr><tr><td>children</td><td><span data-option="9e6b65df2ed64abdb9721cf1f5b18101">[]powerNode</span></td><td>true</td><td>子节点</td><td>-</td><td>-</td></tr></tbody></table>
* **Payload - emsDevice**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td><a href="https://wudun.atlassian.net/browse/DGHDJSJKD-1?atlOrigin=eyJpIjoiYjM0MTA4MzUyYTYxNDVkY2IwMzVjOGQ3ZWQ3NzMwM2QiLCJwIjoianN3LWdpdGxhYlNNLWludCJ9">DGHDJSJKD-1</a></td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td>-</td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td></td><td>-</td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障 </p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload - eleMeter**
<table><thead><tr><th>参数</th><th>类型<select><option value="189c0f712e0145f3801c3c40216e2394" label="str" color="blue"></option><option value="71af255091334a68af25411f3ed74398" label="int" color="blue"></option><option value="89e5a91ee2ff4c88baa2bbeee785568c" label="eleDeviceType" color="blue"></option></select></th><th width="90" data-type="checkbox">是否必填</th><th>描述</th><th></th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>电表UID</td><td>-</td><td>QmqEhterhgrzS66grew-1</td></tr><tr><td>station_name</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>站点1</td></tr><tr><td>port</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td>端口</td><td>[0,65535]</td><td>1</td></tr><tr><td>name</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>东区变压器</td></tr><tr><td>rate</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td>倍率</td><td>(0, ∞)</td><td>100</td></tr><tr><td>running_status</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td><p>运行状态</p><p>1-在线 </p><p>2-离线 </p></td><td>[1,2] </td><td>1</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "power_node_list",
"data": [{
"id": 1,
"name": "总电表",
"type": 1,
"device": {
"uid": "QmqEhterhgrzS66grew-1",
"station_name": "",
"port": 1,
"com_addr": "/dev/ttyS9",
"slave_id": 1,
"name": "总电表",
"running_status": 2,
"direction": -1,
"rate": 100
},
"parent_id": 0,
"path": "-0-",
"running_status": 0,
"children": null
},{
"id": 2,
"name": "左电表",
"type": 1,
"device": {
"uid": "QmqEhterhgrzS66grew-2",
"station_name": "",
"port": 2,
"com_addr": "/dev/ttyS5",
"slave_id": 1,
"name": "左电表",
"running_status": 2,
"direction": 1,
"rate": 20
},
"parent_id": 1,
"path": "-0-1-",
"running_status": 0,
"children": null
},{
"id": 3,
"name": "设备204",
"type": 2,
"device": {
"uid": "QmqEiSCEuFNXCozS66W9y8-5",
"name": "设备204",
"site_name": "测试站点",
"location": "",
"longitude": 0,
"latitude": 0,
"level": 1,
"charges": null,
"license": "",
"type": "",
"running_status": 2,
"host": "192.168.77.204",
"port": 1502
},
"parent_id": 2,
"path": "-0-1-2-",
"running_status": 0,
"children": null
}],
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}
## 平台请求同步支路设计
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`power_node/sync`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`power_node/sync`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>power_node_sync</td><td>power_node_sync</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>false</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "power_node_sync",
"code": 200,
"msg": "",
"device_uid": "iYRkfVpi77",
"timestamp": 1695265671000
}
```
### 同步支路设计响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`power_node/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`power_node/sync`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>power_node_sync</td><td>power_node_sync</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="162">参数</th><th width="170">类型<select><option value="57a23d84e69e4a169a3e7ad9429a889e" label="str" color="blue"></option><option value="ee99c4f6e6af4d28857280add3137f3b" label="int" color="blue"></option><option value="9f304e2bd34c4d9680fe5edbc719d1ad" label="emsMeter/emsDevice" color="blue"></option><option value="9e6b65df2ed64abdb9721cf1f5b18101" label="[]powerNode" color="blue"></option></select></th><th width="109" data-type="checkbox">是否必填</th><th>描述</th><th></th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="ee99c4f6e6af4d28857280add3137f3b">int</span></td><td>true</td><td>ID</td><td>-</td><td>1</td></tr><tr><td>name</td><td><span data-option="57a23d84e69e4a169a3e7ad9429a889e">str</span></td><td>true</td><td>支路名称</td><td>-</td><td>电表1</td></tr><tr><td>type</td><td><span data-option="ee99c4f6e6af4d28857280add3137f3b">int</span></td><td>true</td><td>设备类型 1-电表设备 2-EMS设备</td><td>[1,2]</td><td>1</td></tr><tr><td>device</td><td><span data-option="9f304e2bd34c4d9680fe5edbc719d1ad">emsMeter/emsDevice</span></td><td>true</td><td>设备详情</td><td>-</td><td>-</td></tr><tr><td>parent_id</td><td><span data-option="ee99c4f6e6af4d28857280add3137f3b">int</span></td><td>true</td><td>父节点ID</td><td>-</td><td>0</td></tr><tr><td>path</td><td><span data-option="57a23d84e69e4a169a3e7ad9429a889e">str</span></td><td>true</td><td>路径</td><td>-</td><td>-0-</td></tr><tr><td>running_status</td><td><span data-option="ee99c4f6e6af4d28857280add3137f3b">int</span></td><td>true</td><td>运行状态 1-运行 2-离线 3-故障</td><td>[1,3]</td><td>1</td></tr><tr><td>children</td><td><span data-option="9e6b65df2ed64abdb9721cf1f5b18101">[]powerNode</span></td><td>true</td><td>子节点</td><td>-</td><td>-</td></tr></tbody></table>
* **Payload - emsDevice**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td><a href="https://wudun.atlassian.net/browse/DGHDJSJKD-1?atlOrigin=eyJpIjoiYjM0MTA4MzUyYTYxNDVkY2IwMzVjOGQ3ZWQ3NzMwM2QiLCJwIjoianN3LWdpdGxhYlNNLWludCJ9">DGHDJSJKD-1</a></td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td></td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td></td><td></td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障 </p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload - eleMeter**
<table><thead><tr><th>参数</th><th>类型<select><option value="189c0f712e0145f3801c3c40216e2394" label="str" color="blue"></option><option value="71af255091334a68af25411f3ed74398" label="int" color="blue"></option><option value="89e5a91ee2ff4c88baa2bbeee785568c" label="eleDeviceType" color="blue"></option></select></th><th width="90" data-type="checkbox">是否必填</th><th>描述</th><th></th><th>样例</th></tr></thead><tbody><tr><td>uid</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>电表UID</td><td>-</td><td>QmqEhterhgrzS66grew-1</td></tr><tr><td>station_name</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>站点1</td></tr><tr><td>port</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td>端口</td><td>[0,65535]</td><td>1</td></tr><tr><td>name</td><td><span data-option="189c0f712e0145f3801c3c40216e2394">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>东区变压器</td></tr><tr><td>rate</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td>倍率</td><td>(0, ∞)</td><td>100</td></tr><tr><td>running_status</td><td><span data-option="71af255091334a68af25411f3ed74398">int</span></td><td>true</td><td><p>运行状态</p><p>1-在线 </p><p>2-离线 </p></td><td>[1,2] </td><td>1</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "power_node_sync",
"data": [{
"id": 1,
"name": "总电表",
"type": 1,
"device": {
"uid": "QmqEhterhgrzS66grew-1",
"station_name": "",
"port": 1,
"com_addr": "/dev/ttyS9",
"slave_id": 1,
"name": "总电表",
"running_status": 2,
"direction": -1,
"rate": 100
},
"parent_id": 0,
"path": "-0-",
"running_status": 0,
"children": null
},{
"id": 2,
"name": "左电表",
"type": 1,
"device": {
"uid": "QmqEhterhgrzS66grew-2",
"station_name": "",
"port": 2,
"com_addr": "/dev/ttyS5",
"slave_id": 1,
"name": "左电表",
"running_status": 2,
"direction": 1,
"rate": 20
},
"parent_id": 1,
"path": "-0-1-",
"running_status": 0,
"children": null
},{
"id": 3,
"name": "设备204",
"type": 2,
"device": {
"uid": "QmqEiSCEuFNXCozS66W9y8-5",
"name": "设备204",
"site_name": "测试站点",
"location": "",
"longitude": 0,
"latitude": 0,
"level": 1,
"charges": null,
"license": "",
"type": "",
"running_status": 2,
"host": "192.168.77.204",
"port": 1502
},
"parent_id": 2,
"path": "-0-1-2-",
"running_status": 0,
"children": null
}],
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}

View File

@ -0,0 +1,109 @@
# 策略-安全保护
## 上报安全保护策略
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`safety/details`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`safety/details`</mark>`/post`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="81">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>safety_details</td><td>safety_details</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="209">参数</th><th width="81">类型<select><option value="7a689ae99ed145e183989371bbcf21ce" label="int" color="blue"></option></select></th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>bms_3</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>BMS三级报警停机状态 0-关 1-开</td><td>[0,1]</td><td>1</td></tr><tr><td>fire_control</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>消防报警停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>0</td></tr><tr><td>flooding</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>水浸停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>aircon</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>空调掉线停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>0</td></tr><tr><td>aircon_mins</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>空调掉线停机时间</td><td>[0, ∞)</td><td>10</td></tr><tr><td>temp</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>室内温度过高停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>temp_celsius</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>室内温度过高停机温度</td><td>[0, ∞)</td><td>35</td></tr><tr><td>grounded</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>接地离线停机状态 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>grounded_mins</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>接地离线停机时间</td><td>[0, ∞)</td><td>5</td></tr><tr><td>bms_2</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>BMS二级报警降功率停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>bms_2_kw</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>BMS二级报警降功率至停机功率</td><td>[0, ∞)</td><td>100</td></tr><tr><td>meter_offline_power0</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>电表离线停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>meter_offline_mins</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>电表离线停机时间</td><td>[0, ∞)</td><td>100</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>
## 平台请求同步安全保护策略
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`safety/sync`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`safety/sync`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>safety_sync</td><td>safety_sync</td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "safety_sync",
"code": 200,
"msg": "",
"sub_device_uid": "${SUB_DEVICE_UID}",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265671000
}
```
### 同步安全保护策略响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`safety/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`safety/sync`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>safety_sync</td><td>safety_sync</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="209">参数</th><th width="81">类型<select><option value="7a689ae99ed145e183989371bbcf21ce" label="int" color="blue"></option></select></th><th width="85" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>bms_3</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>BMS三级报警停机状态 0-关 1-开</td><td>[0,1]</td><td>1</td></tr><tr><td>fire_control</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>消防报警停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>0</td></tr><tr><td>flooding</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>水浸停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>aircon</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>空调掉线停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>0</td></tr><tr><td>aircon_mins</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>空调掉线停机时间</td><td>[0, ∞)</td><td>10</td></tr><tr><td>temp</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>室内温度过高停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>temp_celsius</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>室内温度过高停机温度</td><td>[0, ∞)</td><td>35</td></tr><tr><td>grounded</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>接地离线停机状态 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>grounded_mins</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>接地离线停机时间</td><td>[0, ∞)</td><td>5</td></tr><tr><td>bms_2</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>BMS二级报警降功率停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>bms_2_kw</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>BMS二级报警降功率至停机功率</td><td>[0, ∞)</td><td>100</td></tr><tr><td>meter_offline_power0</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td><p>电表离线停机 </p><p>0-关 </p><p>1-开</p></td><td>[0,1]</td><td>1</td></tr><tr><td>meter_offline_mins</td><td><span data-option="7a689ae99ed145e183989371bbcf21ce">int</span></td><td>true</td><td>电表离线停机时间</td><td>[0, ∞)</td><td>100</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json"><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>

View File

@ -0,0 +1,173 @@
# 信息-EMU设备
## 上报设备信息
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`device_info/details`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`device_info/details`</mark>`/post`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>device_info_details</td><td>device_info_details</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>sub_device_id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>(0, ∞)</td><td>2</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>设备ID</td><td>-</td><td>1</td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td></td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td></td><td></td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障 </p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json" data-line-numbers><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>
## 平台请求同步设备信息
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`device_info/sync`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`device_info/sync`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>device_info_sync</td><td>device_info_sync</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "device_info_sync",
"sub_device_uid": "${SUB_DEVICE_UID}",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265671000
}
```
### 同步设备信息响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`device_info/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`device_info/sync`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>device_info_sync</td><td>device_info_sync</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>sub_device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>设备ID</td><td>-</td><td>1</td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td></td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td>-</td><td></td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障 </p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json"><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>
## 平台请求同步设备信息列表
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`device_info/list`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`device_info/list`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>device_info_list</td><td>device_info_list</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "device_info_list",
"code": 200,
"msg": "",
"sub_device_uid": "${SUB_DEVICE_UID}",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265671000
}
```
### 同步设备信息响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`device_info/list`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`device_info/list`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>4c5b3c27-cea8-4ea1-a936-41fd3596e0e9</td></tr><tr><td>reply</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>device_info_list</td><td>device_info_list</td></tr><tr><td>data</td><td><span data-option="005ee50172ec4f44a83308b0bfb12d48">data</span></td><td>true</td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>code</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option><option value="1b28025203f644c291919cb0f1184736" label="float" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th width="127">描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>设备ID</td><td>-</td><td>1</td></tr><tr><td>name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备名称</td><td>-</td><td>ems设备</td></tr><tr><td>site_name</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>站点名称</td><td>-</td><td>ems站点</td></tr><tr><td>location</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>详细地理位置</td><td>-</td><td>wudun</td></tr><tr><td>longitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>经度</td><td>-</td><td></td></tr><tr><td>latitude</td><td><span data-option="1b28025203f644c291919cb0f1184736">float</span></td><td>true</td><td>纬度</td><td>-</td><td></td></tr><tr><td>level</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>EMS等级</td><td>[1, 2]</td><td>1</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>设备类型</td><td>-</td><td>ems</td></tr><tr><td>running_status</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td><p>运行状态</p><p>1-运行</p><p>2-离线</p><p>3-故障 </p></td><td>[1,2,3]</td><td>1</td></tr><tr><td>host</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>地址</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>端口</td><td>[0,65525]</td><td>2171</td></tr><tr><td>license</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>激活码</td><td>-</td><td>2YIZedmOtl4pcqo1EA4zhM5gofDI</td></tr></tbody></table>
* **Payload示例**
<pre class="language-json"><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>

View File

@ -0,0 +1,227 @@
# 信息-电表设备
## 上报电表设备信息
* **Topic**
* 用户自定义MQTT `v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`elemeter_info/details`</mark>`/post`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`elemeter_info/details`</mark>`/post`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="152">参数</th><th width="95">类型</th><th>是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td>uuid</td><td></td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td>str</td><td></td><td>消息类型</td><td>elemeter_info_details</td><td>elemeter_info_details</td></tr><tr><td>data</td><td>data</td><td></td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>sub_device_id</td><td>int</td><td></td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>-</td><td>1</td></tr><tr><td>device_uid</td><td>str</td><td></td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td>int</td><td></td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/eleMeter**
<table><thead><tr><th width="199">参数</th><th>类型</th><th>是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>id</td><td>uint</td><td></td><td>ID</td><td>-</td><td>1</td></tr><tr><td>station_name</td><td>str</td><td></td><td>站点名称</td><td>-</td><td>丽宝广场</td></tr><tr><td>virtual_type</td><td>uint</td><td></td><td>虚拟类型</td><td>1-虚拟电表<br>2-真实电表</td><td>2</td></tr><tr><td>proto_type</td><td>uint</td><td></td><td>协议类型 </td><td><p>1-tcp</p><p>2-rtu</p></td><td>1</td></tr><tr><td>application_proto_type</td><td>uint</td><td></td><td>应用层协议类型</td><td>1-dlt645<br>2-modbus</td><td>2</td></tr><tr><td>slave_id</td><td>uint</td><td></td><td>设备从站id(应用层协议类型为modbus时必填)</td><td>-</td><td>1</td></tr><tr><td>dlt_addr</td><td>str</td><td></td><td>私有地址应用层协议类型为1时必填</td><td>-</td><td>AAAAAAAAAAAA</td></tr><tr><td>host</td><td>str</td><td></td><td>地址传输层协议类型为2时必填</td><td>-</td><td>192.168.0.1</td></tr><tr><td>port</td><td>uint</td><td></td><td>端口传输层协议类型为2时必填</td><td>[0,65535]</td><td>502</td></tr><tr><td>com_addr</td><td>str</td><td></td><td>串口地址传输层协议类型为1时必填</td><td>-</td><td>/dev/ttyS1</td></tr><tr><td>com_no</td><td>uint</td><td></td><td>串口号传输层协议类型为1时必填</td><td>-</td><td>1</td></tr><tr><td>baud_rate</td><td>int</td><td></td><td>波特率传输层协议类型为1时必填</td><td>-</td><td>9600</td></tr><tr><td>data_bits</td><td>int</td><td></td><td>数据位传输层协议类型为1时必填</td><td>-</td><td>8</td></tr><tr><td>stop_bits</td><td>int</td><td></td><td>停止位传输层协议类型为1时必填</td><td>-</td><td>1</td></tr><tr><td>parity</td><td>string</td><td></td><td>校验位 传输层协议类型为1时必填</td><td>N:无校验<br>E:奇校验<br>O:偶校验</td><td>N</td></tr><tr><td>name</td><td>str</td><td></td><td>设备名称</td><td></td><td>东区变压器</td></tr><tr><td>ele_device_type_id</td><td>uint</td><td></td><td>电表类型id</td><td></td><td>1</td></tr><tr><td>ele_device_type</td><td>ele_device_type</td><td></td><td>电表类型对象</td><td></td><td></td></tr><tr><td>pt</td><td>uint</td><td></td><td>电压互感</td><td></td><td>10</td></tr><tr><td>ct</td><td>uint</td><td></td><td>电流互感</td><td></td><td>10</td></tr><tr><td>direction</td><td>int</td><td></td><td>电表方向</td><td></td><td></td></tr><tr><td>running_status</td><td>uint</td><td></td><td>运行状态</td><td></td><td>1</td></tr><tr><td>purpose</td><td>int</td><td></td><td>用途 </td><td>1-关口表 2-计量表</td><td>1</td></tr><tr><td>associate_meters</td><td>[]<strong>eleMeter</strong></td><td></td><td>关联的电表</td><td></td><td>关联自身</td></tr></tbody></table>
* **Payload示例**
{% code lineNumbers="true" %}
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
"type": "elemeter_info_details",
"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_uid": "${SUB_DEVICE_UID}",
"sub_device_id": 2,
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265371000
}
```
{% endcode %}
## 平台请求同步设备信息
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`elemeter_info/sync`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`elemeter_info/sync`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="173">参数</th><th width="80">类型<select><option value="36cc16022bbb4c7b93fe3a347e4eee85" label="UUID" color="blue"></option><option value="826385f71ccd46638f3a63c8d6abef21" label="str" color="blue"></option><option value="bb5bb2c3a10846bf881acb0506b5951f" label="int" color="blue"></option><option value="f53674f5f7b044bab9768d2995855ea2" label="[]str" color="blue"></option><option value="005ee50172ec4f44a83308b0bfb12d48" label="data" color="blue"></option></select></th><th width="100" data-type="checkbox">是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td><span data-option="36cc16022bbb4c7b93fe3a347e4eee85">UUID</span></td><td>true</td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>消息类型</td><td>elemeter_info_sync</td><td>elemeter_info_sync</td></tr><tr><td>sub_device_id</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>一级设备UID仅二级替一级设备上报时需要该字段</td><td>-</td><td>jHODSda39</td></tr><tr><td>device_uid</td><td><span data-option="826385f71ccd46638f3a63c8d6abef21">str</span></td><td>true</td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td><span data-option="bb5bb2c3a10846bf881acb0506b5951f">int</span></td><td>true</td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "elemeter_info_sync",
"sub_device_id": "${SUB_DEVICE_ID}",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265671000
}
```
### 同步设备信息响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`elemeter_info/sync`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`elemeter_info/sync`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="152">参数</th><th width="95">类型</th><th>是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td>uuid</td><td></td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>reply</td><td>uuid</td><td></td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td>str</td><td></td><td>消息类型</td><td>elemeter_info_sync</td><td>elemeter_info_sync</td></tr><tr><td>data</td><td>data</td><td></td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>code</td><td>int</td><td></td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td>str</td><td></td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>sub_device_id</td><td>int</td><td></td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>-</td><td>1</td></tr><tr><td>device_uid</td><td>str</td><td></td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td>int</td><td></td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/eleMeter**
* **Payload示例**
<pre class="language-json"><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>
## 平台请求同步设备信息列表
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`elemeter_info/list`</mark>`/command`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`elemeter_info/list`</mark>`/command`
* **权限:**发布
* **Payload主结构**
<table><thead><tr><th width="152">参数</th><th width="95">类型</th><th>是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td>uuid</td><td></td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td>str</td><td></td><td>消息类型</td><td>elemeter_info_list</td><td>elemeter_info_list</td></tr><tr><td>device_uid</td><td>str</td><td></td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td>int</td><td></td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **响应代码**
<table><thead><tr><th>错误码<select><option value="271841fe398248e2ad777dd883d4754c" label="400" color="blue"></option><option value="3c1ae8fc6fe644f78b5f6b6f889f7621" label="200" color="blue"></option></select></th><th>描述</th><th>说明</th></tr></thead><tbody><tr><td><span data-option="3c1ae8fc6fe644f78b5f6b6f889f7621">200</span></td><td>下发成功</td><td></td></tr><tr><td><span data-option="271841fe398248e2ad777dd883d4754c">400</span></td><td>参数有误</td><td></td></tr></tbody></table>
* **Payload示例**
```json
{
"trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
"mid": "4c5b3c27-cea8-4ea1-a936-41fd3596e0e9",
"type": "elemeter_info_list",
"device_uid": "${DEVICE_UID}",
"timestamp": 1695265671000
}
```
### 同步设备信息响应
* **Topic**
* 用户自定义MQTT`v1/wudun/${PRODUCT_KEY}/${DEVICE}/`<mark style="color:red;">`elemeter_info/list`</mark>`/result`
* 平台默认MQTT `v1/user/${TENANT}/${DEVICE}/`<mark style="color:red;">`elemeter_info/list`</mark>`/result`
* **权限:**订阅
* **Payload主结构**
<table><thead><tr><th width="152">参数</th><th width="95">类型</th><th>是否必填</th><th>描述</th><th>范围</th><th>样例</th></tr></thead><tbody><tr><td>mid</td><td>uuid</td><td></td><td>消息ID</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>reply</td><td>uuid</td><td></td><td>所回复消息的mid</td><td>-</td><td>3e681859-6917-4b9a-9afd-3f162cd185bd</td></tr><tr><td>type</td><td>str</td><td></td><td>消息类型</td><td>elemeter_info_list</td><td>elemeter_info_list</td></tr><tr><td>data</td><td>data</td><td></td><td>消息内容</td><td>-</td><td><strong>Payload - data</strong></td></tr><tr><td>code</td><td>int</td><td></td><td>响应代码</td><td>-</td><td>见响应代码</td></tr><tr><td>msg</td><td>str</td><td></td><td>失败原因</td><td>-</td><td>参数错误</td></tr><tr><td>sub_device_id</td><td>int</td><td></td><td>一级设备ID仅二级替一级设备上报时需要该字段</td><td>-</td><td>1</td></tr><tr><td>device_uid</td><td>str</td><td></td><td>二级设备UID</td><td>-</td><td>iYRkfVpi77</td></tr><tr><td>timestamp</td><td>int</td><td></td><td>消息时间戳(单位:毫秒)</td><td>(0, ∞)</td><td>1696837112000</td></tr></tbody></table>
* **Payload - data/\[]eleMeter**
* **Payload示例**
<pre class="language-json"><code class="lang-json"><strong>{
</strong><strong> "trace_id": "577f5df0-65d6-432d-8aac-0116e9530152",
</strong> "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
}
</code></pre>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB