通用命令
<p>[TOC]</p>
<table>
<thead>
<tr>
<th>4G喇叭</th>
<th>4G开关</th>
<th>WiFi喇叭</th>
<th>WiFi开关</th>
</tr>
</thead>
<tbody>
<tr>
<td><font color="green"><strong>&radic;</strong></font></td>
<td><font color="green"><strong>&radic;</strong></font></td>
<td><font color="green"><strong>&radic;</strong></font></td>
<td><font color="green"><strong>&radic;</strong></font></td>
</tr>
</tbody>
</table>
<p>支持此功能的设备类型:<font color="green"><strong>&radic;</strong></font>-支持 <font color="red"><strong>&times;</strong></font>-不支持</p>
<h2>获取设备基本信息(getDevInfo)</h2>
<p><strong>简要描述</strong>
获取设备基本信息,如固件版本号等。</p>
<p><strong>命令参数</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必须</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>是</td>
<td>string</td>
<td>getDevInfo</td>
</tr>
<tr>
<td>frameId</td>
<td>否</td>
<td>string</td>
<td>帧ID</td>
</tr>
</tbody>
</table>
<p><strong>命令示例</strong></p>
<pre><code> {
&quot;method&quot;: &quot;getDevInfo&quot;,
&quot;frameId&quot;: &quot;1745396239780&quot;
}</code></pre>
<p><strong>应答参数说明</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>string</td>
<td>getDevInfo</td>
</tr>
<tr>
<td>result</td>
<td>string</td>
<td>返回结果。<code>ok</code>-成功;其他-具体失败原因</td>
</tr>
<tr>
<td>version</td>
<td>string</td>
<td>版本号</td>
</tr>
<tr>
<td>slotAmount</td>
<td>int</td>
<td>插槽数量,开关类设备支持</td>
</tr>
<tr>
<td>phaseAmount</td>
<td>int</td>
<td>相位数量,开关类设备支持</td>
</tr>
<tr>
<td>imei</td>
<td>string</td>
<td>设备imei</td>
</tr>
<tr>
<td>frameId</td>
<td>string</td>
<td>同命令<code>frameId</code></td>
</tr>
<tr>
<td>timestamp</td>
<td>int</td>
<td>秒级时间戳,WiFi款不支持</td>
</tr>
</tbody>
</table>
<p><strong>应答示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;getDevInfo&quot;,
&quot;result&quot;: &quot;ok&quot;,
&quot;version&quot;: &quot;SWITCH-EC618X-R24-O-V4.0.8&quot;,
&quot;slotAmount&quot;: 1,
&quot;phaseAmount&quot;: 1,
&quot;imei&quot;: &quot;1745396239780&quot;,
&quot;frameId&quot;: &quot;1745396239780&quot;,
&quot;timestamp&quot;: 1745396759
}</code></pre>
<p><strong>备注</strong>
无</p>
<h2>获取设备实时状态信息(getDevStatus)</h2>
<p><strong>简要描述</strong>
获取设备实时状态信息,如固件版本号等。</p>
<p><strong>命令参数</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必须</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>是</td>
<td>string</td>
<td>getDevStatus</td>
</tr>
<tr>
<td>frameId</td>
<td>否</td>
<td>string</td>
<td>帧ID</td>
</tr>
</tbody>
</table>
<p><strong>命令示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;getDevStatus&quot;,
&quot;frameId&quot;: &quot;1745396239780&quot;
}</code></pre>
<p><strong>应答参数说明</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>string</td>
<td>getDevStatus</td>
</tr>
<tr>
<td>result</td>
<td>string</td>
<td>返回结果。<code>ok</code>-成功;其他-具体失败原因</td>
</tr>
<tr>
<td>netType</td>
<td>string</td>
<td>联网类型。<code>4G</code>、<code>WiFi</code></td>
</tr>
<tr>
<td>iccid</td>
<td>string</td>
<td>物联卡ICCID,4G款支持</td>
</tr>
<tr>
<td>signal</td>
<td>int</td>
<td>信号强度,1-31</td>
</tr>
<tr>
<td>temperature</td>
<td>float</td>
<td>温度</td>
</tr>
<tr>
<td>gps</td>
<td>int</td>
<td>gps,格式:经度,纬度</td>
</tr>
<tr>
<td>slots</td>
<td>array</td>
<td>插槽状态int数组,按顺序从插槽1到插槽n,子项值:<code>0</code>-关闭;<code>1</code>-打开</td>
</tr>
<tr>
<td>tasks</td>
<td>array</td>
<td>插槽订单任务对象数组</td>
</tr>
<tr>
<td>EMdata</td>
<td>array</td>
<td>插槽电量计对象数组,按顺序从插槽1到插槽n</td>
</tr>
<tr>
<td>imei</td>
<td>string</td>
<td>设备imei</td>
</tr>
<tr>
<td>frameId</td>
<td>string</td>
<td>同命令<code>frameId</code></td>
</tr>
<tr>
<td>timestamp</td>
<td>int</td>
<td>秒级时间戳,WiFi款不支持</td>
</tr>
</tbody>
</table>
<ul>
<li><code>tasks</code>数组对象说明</li>
</ul>
<table>
<thead>
<tr>
<th>key</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>slotNum</td>
<td>int</td>
<td>插槽编号,从1开始</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>订单类型,<code>TIME</code>-计时;<code>POWER</code>-计量</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>订单状态,<code>idle</code>-空闲/结束;<code>working</code>-进行中</td>
</tr>
<tr>
<td>timeSec</td>
<td>int</td>
<td>计时秒数。该参数在<code>type</code>为<code>TIME</code>时有效</td>
</tr>
<tr>
<td>powerKwh</td>
<td>double</td>
<td>计量电量,单位度。该参数在<code>type</code>为<code>POWER</code>时有效</td>
</tr>
<tr>
<td>powerMaxSec</td>
<td>int</td>
<td>计量最大秒数,总运行秒数到达计量最大秒数,任务停止。0为不限制。该参数在<code>type</code>为<code>POWER</code>时有效</td>
</tr>
<tr>
<td>maxPower</td>
<td>int</td>
<td>最大功率,单位W。超过最大功率,任务自动停止。0为使用设备默认值1400(不同设备有不同默认值)</td>
</tr>
<tr>
<td>pullOutStop</td>
<td>bool</td>
<td>拔出自停。<code>true</code>-启用;<code>false</code>-禁用</td>
</tr>
<tr>
<td>pullOutStopPower</td>
<td>int</td>
<td>拔出自停功率,在拔出自停启用,且当前功率小于拔出自停功率时,任务自动停止。<code>0</code>为使用设备默认拔出自停功率3(不同设备有不同默认值)</td>
</tr>
<tr>
<td>pullOutStopStartSec</td>
<td>int</td>
<td>订单启动后拔出自停开始判断秒数,默认0秒</td>
</tr>
<tr>
<td>chargeFullStop</td>
<td>bool</td>
<td>充满自停。<code>true</code>-启用;<code>false</code>-禁用</td>
</tr>
<tr>
<td>chargeFullStopPower</td>
<td>int</td>
<td>充满自停功率。<code>0</code>为使用设备默认值5(不同设备有不同默认值)</td>
</tr>
<tr>
<td>chageFullStopSec</td>
<td>int</td>
<td>充满自停秒数,在充满自停启用,且当前功率小于充满自停功率并持续充满自停秒数后,任务自动停止。<code>0</code>为使用设备默认值60(不同设备有不同默认值)</td>
</tr>
<tr>
<td>chargeFullStopStartSec</td>
<td>int</td>
<td>订单启动后充满自停开始判断秒数,默认0秒</td>
</tr>
<tr>
<td>remark</td>
<td>string</td>
<td>订单备注,启动订单时传入,可用于记录订单编号</td>
</tr>
<tr>
<td>closeReason</td>
<td>string</td>
<td>关闭原因</td>
</tr>
<tr>
<td>totalSec</td>
<td>int</td>
<td>总运行秒数</td>
</tr>
<tr>
<td>totalKwh</td>
<td>double</td>
<td>总运行度数</td>
</tr>
<tr>
<td>voltage</td>
<td>double</td>
<td>有效电压,单位V</td>
</tr>
<tr>
<td>current</td>
<td>double</td>
<td>有效电流,单位A</td>
</tr>
<tr>
<td>power</td>
<td>double</td>
<td>有效功率,单位W</td>
</tr>
<tr>
<td>vs</td>
<td>array</td>
<td>多相电有效电压double数组,按顺序从1-n相,单位V,多相电设备才有</td>
</tr>
<tr>
<td>cs</td>
<td>array</td>
<td>多相电有效电流double数组,按顺序从1-n相,单位A,多相电设备才有</td>
</tr>
<tr>
<td>ps</td>
<td>array</td>
<td>多相电有效功率double数组,按顺序从1-n相,单位W,多相电设备才有</td>
</tr>
</tbody>
</table>
<ul>
<li><code>closeReason</code>说明</li>
</ul>
<table>
<thead>
<tr>
<th>value</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>CLOSED</td>
<td>任务完成,定时任务<code>totalSec</code>达到<code>timeSec</code>;计量任务<code>totalKwh</code>达到<code>powerKwh</code></td>
</tr>
<tr>
<td>MANUAL_CLOSED</td>
<td>下发结束订单命令关闭</td>
</tr>
<tr>
<td>PULL_OUT_STOP_CLOSE</td>
<td>拔出自停,<code>pullOutStop</code>为<code>true</code>且满足拔出自停条件</td>
</tr>
<tr>
<td>CHARGE_FULL_STOP_CLOSE</td>
<td>充满自停,<code>chargeFullStop</code>为<code>true</code>且满足拔出自停条件</td>
</tr>
<tr>
<td>OVER_POWER_CLOSE</td>
<td>超出最大功率停止,<code>power</code>持续超出<code>maxPower</code></td>
</tr>
<tr>
<td>OVER_TEMPERATURE_CLOSE</td>
<td>超出最大温度停止,<code>temperature</code>持续超出设备报警温度(不同设备有不同报警温度值)</td>
</tr>
<tr>
<td>REACH_MAX_TIME_CLOSE</td>
<td>达到最长时长关闭,计量任务<code>totalSec</code>达到<code>powerMaxSec</code></td>
</tr>
</tbody>
</table>
<ul>
<li><code>EMdata</code>数组对象说明</li>
</ul>
<table>
<thead>
<tr>
<th>key</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>v</td>
<td>double</td>
<td>有效电压,单位V</td>
</tr>
<tr>
<td>c</td>
<td>double</td>
<td>有效电流,单位A</td>
</tr>
<tr>
<td>p</td>
<td>double</td>
<td>有效功率,单位W</td>
</tr>
<tr>
<td>e</td>
<td>double</td>
<td>插槽总运行度数,单位度(非插槽订单任务总运行度数)</td>
</tr>
</tbody>
</table>
<p><strong>应答示例</strong></p>
<pre><code>{
&quot;imei&quot;: &quot;864536072949900&quot;,
&quot;gps&quot;: &quot;113.2170916,023.4001628&quot;,
&quot;method&quot;: &quot;getDevStatus&quot;,
&quot;timestamp&quot;: 1745398605,
&quot;signal&quot;: 25,
&quot;result&quot;: &quot;ok&quot;,
&quot;model&quot;: &quot;Air780E&quot;,
&quot;EMdata&quot;: [
{
&quot;c&quot;: 0.067,
&quot;v&quot;: 239.0090179,
&quot;p&quot;: 2.9530001,
&quot;e&quot;: 0
}
],
&quot;slots&quot;: [
0
],
&quot;netType&quot;: &quot;4G&quot;,
&quot;iccid&quot;: &quot;898608481024C0310590&quot;,
&quot;tasks&quot;: [
{
&quot;chargeFullStop&quot;: false,
&quot;pullOutStopStartSec&quot;: 0,
&quot;timeSec&quot;: 23596,
&quot;voltage&quot;: &quot;239.009&quot;,
&quot;slotNum&quot;: 1,
&quot;totalKwh&quot;: &quot;0.000&quot;,
&quot;pullOutStop&quot;: false,
&quot;pullOutStopPower&quot;: 5,
&quot;chargeFullStopPower&quot;: 10,
&quot;remark&quot;: &quot;QQO20250417092634&quot;,
&quot;chargeFullStopStartSec&quot;: 0,
&quot;closeReason&quot;: &quot;CLOSED&quot;,
&quot;current&quot;: &quot;0.067&quot;,
&quot;type&quot;: &quot;TIME&quot;,
&quot;power&quot;: &quot;2.953&quot;,
&quot;status&quot;: &quot;idle&quot;,
&quot;chargeFullStopSec&quot;: 60,
&quot;maxPower&quot;: 2000,
&quot;totalSec&quot;: 23596,
&quot;ps&quot;: [1.8430001,1.3590001,1.868],
&quot;cs&quot;: [0.045,0.019,0.026],
&quot;vs&quot;: [237.0470123,235.8450165,237.0630188]
}
],
&quot;temperature&quot;: &quot;32.4&quot;,
&quot;frameId&quot;: &quot;1745398603262&quot;
}</code></pre>
<p><strong>备注</strong>
无</p>
<h2>设备连接MQTT成功事件上报(connected)</h2>
<p><strong>简要描述</strong>
设备连接MQTT成功触发事件。</p>
<p><strong>命令参数</strong>
无</p>
<p><strong>命令示例</strong>
无</p>
<p><strong>应答参数说明</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>string</td>
<td>connected</td>
</tr>
<tr>
<td>imei</td>
<td>string</td>
<td>设备imei</td>
</tr>
<tr>
<td>timestamp</td>
<td>int</td>
<td>秒级时间戳,WiFi款不支持</td>
</tr>
</tbody>
</table>
<p><strong>应答示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;connected&quot;,
&quot;imei&quot;: &quot;1745396239780&quot;,
&quot;timestamp&quot;: 1745396759
}</code></pre>
<p><strong>备注</strong>
无</p>
<h2>按键事件上报(keyEvent)</h2>
<p><strong>简要描述</strong>
设备单击按键时触发。</p>
<p><strong>命令参数</strong>
无</p>
<p><strong>命令示例</strong>
无</p>
<p><strong>应答参数说明</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>string</td>
<td>keyEvent</td>
</tr>
<tr>
<td>imei</td>
<td>string</td>
<td>设备imei</td>
</tr>
<tr>
<td>timestamp</td>
<td>int</td>
<td>秒级时间戳,WiFi款不支持</td>
</tr>
</tbody>
</table>
<p><strong>应答示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;keyEvent&quot;,
&quot;imei&quot;: &quot;1745396239780&quot;,
&quot;timestamp&quot;: 1745396759
}</code></pre>
<p><strong>备注</strong>
无</p>
<h2>获取按键配置(getKeyConfig)</h2>
<p><strong>简要描述</strong>
获取按键配置。</p>
<p><strong>命令参数</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必须</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>是</td>
<td>string</td>
<td>getKeyConfig</td>
</tr>
<tr>
<td>frameId</td>
<td>否</td>
<td>string</td>
<td>帧ID</td>
</tr>
</tbody>
</table>
<p><strong>命令示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;getKeyConfig&quot;,
&quot;frameId&quot;: &quot;1745396239780&quot;
}</code></pre>
<p><strong>应答参数说明</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>string</td>
<td>getKeyConfig</td>
</tr>
<tr>
<td>result</td>
<td>string</td>
<td>返回结果。<code>ok</code>-成功;其他-具体失败原因</td>
</tr>
<tr>
<td>mode</td>
<td>int</td>
<td>按键模式。<code>0</code>-无动作;<code>1</code>-切换开关;<code>2</code>-离线切换开关,联网不动作</td>
</tr>
<tr>
<td>uploadEnable</td>
<td>bool</td>
<td>是否上报按键事件</td>
</tr>
<tr>
<td>frameId</td>
<td>string</td>
<td>同命令<code>frameId</code></td>
</tr>
<tr>
<td>timestamp</td>
<td>int</td>
<td>秒级时间戳,WiFi款不支持</td>
</tr>
</tbody>
</table>
<p><strong>应答示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;getKeyConfig&quot;,
&quot;result&quot;: &quot;ok&quot;,
&quot;mode&quot;: 1,
&quot;uploadEnable&quot;: true,
&quot;imei&quot;: &quot;1745396239780&quot;,
&quot;frameId&quot;: &quot;1745396239780&quot;,
&quot;timestamp&quot;: 1745396759
}</code></pre>
<p><strong>备注</strong>
无</p>
<h2>设置按键配置(setKeyConfig)</h2>
<p><strong>简要描述</strong>
设置按键配置。</p>
<p><strong>命令参数</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必须</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>是</td>
<td>string</td>
<td>setKeyConfig</td>
</tr>
<tr>
<td>mode</td>
<td>是</td>
<td>int</td>
<td>按键模式。<code>0</code>-无动作;<code>1</code>-切换开关;<code>2</code>-离线切换开关,联网不动作</td>
</tr>
<tr>
<td>uploadEnable</td>
<td>是</td>
<td>bool</td>
<td>是否上报按键事件</td>
</tr>
<tr>
<td>frameId</td>
<td>否</td>
<td>string</td>
<td>帧ID</td>
</tr>
</tbody>
</table>
<p><strong>命令示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;setKeyConfig&quot;,
&quot;mode&quot;: 1,
&quot;uploadEnable&quot;: true,
&quot;frameId&quot;: &quot;1745396239780&quot;
}</code></pre>
<p><strong>应答参数说明</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>string</td>
<td>setKeyConfig</td>
</tr>
<tr>
<td>result</td>
<td>string</td>
<td>返回结果。<code>ok</code>-成功;其他-具体失败原因</td>
</tr>
<tr>
<td>mode</td>
<td>int</td>
<td>按键模式。<code>0</code>-无动作;<code>1</code>-切换开关;<code>2</code>-离线切换开关,联网不动作</td>
</tr>
<tr>
<td>uploadEnable</td>
<td>bool</td>
<td>是否上报按键事件</td>
</tr>
<tr>
<td>frameId</td>
<td>string</td>
<td>同命令<code>frameId</code></td>
</tr>
<tr>
<td>timestamp</td>
<td>int</td>
<td>秒级时间戳,WiFi款不支持</td>
</tr>
</tbody>
</table>
<p><strong>应答示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;setKeyConfig&quot;,
&quot;result&quot;: &quot;ok&quot;,
&quot;mode&quot;: 1,
&quot;uploadEnable&quot;: true,
&quot;imei&quot;: &quot;1745396239780&quot;,
&quot;frameId&quot;: &quot;1745396239780&quot;,
&quot;timestamp&quot;: 1745396759
}</code></pre>
<p><strong>备注</strong>
无</p>
<h2>重启(reboot)</h2>
<p><strong>简要描述</strong>
远程重启设备。</p>
<p><strong>命令参数</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>必须</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>是</td>
<td>string</td>
<td>reboot</td>
</tr>
<tr>
<td>frameId</td>
<td>否</td>
<td>string</td>
<td>帧ID</td>
</tr>
</tbody>
</table>
<p><strong>命令示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;reboot&quot;,
&quot;frameId&quot;: &quot;1745396239780&quot;
}</code></pre>
<p><strong>应答参数说明</strong></p>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>method</td>
<td>string</td>
<td>reboot</td>
</tr>
<tr>
<td>result</td>
<td>string</td>
<td>返回结果。<code>ok</code>-成功;其他-具体失败原因</td>
</tr>
<tr>
<td>imei</td>
<td>string</td>
<td>设备imei</td>
</tr>
<tr>
<td>frameId</td>
<td>string</td>
<td>同命令<code>frameId</code></td>
</tr>
<tr>
<td>timestamp</td>
<td>int</td>
<td>秒级时间戳,WiFi款不支持</td>
</tr>
</tbody>
</table>
<p><strong>应答示例</strong></p>
<pre><code>{
&quot;method&quot;: &quot;reboot&quot;,
&quot;result&quot;: &quot;ok&quot;,
&quot;imei&quot;: &quot;1745396239780&quot;,
&quot;frameId&quot;: &quot;1745396239780&quot;,
&quot;timestamp&quot;: 1745396759
}</code></pre>
<p><strong>备注</strong>
无</p>