# PWM智能控制器-WiFi版 (型号：GSLM2S) - 开发者指令 
## 产品基本描述 
本设备是一款支持二次开发的PWM智能控制器。DC 9-36V/10A直流电输入，双路输出，最大负载120W/路。适用于电机、水泵、风扇等设备的无级调速控制，可实现对设备转速的精准、平滑调节。广泛应用于温室大棚通风系统、液冷循环泵控速、机房机柜智能散热、DIY水冷系统等多种工业与民用场景。
2.4GHz WiFi 通信方式，可在内网、专网环境使用。支持MQTT/TCP协议连接，接入到用户自建服务器平台、阿里云等第三方物联网云平台，可通过API接口调用进行自定义应用程序和系统集成，用户只需几行指令就能远程控制设备。 
## 产品主要特点 
WiFi网络，双路控制
DC9-36V供电
适用电机、水泵、风扇无极调速 
## 产品图 
<https://smart-bird-oss.smart-bird.cn/images/2026/06/22/1147177393039416.png> 
<https://smart-bird-oss.smart-bird.cn/images/2026/09/18/120001209106601.png> 
<https://smart-bird-oss.smart-bird.cn/images/2026/09/18/152359673072212.png> 
<https://smart-bird-oss.smart-bird.cn/images/2026/09/18/1524041508610367.png> 
<https://smart-bird-oss.smart-bird.cn/images/2026/09/18/1524078281158.png> 
## 官网产品资料 
### 品牌信息说明 
品牌LOGO <https://smart-bird-oss.smart-bird.cn/images/2026/02/18/1722133698642421.png> 
智鸟科技GemeOpen专注为软件开发者提供商用智能设备，软件工程师通过简单的测试即可完成项目设备选型，使用标准的MQTT/TCP协议，发送JSON指令控制设备通断电、查询设备用电信息。能够极大节省项目实施时间与自研设备风险，与厂商云解耦，搭建私有化MQTT服务，完全掌控设备且无任何捆绑与隐性成本！ 
### 产品详细信息 
<https://www.smart-bird.cn/low-voltage-LED-smart-dimmer.html> 
### 淘宝购买网址 
<https://item.taobao.com/item.htm?id=955395097296> 
### 京东购买网址 
<https://item.jd.com/10212726561802.html> 
### 开发者文档 
<https://www.smart-bird.cn/doc/product/GSLM/device/GSLM2S/command> 
## 产品电气参数 
--- 
| 参数名 | 参数值 | 
|------|------| 
| 品牌 | GemeOpen | 
| 上市日期 | 2025年 | 
| 产品类型 | PWM智能控制器-WiFi版 | 
| 产品型号 | GSLM2S | 
| 外观尺寸 | 54mm*68mm*25mm | 
| 输入电压 | DC 9-36V | 
| 输入电流 | 10A（5A/路) | 
| 输出通道 | 双路 | 
| 最大负载 | MAX 240W(120W/路） | 
| 待机功率 | ＜2W | 
| 通讯方式 | 2.4GHz WIFI | 
| 通讯模块 | 乐鑫ESP32 | 
| 适用设备 | 电机、水泵、风扇 | 
| 外壳材质 | PC阻燃 | 
| 安装方式 | 导轨安装、M4螺丝固定安装 | 
--- 
 
## 控制采集 
 
### 远程设置PWM输出频率 
*controller-event* 
 
控制设备两路输出的开关状态和输出功率大小。两路相互独立，可分别控制。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "duty1" : 5,
 "duty2" : 30,
 "fadeMs" : 100,
 "key1" : 1,
 "key2" : 1,
 "type" : "event"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| duty1 | int | 第一路输出功率百分比（0~100）。仅在 key1=1 时生效，值越大输出功率越高。用于调节LED亮度、电机转速、加热温度等 | 5 | 
| duty2 | int | 第二路输出功率百分比（0~100）。仅在 key2=1 时生效 | 30 | 
| fadeMs | int | 渐变过渡时间（毫秒）：输出从当前值平滑变化到目标值的时长。类似CSS里的 transition-duration，避免瞬间跳变对负载造成冲击。范围 10~5000 | 100 | 
| key1 | int | 第一路总开关：0=强制关闭（无论duty设多少都无输出），1=允许输出 | 1 | 
| key2 | int | 第二路总开关：0=强制关闭，1=允许输出 | 1 | 
| type | String | 控制设备固定传"event" | event | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName": "controller-event",
 "source": "command",
 "signal": -51,
 "mac": "78e36d1e1e28",
 "code": "GSLM2S",
 "version": "2.0.5",
 "wifiLock": 0,
 "keyLock": 0,
 "key1": 1,
 "key2": 1,
 "duty1": 5,
 "duty2": 30,
 "fadeMs": 2000,
 "onState": 1,
 "ip": "192.168.3.244",
 "ssid": "gemeopen",
 "bssid": "a2b5f2cfecc2",
 "frequency": 10000,
 "overCurrent1": 2,
 "overCurrent2": 2,
 "timerEnable": 1,
 "timerInterval": 15
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | a2b5f2cfecc2 | 
| code | String | 设备型号代码 | GSLM2S | 
| commandName | String | 指令名称 | controller-event | 
| duty1 | int | 输出占空比 范围0-100 | 5 | 
| duty2 | int | 输出占空比 范围0-100 | 30 | 
| fadeMs | int | LED:渐变速度；PWM:缓启动速度；单位：毫秒（ms）;范围值：10-5000 | 2000 | 
| frequency | int | 输出工作频率，范围（100-20K）hz设置后重启生效，频率越高，效果越好，但是MOS管开关损失能耗越高，发热越严重，建议1K左右 | 10000 | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.3.244 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 1 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 1 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| overCurrent1 | int | 第一路堵转停止电流，单位A，范围值1-5，默认值：5 | 2 | 
| overCurrent2 | int | 第二路堵转停止电流，单位A，范围值1-5，默认值：5 | 2 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -51 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| version | String | 当前固件版本号 | 2.0.5 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 获取设备基础信息 
*info-all* 
 
查询当前设备的基础信息，如设备MAC地址、设备型号、固件版本号、当前连接的WiFi名称（ssid）、当前设备被分配的IP地址、WiFi信号强度及相关配置信息。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "type" : "info"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| type | String | 获取设备基本信息固定传"info" | info | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName": "info-all",
 "source": "command",
 "signal": -42,
 "mac": "78e36d1e1e28",
 "code": "GSLM2S",
 "version": "2.0.5",
 "wifiLock": 0,
 "keyLock": 0,
 "key1": 0,
 "key2": 0,
 "duty1": 5,
 "duty2": 30,
 "fadeMs": 2000,
 "onState": 1,
 "ip": "192.168.3.244",
 "ssid": "gemeopen",
 "bssid": "a2b5f2cfecc2",
 "frequency": 1000,
 "overCurrent1": 5,
 "overCurrent2": 5,
 "timerEnable": 1,
 "timerInterval": 15
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | a2b5f2cfecc2 | 
| code | String | 设备型号代码 | GSLM2S | 
| commandName | String | 指令名称 | info-all | 
| duty1 | int | 输出占空比 范围0-100 | 5 | 
| duty2 | int | 输出占空比 范围0-100 | 30 | 
| fadeMs | int | LED:渐变速度；PWM:缓启动速度；单位：毫秒（ms）;范围值：10-5000 | 2000 | 
| frequency | int | 输出工作频率，范围（100-20K）hz设置后重启生效，频率越高，效果越好，但是MOS管开关损失能耗越高，发热越严重，建议1K左右 | 1000 | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.3.244 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| overCurrent1 | int | 第一路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| overCurrent2 | int | 第二路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -42 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| version | String | 当前固件版本号 | 2.0.5 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 获取设备用电信息 
*info-statistic* 
 
获取设备采集的实时电流信息，注意不同的设备数值单位有区别，取决于设备设计的精度 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "type" : "statistic"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| type | String | 固定值"statistic" | statistic | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName": "device-timer-interval",
 "source": "auto",
 "current1": 0,
 "current2": 0,
 "key1": 0,
 "key2": 0,
 "duty1": 100,
 "duty2": 100,
 "fadeMs": 2000
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | info-statistic | 
| current1 | float | 当前电流，单位A，保留三位小数 | 1.234 | 
| current2 | float | 当前电流，单位A，保留三位小数 | 1.234 | 
| duty1 | int | 输出占空比 范围0-100 | 5 | 
| duty2 | int | 输出占空比 范围0-100 | 30 | 
| fadeMs | int | LED:渐变速度；PWM:缓启动速度；单位：毫秒（ms）;范围值：10-5000 | 10 | 
| key1 | int | 控制设备一路通断 0：关，1：开 | 0 | 
| key2 | int | 控制设备二路通断 0：关，1：开 | 0 | 
| source | String | 指令回复“command" | command | 
---   
 
## 定时任务 
 
### 查询定时通断任务 
*info-timer-task-query* 
 
查询设备已设置的定时通断电任务列表及详情。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"action" : "timerTaskQuery",
　　"messageId" : "$messageId",
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| action | String | 固定"timerTaskQuery" | timerTaskQuery | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | $messageId | 
| type | String | 设备设置固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"action" : "timerTaskQuery",
　　"commandName" : "info-timer-task-query",
　　"list" : [{"number":1,"week":"1","hour":0,"repeat":"week","command":{"key1":0,"key2":0,"type":"event"},"minute":0}],
　　"mac" : "78e36d1e1e28",
　　"messageId" : "$messageId",
　　"source" : "command",
　　"type" : "event"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| action | String | 设备定时任务查询默认填"timerTaskQuery" | timerTaskQuery | 
| command | Object | 指令 | | 
| commandName | String | 指令名称 | info-timer-task-query | 
| hour | int | 小时0~23 | 0 | 
| list | List | list为列表，参数带number、week、hour、minute、repeat是定时按星期时分执行一次，参数不带week则是每天按时分循环执行,key1、key2、key3含义同event指令 | [{"number":1,"week":"1","hour":0,"repeat":"week","command":{"key1":0,"key2":0,"type":"event"},"minute":0}] | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | $messageId | 
| minute | int | 分钟0~60 | 0 | 
| number | int | 任务编号 | 1 | 
| repeat | String | 重复week：按周重复,day：按天重复,oneof:一次任务 | week | 
| source | String | 指令回复“command" | command | 
| type | String | 设备设置固定值"event" | event | 
---  
 
### 清除倒计时通断任务 
*setting-countdown-clear* 
 
删除设备中已设置的单条定时通断电任务，删除为不可逆操作，删除后需重新设置。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"task" : "countdown",
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| task | String | 固定值“countdown" | countdown | 
| type | String | 控制设备固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"commandName" : "setting-timer-countdown-clear",
　　"mac" : "78e36d1e1e28",
　　"message" : "ok",
　　"source" : "command",
　　"success" : true
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-countdown-clear | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 设置倒计时通断任务 
*setting-timer-countdown* 
 
设置倒计时任务——指定时长与到点动作（关闭/开启）。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"countdownSecond" : 10
,
　　"finishCommand" : 
　　{
　　　　"key1" : 0,
　　　　"key2" : 0,
　　　　"type" : "event"
　　},
　　"task" : "countdown",
　　"timerInterval" : 5,
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| countdownSecond | int | 倒计时总时间 | 10 | 
| finishCommand | Object | 完成任务 | | 
| key1 | int | 控制设备一路通断 0：关，1：开 | 0 | 
| key2 | int | 控制设备二路通断 0：关，1：开 | 0 | 
| task | String | 固定值“countdown" | countdown | 
| timerInterval | int | 设备倒计时信息上报时间间隔（单位秒），取值范围1-86400 | 5 | 
| type | String | 设备设置固定值"setting" | setting | 
| type | String | 控制设备固定传"event" | event | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"commandName" : "setting-timer-countdown",
　　"countdownSecond" : 10,
　　"finishCommand" : 
　　{
　　　　"key1" : 0,
　　　　"key2" : 0,
　　　　"type" : "event"
　　},
　　"mac" : "78e36d1e1e28",
　　"messageId" : " ",
　　"source" : "command",
　　"task" : "countdown",
　　"timerInterval" : 5
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-countdown | 
| countdownSecond | int | 倒计时总时间 | 10 | 
| finishCommand | Object | 完成任务 | {"key1":0,"key2":0,"type":"event"} | 
| key1 | int | 控制设备一路通断 0：关，1：开 | 0 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关，1：开 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | | 
| source | String | 指令回复“command" | command | 
| task | String | 固定值“countdown" | countdown | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 5 | 
| type | String | 控制设备固定传"event" | event | 
| type | String | 控制设备固定传"event" | event | 
---  
 
### 倒计时自动上报 
*setting-timer-countdown-active* 
 
查看设备倒计时状态上报的 JSON 格式定义，供服务端对接解析设备上报的倒计时状态数据。上报频率由"设置倒计时任务"指令配置，配置后设备按周期将数据发布至约定主题（topic），设备端无订阅行为（仅发布），服务端订阅该发布主题后即可接收上报数据。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
"commandName" : "setting-timer-countdown-active",
"countdownSecond" : 10,
"mac" : "78:e3:6d:1e:1e:28",
"remainingSecond" : 10,
"source" : "auto",
"state" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-countdown-active | 
| countdownSecond | int | 倒计时总时间 | 10 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78:e3:6d:1e:1e:28 | 
| remainingSecond | int | 倒计时剩余时间，单位S | 10 | 
| source | String | 指令回复“command" | auto | 
| state | int | 任务状态：0：待启动，1：正在进行，2：结束 | 0 | 
---  
 
### 删除定时通断任务 
*setting-timer-delete* 
 
删除设备中已设置的单条定时通断电任务，删除为不可逆操作，删除后需重新设置。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"action" : "delete",
　　"number" : 1,
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| action | String | 固定"delete" | delete | 
| number | int | 任务编号 | 1 | 
| type | String | 设备设置固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"commandName" : "setting-timer-delete",
　　"mac" : "78e36d1df19c",
　　"message" : "ok",
　　"messageId" : "20260520",
　　"source" : "command",
　　"success" : true
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-delete | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1df19c | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
| type | String | 固定值"xxx" | event | 
---  
 
### 设置定时通断任务 
*setting-timer-task* 
 
新增或编辑定时通断电任务，设置后到点执行开启/关闭操作。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"command" : 
　　{
　　　　"key1" : 0,
　　　　"key2" : 0,
　　　　"type" : "event"
　　},
　　"hour" : 0,
　　"messageId" : "20260520",
　　"minute" : 0,
　　"number" : 1,
　　"repeat" : "week",
　　"task" : "timer",
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| command | Object | 指令 | | 
| hour | int | 小时0~23 | 0 | 
| key1 | int | 控制设备一路通断 0：关，1：开 | 0 | 
| key2 | int | 控制设备二路通断 0：关，1：开 | 0 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| minute | int | 分钟0~60 | 0 | 
| number | int | 任务编号 | 1 | 
| repeat | String | 重复week：按周重复,day：按天重复,oneof:一次任务 | week | 
| task | String | 固定值“timer" | timer | 
| type | String | 设备设置固定值"setting" | setting | 
| type | String | 设备设置固定值"event" | event | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"command" : 
　　{
　　　　"key1" : 0,
　　　　"key2" : 0,
　　　　"type" : "event"
　　},
　　"commandName" : "setting-timer-task",
　　"hour" : 17,
　　"mac" : "78e36d1e1e28",
　　"messageId" : "20260520",
　　"minute" : 24,
　　"number" : 1,
　　"repeat" : "oneof",
　　"source" : "command"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| command | Object | 指令 | {"key1":0,"key2":0,"type":"event"} | 
| commandName | String | 指令名称 | setting-timer-task | 
| hour | int | 小时0~23 | 17 | 
| key1 | int | 控制设备一路通断 0：关，1：开 | 0 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关，1：开 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| minute | int | 分钟0~60 | 24 | 
| number | int | 任务编号 | 1 | 
| repeat | String | 重复weekdays：按周重复,day：按天重复,oneof:一次任务 | oneof | 
| source | String | 指令回复“command" | command | 
| type | String | 设备设置固定值"event" | event | 
| type | String | 控制设备固定传"event" | event | 
---   
 
## 设备维护 
 
### 重置设备 
*controller-reset* 
 
将设备恢复至出厂状态，清除全部用户数据与配置，并自动重启。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "20260520",
 "system" : "reset",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| system | String | 重置/恢复出厂设置默认填"reset" | reset | 
| type | String | 固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "messageId": "20260520",
 "success": true,
 "message": "ok",
 "commandName": "controller-reset",
 "source": "command",
 "mac": "78e36d1e1e28"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | controller-reset | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 重启设备 
*controller-restart* 
 
软重启后，通过指令设置的参数将生效，同时设备将重新连接Wifi/4G网络，注意设备IP地址可能发生变化 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "system" : "restart",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| system | String | 设备软重启固定传"restart" | restart | 
| type | String | 设备设置固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "success": true,
 "message": "ok",
 "commandName": "controller-restart",
 "source": "command",
 "mac": "78e36d1e1e28"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | controller-restart | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 获取设备通讯协议 
*info-protocol* 
 
获取当前设备与服务端交互的通信协议及协议配置参数，目前支持MQTT、TCP Client和HTTP Server（固件版本2.0.0以上支持），设备出厂时默认接入GemeOpen厂家MQTT测试服务器，免费提供客户调试使用，如需接入自己的服务器或使用其他协议，请自行搭建服务器。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "type" : "protocol"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| type | String | 获取设备通讯协议固定传protocol | protocol | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "protocol": "mqtt",
 "mac": "78e36d1e1e28",
 "source": "command",
 "commandName": "info-protocol",
 "server": "broker.emqx.io",
 "port": 1883,
 "clientId": "mqttx_a4c0c3e9",
 "username": "1",
 "subcribe": "dcq111",
 "publish": "dcq110"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | mqttx_a4c0c3e9 | 
| commandName | String | 指令名称 | info-protocol | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| port | String | 端口号 | 1883 | 
| protocol | String | 协议类型 | mqtt | 
| publish | String | 自定义发布主题 注意:不可重复 | dcq110 | 
| server | String | 自定义服务器地址 | broker.emqx.io | 
| source | String | 指令回复“command" | command | 
| subcribe | String | 自定义订阅主题，注意：不可重复 | dcq111 | 
| username | String | 自定义服务器用户名 | 1 | 
---  
 
### 设置PWM输出频率 
*setting-frequency* 
 
设置PWM输出频率 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"frequency" : 1000,
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| frequency | int | 输出工作频率，范围（100-20K）hz设置后重启生效，频率越高，效果越好，但是MOS管开关损失能耗越高，发热越严重，建议1K左右 | 1000 | 
| type | String | 控制设备固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"bssid" : "a2b5f2cfecc2",
　　"code" : "GSLM2S",
　　"commandName" : "setting-frequency",
　　"duty1" : 100,
　　"duty2" : 100,
　　"fadeMs" : 2000,
　　"frequency" : 1000,
　　"ip" : "192.168.3.244",
　　"key1" : 0,
　　"key2" : 0,
　　"keyLock" : 0,
　　"mac" : "78e36d1e1e28",
　　"onState" : 1,
　　"overCurrent1" : 5,
　　"overCurrent2" : 5,
　　"signal" : -43,
　　"source" : "command",
　　"ssid" : "gemeopen",
　　"timerEnable" : 1,
　　"timerInterval" : 15,
　　"version" : "2.0.5",
　　"wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | a2b5f2cfecc2 | 
| code | String | 设备型号代码 | GSLM2S | 
| commandName | String | 指令名称 | setting-frequency | 
| duty1 | int | 输出占空比 范围0-100 | 100 | 
| duty2 | int | 输出占空比 范围0-100 | 100 | 
| fadeMs | int | LED:渐变速度；PWM:缓启动速度；单位：毫秒（ms）;范围值：10-5000 | 2000 | 
| frequency | int | 输出工作频率，范围（100-20K）hz设置后重启生效，频率越高，效果越好，但是MOS管开关损失能耗越高，发热越严重，建议1K左右 | 1000 | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.3.244 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| overCurrent1 | int | 第一路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| overCurrent2 | int | 第二路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -43 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| version | String | 当前固件版本号 | 2.0.5 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 自定义HTTP参数 
*setting-http* 
 
用于配置http回调地址，用来设备事件推送地址，注意不支持https 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"maxRetry" : 3,
　　"protocol" : "http",
　　"type" : "custom",
　　"url" : "10.168.1.149"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| maxRetry | int | 重试次数 | 3 | 
| protocol | String | 协议类型 | http | 
| type | String | 固定值"custom" | custom | 
| url | String | 上报地址 | 10.168.1.149 | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"commandName" : "setting-http",
　　"mac" : "78e36d1e1e28",
　　"protocol" : "http",
　　"source" : "command",
　　"url" : "10.168.1.149"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-http | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| protocol | String | 协议类型 | http | 
| source | String | 指令回复“command" | command | 
| url | String | http地址 | 10.168.1.149 | 
---  
 
### 设置按键控制锁 
*setting-key-lock* 
 
功能按键锁定后，设备仅能通过MQTT/TCP协议操作，例如控制开关的通断、插座的通断电，都只能通过指令操作 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "keyLock" : 0,
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| type | String | 设备设置固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName": "setting-key-lock",
 "source": "command",
 "signal": -43,
 "mac": "78e36d1e1e28",
 "code": "GSLM2S",
 "version": "2.0.5",
 "wifiLock": 0,
 "keyLock": 0,
 "key1": 0,
 "key2": 0,
 "duty1": 100,
 "duty2": 100,
 "fadeMs": 2000,
 "onState": 1,
 "ip": "192.168.3.244",
 "ssid": "gemeopen",
 "bssid": "a2b5f2cfecc2",
 "frequency": 1000,
 "overCurrent1": 5,
 "overCurrent2": 5,
 "timerEnable": 1,
 "timerInterval": 15
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | a2b5f2cfecc2 | 
| code | String | 设备型号代码 | GSLM2S | 
| commandName | String | 指令名称 | setting-key-lock | 
| duty1 | int | 输出占空比 范围0-100 | 100 | 
| duty2 | int | 输出占空比 范围0-100 | 100 | 
| fadeMs | int | LED:渐变速度；PWM:缓启动速度；单位：毫秒（ms）;范围值：10-5000 | 2000 | 
| frequency | int | 输出工作频率，范围（100-20K）hz设置后重启生效，频率越高，效果越好，但是MOS管开关损失能耗越高，发热越严重，建议1K左右 | 1000 | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.3.244 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| overCurrent1 | int | 第一路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| overCurrent2 | int | 第二路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -43 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| version | String | 当前固件版本号 | 2.0.5 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 自定义MQTT参数 
*setting-mqtt* 
 
设备支持自定义MQTT，注意：在通过MQTT自定义MQTT信息后，需要将设备断电重启或者向设备发送重启命令才可生效。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"clientId" : "mqttx_a4c0c3e9",
　　"password" : "1",
　　"port" : "1883",
　　"publish" : "dcq110",
　　"server" : "192.168.0.66",
　　"subcribe" : "dcq111",
　　"type" : "custom",
　　"username" : "1"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | mqttx_a4c0c3e9 | 
| password | String | 密码 | 1 | 
| port | String | 端口号 | 1883 | 
| publish | String | 自定义发布主题 注意:不可重复 | dcq110 | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| subcribe | String | 自定义订阅主题，注意：不可重复 | dcq111 | 
| type | String | 固定值"custom" | custom | 
| username | String | 自定义服务器用户名 | 1 | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"publish" : "dcq110",
　　"server" : "192.168.0.66",
　　"source" : "command",
　　"subcribe" : "dcq111",
　　"username" : "1"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| publish | String | 自定义发布主题 注意:不可重复 | dcq110 | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| source | String | 指令回复“command" | command | 
| subcribe | String | 自定义订阅主题，注意：不可重复 | dcq111 | 
| username | String | 自定义服务器用户名 | 1 | 
---  
 
### 设置上电默认状态 
*setting-on-state* 
 
断电记忆功能，默认关闭，即设备重新上电后，设备输出将处于断电状态 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"onState" : 1,
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| type | String | 控制设备固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"bssid" : "a2b5f2cfecc2",
　　"code" : "GSLM2S",
　　"commandName" : "setting-on-state",
　　"duty1" : 100,
　　"duty2" : 100,
　　"fadeMs" : 2000,
　　"frequency" : 10000,
　　"ip" : "192.168.3.244",
　　"key1" : 0,
　　"key2" : 0,
　　"keyLock" : 0,
　　"mac" : "78e36d1e1e28",
　　"onState" : 1,
　　"overCurrent1" : 5,
　　"overCurrent2" : 5,
　　"signal" : -60,
　　"source" : "command",
　　"ssid" : "gemeopen",
　　"timerEnable" : 1,
　　"timerInterval" : 15,
　　"version" : "2.0.5",
　　"wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | a2b5f2cfecc2 | 
| code | String | 设备型号代码 | GSLM2S | 
| commandName | String | 指令名称 | setting-on-state | 
| duty1 | int | 输出占空比 范围0-100 | 100 | 
| duty2 | int | 输出占空比 范围0-100 | 100 | 
| fadeMs | int | LED:渐变速度；PWM:缓启动速度；单位：毫秒（ms）;范围值：10-5000 | 2000 | 
| frequency | int | 输出工作频率，范围（100-20K）hz设置后重启生效，频率越高，效果越好，但是MOS管开关损失能耗越高，发热越严重，建议1K左右 | 10000 | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.3.244 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| overCurrent1 | int | 第一路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| overCurrent2 | int | 第二路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -60 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| version | String | 当前固件版本号 | 2.0.5 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 设置堵转停止电流 
*setting-overcurren* 
 
设置两路输出的过流保护阈值（单位：安培）。当连接的电机或负载被卡住无法运转时，电流会瞬间飙升，此功能用于设定一个"安全电流上限"，超过后自动切断输出，防止设备烧毁。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"messageId" : "20260721144000004",
　　"overCurrent1" : 5,
　　"overCurrent2" : 5,
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260721144000004 | 
| overCurrent1 | int | 第一路堵转停止电流，单位A，范围值1-5，默认值：5 • 检测机制：每100ms检测一次电流，连续5次超过阈值（约500ms持续过流）后触发保护 • 保护动作：自动切断该路输出（key自动置0） • 默认值：5A（最宽松）。建议根据实际负载额定电流适当调低，例如普通小电机设2~3A | 5 | 
| overCurrent2 | int | 第二路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| type | String | 设备设置固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"bssid" : "a2b5f2cfecc2",
　　"code" : "GSLM2S",
　　"commandName" : "setting-overcurrent",
　　"duty1" : 100,
　　"duty2" : 100,
　　"fadeMs" : 2000,
　　"frequency" : 10000,
　　"ip" : "192.168.3.244",
　　"key1" : 0,
　　"key2" : 0,
　　"keyLock" : 0,
　　"mac" : "78e36d1e1e28",
　　"messageId" : "20260721144000004",
　　"onState" : 1,
　　"overCurrent1" : 5,
　　"overCurrent2" : 5,
　　"signal" : -60,
　　"source" : "command",
　　"ssid" : "gemeopen",
　　"timerEnable" : 1,
　　"timerInterval" : 15,
　　"version" : "2.0.5",
　　"wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | a2b5f2cfecc2 | 
| code | String | 设备型号代码 | GSLM2S | 
| commandName | String | 指令名称 | setting-overcurrent | 
| duty1 | int | 输出占空比 范围0-100 | 100 | 
| duty2 | int | 输出占空比 范围0-100 | 100 | 
| fadeMs | int | LED:渐变速度；PWM:缓启动速度；单位：毫秒（ms）;范围值：10-5000 | 2000 | 
| frequency | int | 输出工作频率，范围（100-20K）hz设置后重启生效，频率越高，效果越好，但是MOS管开关损失能耗越高，发热越严重，建议1K左右 | 10000 | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.3.244 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260721144000004 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| overCurrent1 | int | 第一路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| overCurrent2 | int | 第二路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -60 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| version | String | 当前固件版本号 | 2.0.5 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 自定义TCP参数 
*setting-tcp* 
 
设备支持通过MQTT方式自定义TCP信息，注意：通过MQTT自定义TCP信息后，需要将设备断电重启或者向设备发送重启命令才可生效。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "clientId" : "mqttx_a4c0c3e9",
 "password" : "1",
 "port" : "1883",
 "publish" : "dcq110",
 "server" : "192.168.0.66",
 "subcribe" : "dcq111",
 "type" : "custom",
 "username" : "1"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | mqttx_a4c0c3e9 | 
| password | String | 密码 | 1 | 
| port | String | 端口号 | 1883 | 
| publish | String | 自定义发布主题 注意:不可重复 | dcq110 | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| subcribe | String | 自定义订阅主题，注意：不可重复 | dcq111 | 
| type | String | 设备自定义固定传"custom" | custom | 
| username | String | 自定义服务器用户名 | 1 | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "protocol": "tcp",
 "mac": "78e36d1e1e28",
 "source": "command",
 "commandName": "setting-tcp",
 "server": "10.168.1.149",
 "port": 1234
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-tcp | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| port | String | 端口号 | 1234 | 
| protocol | String | 协议类型 | tcp | 
| server | String | 自定义服务器地址 | 10.168.1.149 | 
| source | String | 指令回复“command" | command | 
---  
 
### 堵转成功 自动上报 
*setting-timer-countdown-active* 
 
堵转成功 自动上报 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"commandName" : "setting-timer-countdown-active",
　　"countdownSecond" : 10,
　　"remainingSecond" : 10,
　　"source" : "auto",
　　"state" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-countdown-active | 
| countdownSecond | int | 倒计时总时间 | 10 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78:e3:6d:1e:1e:28 | 
| remainingSecond | int | 倒计时剩余时间，单位S | 10 | 
| source | String | 指令回复“command" | auto | 
| state | int | 任务状态：0：待启动，1：正在进行，2：结束 | 0 | 
---  
 
### 设置wifi账号 
*setting-wifi-config* 
 
重启才会连接新设置的wifi信息 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"password" : "Aa123456",
　　"ssid" : "gemeopen",
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| password | String | 密码 | Aa123456 | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| type | String | 控制设备固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"commandName" : "setting-wifi-config",
　　"mac" : "78e36d1e1e28",
　　"message" : "ok",
　　"source" : "command",
　　"success" : true
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-wifi-config | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 设置ip获取方式 
*setting-wifi-dhcpEnable* 
 
设备默认为动态获取ip，通过该接口开启静态IP，需重启生效 配置的静态IP需和路由器处于同一网段下 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "dhcpEnable" : 0,
 "dns" : "192.168.0.1",
 "gateway" : "192.168.0.1",
 "local_ip" : "192.168.0.118",
 "subnet" : "255.255.255.0",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| dhcpEnable | int | 自动寻址1：开启， 0：关闭，默认开启 | 0 | 
| dns | String | DNS服务器地址 | 192.168.0.1 | 
| gateway | String | 默认网关 | 192.168.0.1 | 
| local_ip | String | IP地址 | 192.168.0.118 | 
| subnet | String | 子网掩码 | 255.255.255.0 | 
| type | String | 设备设置固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "success": true,
 "message": "ok",
 "commandName": "setting-wifi-dhcpEnable",
 "source": "command",
 "mac": "78e36d1e1e28"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-wifi-dhcpEnable | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 设置WiFi配网锁 
*setting-wifi-lock* 
 
wifi配网锁定后，设备无法通过长按配网按钮进入配网操作，仅能通过MQTT/TCP协议解锁配网功能<br/> 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"type" : "setting",
　　"wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| type | String | 设置设备固定传"setting" | setting | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"bssid" : "a2b5f2cfecc2",
　　"code" : "GSLM2S",
　　"commandName" : "setting-wifi-lock",
　　"duty1" : 100,
　　"duty2" : 100,
　　"fadeMs" : 2000,
　　"frequency" : 10000,
　　"ip" : "192.168.3.244",
　　"key1" : 0,
　　"key2" : 0,
　　"keyLock" : 0,
　　"mac" : "78e36d1e1e28",
　　"onState" : 1,
　　"overCurrent1" : 5,
　　"overCurrent2" : 5,
　　"signal" : -60,
　　"source" : "command",
　　"ssid" : "gemeopen",
　　"timerEnable" : 1,
　　"timerInterval" : 15,
　　"version" : "2.0.5",
　　"wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | a2b5f2cfecc2 | 
| code | String | 设备型号代码 | GSLM2S | 
| commandName | String | 指令名称 | setting-wifi-lock | 
| duty1 | int | 输出占空比 范围0-100 | 100 | 
| duty2 | int | 输出占空比 范围0-100 | 100 | 
| fadeMs | int | LED:渐变速度；PWM:缓启动速度；单位：毫秒（ms）;范围值：10-5000 | 2000 | 
| frequency | int | 输出工作频率，范围（100-20K）hz设置后重启生效，频率越高，效果越好，但是MOS管开关损失能耗越高，发热越严重，建议1K左右 | 10000 | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.3.244 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 78e36d1e1e28 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| overCurrent1 | int | 第一路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| overCurrent2 | int | 第二路堵转停止电流，单位A，范围值1-5，默认值：5 | 5 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -60 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| version | String | 当前固件版本号 | 2.0.5 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---