EMS3.0/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/condition-control.md

127 lines
14 KiB
Markdown
Raw Normal View History

2025-02-14 18:09:24 +08:00
# 手动控制-冷却系统远程控制
## 发送液冷远程控制策略
* **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>