# 86型零火智能开关-采集-三开-WiFi版 (型号：GSCW3P) - 开发者指令 
## 产品基本描述 
本设备是支持二次开发的零火智能三键开关，采用标准的86mm×86mm面板尺寸，能直接原位替换传统86型开关，无需重新开槽，需要零线、火线输入，主控芯片升级为ESP32，支持远程控制开关、采集用电数据，还支持本地定时任务等功能。
2.4GHz WiFi 通信方式，支持MQTT/TCP协议，可适用于各种内网、专网场景。可通过API接口来进行自定义应用程序和系统集成。 
## 产品主要特点 
WiFi网络，电流/电压/视在功率电量采集
AC110v-250v宽电压输入
三路控制，单路阻性负载最大800W 
## 产品图 
<https://smart-bird-oss.smart-bird.cn/images/2025/11/21/1344369724266430.png> 
<https://smart-bird-oss.smart-bird.cn/images/2026/09/30/1732379921063460.png> 
<https://smart-bird-oss.smart-bird.cn/images/2025/11/21/1344421285977185.png> 
<https://smart-bird-oss.smart-bird.cn/images/2025/11/21/134445282055072.png> 
<https://smart-bird-oss.smart-bird.cn/images/2025/11/21/1344485118186915.png> 
## 官网产品资料 
### 产品详细信息 
<https://www.smart-bird.cn/smart-switch.html> 
### 淘宝购买网址 
<https://item.taobao.com/item.htm?ft=t&id=701109818673&skuId=5985598880673> 
### 京东购买网址 
<https://item.jd.com/10211121880358.html> 
### 开发者文档 
<https://www.smart-bird.cn/doc/product/GSCWB/device/GSCW3P/command> 
## 客户常见问题 
 
### 设备可以连接到自己的阿里云服务器吗，数据不需要通过您那边中转吧？ 
是的，配置MQTT参数，即可连接到指定的服务器，数据完全不经过厂商  
 
### 二次开发对接要额外收费吗？ 
不收费。接入自己的平台没有额外费用。  
 
### 自定义 MQTT 配置好了为什么不生效？ 
自定义 MQTT 必须重启设备后才生效（拔插电源，或在配置首页点「重新启动」）。只在配置页点保存不会生效。  
 
### 设备是否支持连接TSL加密服务器？是否支持mqtts？ 
该功能正在研发中，即将更新。可在自定义 MQTT 中配置 mqtts / TLS 加密连接，端口与证书参数按开发文档设置，配置后重启设备生效。  
 
### 为什么控制台上一直显示设备离线/未激活？ 
请先确认： 1、设备是否已经配置了单频的2.4G WiFi，或者4G物联网卡是否正常； 2、是否进行过自定义MQTT操作，自定义MQTT的设备会和控制台MQTT断开连接，此时控制台显示设备离线或未激活是正常的  
 
### 支持二次开发写入我们自己内部的运维平台吗？ 
支持。设备开放 MQTT / TCP协议与指令文档，可直接连接用户自有服务器平台，接入不收取额外费用。  
 
### 能接入哪些系统或平台？支持接入米家/华为生态/涂鸦吗？ 
1、【支持】自建服务器 / 自建平台：你自己的 MQTT Broker（Mosquitto、EMQX、HiveMQ 等）+ 自研业务系统； 2、【支持】第三方物联网云平台：阿里云 IoT、华为云 IoT、腾讯云 IoT等； 3、【支持】开源 / 第三方平台：ThingsBoard、Home Assistant、 4、【不支持】暂不支持接入米家、华为 HiLink、涂鸦等第三方公有生态； 总结：设备面向开发者免费开放MQTT/TCP协议，适合接入自建平台做深度集成。  
 
### 可不可以连接我们的内网服务器？ 
可以。 1、WiFi设备：连接您的内网WiFi后，自定义 MQTT 直连您的内网服务器； 2、4G设备：可安装使用您自己专网卡，自定义MQTT后直连您的内网服务器。 配置完成后重启设备生效，数据不经过厂商。  
 
### 能不能按我提供的MQTT信息批量写入到设备里？ 
支持。可联系工作人员获取批量配置表格。在表单内填写您的服务器参数信息后，由技术人员上传表格至智鸟ERP系统生效。 后续我们还将提供客户运维管理系统（vip.smart-bird.cn），企业客户可通过该平台自己批量维护。  
 
### 是否需要连接网关？ 
不需要。设备WiFi/4G正常通信后，通过协议直连您的服务器平台，无需网关。  
 
### 支持API调用吗？ 
可通过HTTP调用GemeOpen控制台接口。控制台仅供用户测试使用，不能保证稳定性，常会因为其他用户极限测试，影响平台设备正常使用。 如果您是做商用项目，建议通过MQTT/TCP接入您自己搭建的服务器平台，更稳定，更便于后续二次开发。  
 
### 我们是做商用项目的，GemeOpen可不可以提供中性产品？ 
开关、插座类强制认证过的产品，不支持提供中性产品。所有信息均在认证机构做过照片备案，无法修改。 其他非强制认证类产品，外壳支持自定义打标，可修改为用户自有品牌型号信息。  
 
### 自定义mqtt后，客户端发布消息，为什么收不到订阅回复？ 
常见原因： ①订阅/发布的主题与开发文档定义不一致，可尝试将订阅主题发布主题交换位置填写； ②修改自定义 MQTT 后未重启设备； ③服务器参数填写错误，服务器端 ACL 未放行。  
## 产品电气参数 
--- 
| 参数名 | 参数值 | 
|------|------| 
| 品牌 | GemeOpen | 
| 上市日期 | 2025年 | 
| 产品类型 | 86型零火智能开关-采集-三开-WiFi版 | 
| 产品型号 | GSCW3P | 
| 产品尺寸 | 86mm*86mm*40mm | 
| 键数 | 三键 | 
| 供电方式 | 零火 | 
| 输入电压 | 85Vac-265Vac | 
| 工作电流 | 10A | 
| 最大负载 | 阻性负载 MAX 800W/路 | 
| 待机功率 | ＜3W | 
| 工作温度 | -5℃ ~ +40℃ | 
| 通讯方式 | 2.4GHz WIFI | 
| 通讯模块 | 乐鑫ESP32 | 
| 控制协议 | MQTT、TCP、HTTP、蓝牙 | 
| 外壳材质 | PC阻燃 | 
| CQC证书编号 | CQC25003474028 | 
--- 
 
## 控制采集 
 
### 远程控制设备通断电 
*controller-event* 
 
通断器、空开、10A-86插座、16A-86插座、10A转换器插座、16A转换器插座等单路设备的通电或断电操作 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "messageId" : "202201241610366046",
 "type" : "event"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| type | String | 控制设备开关固定传"event" | event | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "bssid" : "742ad7790468",
 "commandName" : "controller-event",
 "ip" : "192.168.0.48",
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "keyLock" : 0,
 "mac" : "b43a455bf0f4",
 "messageId" : "202201241610366046",
 "onState" : 0,
 "signal" : -52,
 "source" : "command",
 "ssid" : "gemeopen",
 "temperature" : 29.594,
 "timerEnable" : 0,
 "type" : "GSCW3P",
 "version" : "1.0.8",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | 742ad7790468 | 
| commandName | String | 指令名称 | controller-event | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.48 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 0 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -52 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| temperature | float | 温度 (单位:摄氏度) | 29.594 | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 0 | 
| type | String | 设备型号 | GSCW3P | 
| version | String | 当前固件版本号 | 1.0.8 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 设置数据自动上报频率 
*device-timer-interval* 
 
设置定时上报电量15秒上报电量信息信息 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| timerEnable | int | 设备电量信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 电量信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设置定时上报任务固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "bssid" : "742ad7790468",
 "commandName" : "device-timer-interval",
 "ip" : "192.168.0.48",
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "keyLock" : 0,
 "mac" : "b43a455bf0f4",
 "messageId" : "202201241610366046",
 "onState" : 0,
 "signal" : -52,
 "source" : "command",
 "ssid" : "gemeopen",
 "temperature" : 35.63,
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "GSCW3P",
 "version" : "1.0.8",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | 742ad7790468 | 
| commandName | String | 指令名称 | device-timer-interval | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.48 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 0 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -52 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| temperature | float | 温度 (单位:摄氏度) | 35.63 | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设备型号 | GSCW3P | 
| version | String | 当前固件版本号 | 1.0.8 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 用电数据自动上报 
*device-timer-task* 
 
查看设备定时上报数据的 JSON 格式，供服务器端对接解析设备上报的数据。是否上报与上报频率由"设置数据定时上报频率"指令配置，配置后设备按周期将数据发布至约定主题（topic），设备端无订阅行为（仅发布），服务端订阅该发布主题后即可接收上报数据。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "mac": "b43a455bf0f4",
 "messageId": "202201241610366046",
 "commandName": "device-timer-task",
 "source": "auto",
 "voltage": "231.701",
 "current": "0.003",
 "power": "0.074",
 "energy": "0.000",
 "key1": 0,
 "key2": 0,
 "key3": 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | device-timer-task | 
| current | float | 当前电流，单位A，保留三位小数 | 0.003 | 
| energy | float | 累计用电量，单位KW*H，保留三位小数，断电后不会归零，重置后会归零 | 0.000 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| power | float | 当前功率，单位W，保留三位小数 | 0.074 | 
| source | String | 指令回复“command" | auto | 
| voltage | float | 当前电压，单位V，保留三位小数 | 231.701 | 
---  
 
### 获取设备基础信息 
*info-all* 
 
查询当前设备的基础信息，如设备MAC地址、设备型号、固件版本号、当前连接的WiFi名称（ssid）、当前设备被分配的IP地址、WiFi信号强度及相关配置信息。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "type" : "info"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| type | String | 固定值"info" | info | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "bssid" : "742ad7790468",
 "commandName" : "info-all",
 "ip" : "192.168.0.48",
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "keyLock" : 0,
 "mac" : "b43a455bf0f4",
 "messageId" : "202201241610366046",
 "onState" : 0,
 "signal" : -49,
 "source" : "command",
 "ssid" : "gemeopen",
 "temperature" : 41.238,
 "timerEnable" : 0,
 "type" : "GSCW3P",
 "version" : "1.0.8",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | 742ad7790468 | 
| commandName | String | 指令名称 | info-all | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.48 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 0 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -49 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| temperature | float | 温度 (单位:摄氏度) | 41.238 | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 0 | 
| type | String | 设备型号 | GSCW3P | 
| version | String | 当前固件版本号 | 1.0.8 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 获取设备用电信息 
*info-statistic* 
 
获取设备当前的运行状态与电气数据：开关状态、瞬时电流、瞬时电压、瞬时功率、累计用电量等设备用电相关信息。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "type" : "statistic"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| type | String | 固定值"statistic" | statistic | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "bssid" : "742ad7790468",
 "commandName" : "info-all",
 "ip" : "192.168.0.48",
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "keyLock" : 0,
 "mac" : "b43a455bf0f4",
 "messageId" : "202201241610366046",
 "onState" : 0,
 "signal" : -49,
 "source" : "command",
 "ssid" : "gemeopen",
 "temperature" : 41.238,
 "timerEnable" : 0,
 "type" : "GSCW3P",
 "version" : "1.0.8",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | 742ad7790468 | 
| commandName | String | 指令名称 | info-all | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.48 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 0 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -49 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| temperature | float | 温度 (单位:摄氏度) | 41.238 | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 0 | 
| type | String | 设备型号 | GSCW3P | 
| version | String | 当前固件版本号 | 1.0.8 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---   
 
## 定时任务 
 
### 查询定时通断任务 
*info-timer-task-query* 
 
查询设备已设置的定时通断电任务列表及详情。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "action" : "timerTaskQuery",
 "messageId" : "202201241610366046",
 "type" : "event"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| action | String | 设备定时任务查询默认填"timerTaskQuery" | timerTaskQuery | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| type | String | 设备定时任务查询固定传"event" | event | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "action" : "timerTaskQuery",
 "commandName" : "info-timer-task-query",
 "list" : [],
 "mac" : "b43a455bf0f4",
 "messageId" : "202201241610366046",
 "source" : "command",
 "type" : "event"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| action | String | 设备定时任务查询默认填"timerTaskQuery" | timerTaskQuery | 
| commandName | String | 指令名称 | info-timer-task-query | 
| list | List | list为列表，参数带number、week、hour、minute、repeat是定时按星期时分执行一次，参数不带week则是每天按时分循环执行,key1、key2、key3含义同event指令 | [] | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| source | String | 指令回复“command" | command | 
| type | String | 固定值"event" | event | 
---  
 
### 设计倒计时通断任务 
*setting-timer-countdown* 
 
设置倒计时任务——指定时长与到点动作（关闭/开启）。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
　　"countdownSecond" : 10,
　　"finishCommand" : 
　　{
　　　　"key1" : 0,
　　　　"key2" : 0,
　　　　"key3" : 0,
　　　　"type" : "event"
　　},
　　"messageId" : "202201241610366046",
　　"task" : "countdown",
　　"timerInterval" : 15,
　　"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| countdownSecond | int | 倒计时总时间 | 10 | 
| finishCommand | Object | 完成任务 | | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| task | String | 固定值“countdown" | countdown | 
| timerInterval | int | 倒计时信息上报时间间隔（单位秒），取值范围1-86400 | 15 | 
| type | String | 设置倒计时任务固定传"setting" | setting | 
| type | String | 设置倒计时任务固定传"event" | event | 
| type | String | 设置倒计时任务固定传"event" | event | 
| type | String | 控制设备开关固定传"event" | event | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
　　"commandName" : "setting-timer-countdown",
　　"countdownSecond" : 10,
　　"finishCommand" : 
　　{
　　　　"key1" : 0,
　　　　"key2" : 0,
　　　　"key3" : 0,
　　　　"type" : "event"
　　},
　　"mac" : "b43a455bf0f4",
　　"messageId" : "202201241610366046",
　　"source" : "command",
　　"task" : "countdown",
　　"timerInterval" : 15
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-countdown | 
| countdownSecond | int | 倒计时总时间 | 10 | 
| finishCommand | Object | 完成任务 | {"key1":0,"key2":0,"key3":0,"type":"event"} | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| source | String | 指令回复“command" | command | 
| task | String | 固定值“countdown" | countdown | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围1-86400 | 15 | 
| type | String | 设置倒计时任务固定传"event" | event | 
| type | String | 固定值"xxx" | event | 
---  
 
### 倒计时任务自动上报 
*setting-timer-countdown-active* 
 
设备按照约定的JSON 格式上报倒计时状态 。上报频率由"设置倒计时任务"指令配置，配置后设备按周期将数据发布至约定主题（topic），设备端无订阅行为（仅发布），服务端订阅该发布主题后即可接收上报数据。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "state": 0,
 "remainingSecond": 10,
 "countdownSecond": 10,
 "mac": "b43a455bf0f4",
 "commandName": "setting-timer-countdown-active",
 "source": "auto"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-countdown-active | 
| countdownSecond | int | 倒计时总时间 | 10 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| remainingSecond | int | 倒计时剩余时间，单位S | 10 | 
| source | String | 指令回复“command" | auto | 
| state | int | 任务状态：0：待启动，1：正在进行，2：结束 | 0 | 
---  
 
### 清除倒计时任务 
*setting-timer-countdown-clear* 
 
删除设备中已设置的所有倒计时通断电任务，删除为不可逆操作，删除后需重新设置。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "task" : "countdown-clear",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| task | String | 固定值“countdown-clear" | countdown-clear | 
| type | String | 固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "messageId": "202201241610366046",
 "success": true,
 "message": "ok",
 "commandName": "setting-timer-countdown-clear",
 "source": "command",
 "mac": "b43a455bf0f4"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-countdown-clear | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 删除定时通断任务 
*setting-timer-delete* 
 
删除设备中已设置的单条定时通断电任务，删除为不可逆操作，删除后需重新设置。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "action" : "delete",
 "messageId" : "202201241610366046",
 "number" : 1,
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| action | String | 删除定时任务默认填"delete" | delete | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| number | int | 任务编号 | 1 | 
| type | String | 设备删除定时任务固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "setting-timer-delete",
 "mac" : "b43a455bf0f4",
 "message" : "ok",
 "messageId" : "202201241610366046",
 "source" : "command",
 "success" : true
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-timer-delete | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 设置定时通断任务 
*setting-timer-task* 
 
新增或编辑定时通断电任务，设置后到点执行开启/关闭操作。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "command" : 
 {
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "type" : "event"
 },
 "hour" : 0,
 "messageId" : "202201241610366046",
 "minute" : 0,
 "number" : 1,
 "repeat" : "oneof",
 "task" : "timer",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| command | Object | 指令 | | 
| hour | int | 小时0~23 | 0 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| minute | int | 分钟0~60 | 0 | 
| number | int | 任务编号 | 1 | 
| repeat | String | 重复week：按周重复,day：按天重复,oneof:一次任务 | oneof | 
| task | String | 固定值“timer" | timer | 
| type | String | 设置定时任务固定传"setting" | setting | 
| type | String | 设置定时任务固定传"event" | event | 
| type | String | 控制设备开关固定传"event" | event | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName": "setting-timer-task",
 "source": "command",
 "mac": "b43a455bf0f4",
 "number": 1,
 "repeat": "oneof",
 "hour": 0,
 "minute": 0,
 "command": {
 "type": "event",
 "key1": 0,
 "key2": 0,
 "key3": 0
 },
 "messageId": "202201241610366046"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| command | Object | 指令 | {"key1":0,"key2":0,"key3":0,"type":"event"} | 
| commandName | String | 指令名称 | setting-timer-task | 
| hour | int | 小时0~23 | 0 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| minute | int | 分钟0~60 | 0 | 
| number | int | 任务编号 | 1 | 
| repeat | String | 重复weekdays：按周重复,day：按天重复,oneof:一次任务 | oneof | 
| source | String | 指令回复“command" | command | 
| type | String | 设置定时任务固定传"event" | event | 
| type | String | 固定值"xxx" | event | 
---   
 
## 设备维护 
 
### 重置/恢复出厂设置 
*controller-reset* 
 
恢复出厂设置后配网信息和自定义信息都会清空，请谨慎操作！ 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "system" : "reset",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| system | String | 重置/恢复出厂设置默认填"reset" | reset | 
| type | String | 设备设置固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "messageId": "202201241610366046",
 "success": true,
 "message": "ok",
 "commandName": "controller-reset",
 "source": "command",
 "mac": "b43a455bf0f4"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | controller-reset | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 设备软重启 
*controller-restart* 
 
该指令主要用于使需重启生效的配置生效（如自定义MQTT/TCP/HTTP，设置静态IP，设置WiFi信息等），重启后设备自动恢复，重新联网，已保存配置和数据不丢失。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "system" : "restart",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| system | String | 重置/恢复出厂设置默认填"restart" | restart | 
| type | String | 设备设置固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "messageId": "202201241610366046",
 "success": true,
 "message": "ok",
 "commandName": "controller-restart",
 "source": "command",
 "mac": "b43a455bf0f4"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | controller-restart | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 累计用电量清零 
*energy-clear* 
 
将设备累计用电量清零，清零后从零开始重新累计统计，仅清除累计用电量，不影响其他数据。清零为不可逆操作，清除后累计数据无法恢复！ 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "system" : "energy-clear",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| system | String | 电量清零默认填"energy-clear" | energy-clear | 
| type | String | 设备电量清零固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "messageId": "202201241610366046",
 "success": true,
 "message": "ok",
 "commandName": "energy-clear",
 "source": "command",
 "mac": "b43a455bf0f4"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | energy-clear | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 获取设备通讯信息 
*info-protocol* 
 
获取设备通讯信息 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
"messageId" : "202201241610366046",
"type" : "protocol"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| type | String | 设备通讯信息固定传"protocol"" | protocol | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
"clientId" : "b43a455bf0f4",
"commandName" : "info-protocol",
"mac" : "b43a455bf0f4",
"messageId" : "202201241610366046",
"port" : "1883",
"protocol" : "mqtt",
"publish" : "/INIT/fNGRIqHTvcWj/b43a455bf0f4/subscribe",
"server" : "mqtt.smart-bird.cn",
"source" : "command",
"subscribe" : "/topic/qos1",
"username" : "fNGRIqHTvcWj"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | b43a455bf0f4 | 
| commandName | String | 指令名称 | info-protocol | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| port | String | 端口号 | 1883 | 
| protocol | String | 协议类型 | mqtt | 
| publish | String | 自定义发布主题 注意:不可重复 | /INIT/fNGRIqHTvcWj/b43a455bf0f4/subscribe | 
| server | String | 自定义服务器地址 | mqtt.smart-bird.cn | 
| source | String | 指令回复“command" | command | 
| subscribe | String | 自定义设备MQTT订阅主题 注意:不可与发布主题重复 | /topic/qos1 | 
| username | String | 自定义服务器用户名 | fNGRIqHTvcWj | 
---  
 
### 设置按键控制锁 
*setting-key-lock* 
 
功能按键锁定后，设备仅能通过MQTT/TCP协议操作，例如控制开关的通断、插座的通断电，都只能通过指令操作 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "keyLock" : 1,
 "messageId" : "202201241610366046",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| keyLock | int | 按键锁，0：关闭，1：开启 | 1 | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| type | String | 设备设置固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "bssid" : "742ad7790468",
 "commandName" : "setting-key-lock",
 "ip" : "192.168.0.48",
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "keyLock" : 1,
 "mac" : "b43a455bf0f4",
 "messageId" : "202201241610366046",
 "onState" : 1,
 "signal" : -52,
 "source" : "command",
 "ssid" : "gemeopen",
 "temperature" : 41.002,
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "GSCW3P",
 "version" : "1.0.8",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | 742ad7790468 | 
| commandName | String | 指令名称 | setting-key-lock | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.48 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 1 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -52 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| temperature | float | 温度 (单位:摄氏度) | 41.002 | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设备型号 | GSCW3P | 
| version | String | 当前固件版本号 | 1.0.8 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 自定义MQTT 
*setting-mqtt* 
 
设备支持自定义MQTT，注意：在通过MQTT自定义MQTT信息后，需要将设备断电重启或者向设备发送重启命令才可生效。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
"clientId" : "custum",
"messageId" : "202201241610366046",
"password" : "password",
"port" : "1883",
"protocol" : "mqtt",
"publish" : "/topic/qos0",
"server" : "192.168.0.66",
"subscribe" : "/topic/qos1",
"type" : "custom",
"username" : "username"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | custum | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| password | String | 密码 | password | 
| port | String | 端口号 | 1883 | 
| protocol | String | 协议类型 | mqtt | 
| publish | String | 自定义发布主题 注意:不可重复 | /topic/qos0 | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| subscribe | String | 自定义设备MQTT订阅主题 注意:不可与发布主题重复 | /topic/qos1 | 
| type | String | 设备自定义固定传"custom" | custom | 
| username | String | 自定义服务器用户名 | username | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
"clientId" : "custum",
"commandName" : "setting-mqtt",
"mac" : "b43a455bf0f4",
"messageId" : "202201241610366046",
"password" : "password",
"port" : "1883",
"protocol" : "mqtt",
"publish" : "/topic/qos0",
"server" : "192.168.0.66",
"source" : "command",
"subscribe" : "/topic/qos1",
"username" : "username"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | custum | 
| commandName | String | 指令名称 | setting-mqtt | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| password | String | 密码 | password | 
| port | String | 端口号 | 1883 | 
| protocol | String | 协议类型 | mqtt | 
| publish | String | 自定义发布主题 注意:不可重复 | /topic/qos0 | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| source | String | 指令回复“command" | command | 
| subscribe | String | 自定义设备MQTT订阅主题 注意:不可与发布主题重复 | /topic/qos1 | 
| username | String | 自定义服务器用户名 | username | 
---  
 
### 设置上电默认状态 
*setting-on-state* 
 
断电记忆功能，默认关闭，即设备重新上电后，设备输出将处于断电状态 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "onState" : 1,
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| type | String | 获取设备上电默认状态固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "bssid" : "742ad7790468",
 "commandName" : "setting-on-state",
 "ip" : "192.168.0.48",
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "keyLock" : 0,
 "mac" : "b43a455bf0f4",
 "messageId" : "202201241610366046",
 "onState" : 1,
 "signal" : -52,
 "source" : "command",
 "ssid" : "gemeopen",
 "temperature" : 40.698,
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "GSCW3P",
 "version" : "1.0.8",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | 742ad7790468 | 
| commandName | String | 指令名称 | setting-on-state | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.48 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -52 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| temperature | float | 温度 (单位:摄氏度) | 40.698 | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设备型号 | GSCW3P | 
| version | String | 当前固件版本号 | 1.0.8 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 自定义TCP客户端 
*setting-tcp* 
 
设置设备的 TCP 服务器连接参数。设备仅支持 TCP Client 模式，设备作为客户端主动连接客户指定的 TCP 服务器。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
"messageId" : "202201241610366046",
"port" : "8080",
"protocol" : "tcp",
"server" : "192.168.0.66",
"type" : "custom"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| port | String | 端口号 | 8080 | 
| protocol | String | 协议类型 | tcp | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| type | String | 设备自定义固定传"custom" | custom | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
"commandName" : "setting-tcp",
"mac" : "b43a455bf0f4",
"messageId" : "202201241610366046",
"port" : "8080",
"protocol" : "tcp",
"server" : "192.168.0.66",
"source" : "command"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-tcp | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| messageId | String | 消息ID字段 | 202201241610366046 | 
| port | String | 端口号 | 8080 | 
| protocol | String | 协议类型 | tcp | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| source | String | 指令回复“command" | command | 
---  
 
### 设置WiFi账号 
*setting-wifi-config* 
 
重启才会连接新设置的wifi信息<br/> 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "password" : "123456",
 "ssid" : "gemeopen",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| password | String | 密码 | 123456 | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| type | String | 设备设置固定传"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "success": true,
 "message": "ok",
 "commandName": "setting-wifi-config",
 "source": "command",
 "mac": "b43a455bf0f4"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-wifi-config | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 设置IP获取方式 
*setting-wifi-dhcpEnable* 
 
设备默认为动态获取ip，通过该接口开启静态IP，需重启生效<br/>配置的静态IP需和路由器处于同一网段下<br/> 
 
**向设备发送指令（服务端向设备订阅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": "",
 "commandName": "setting-wifi-dhcpEnable",
 "source": "command",
 "mac": "b43a455bf0f4"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-wifi-dhcpEnable | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 设置WiFi配网锁 
*setting-wifi-lock* 
 
wifi配网锁定后，设备无法通过长按配网按钮进入配网操作，仅能通过MQTT/TCP协议解锁配网功能<br/> 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "type" : "setting",
 "wifiLock" : 1
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| type | String | 设备设置固定传"setting" | setting | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 1 | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "bssid" : "742ad7790468",
 "commandName" : "setting-wifi-lock",
 "ip" : "192.168.0.48",
 "key1" : 0,
 "key2" : 0,
 "key3" : 0,
 "keyLock" : 0,
 "mac" : "b43a455bf0f4",
 "onState" : 1,
 "signal" : -52,
 "source" : "command",
 "ssid" : "gemeopen",
 "temperature" : 41.134,
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "GSCW3P",
 "version" : "1.0.8",
 "wifiLock" : 1
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| bssid | String | 路由器 MAC 地址 | 742ad7790468 | 
| commandName | String | 指令名称 | setting-wifi-lock | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.48 | 
| key1 | int | 控制设备一路通断 0：关灯，1：开灯 | 0 | 
| key2 | int | 控制设备二路通断 0：关灯，1：开灯 | 0 | 
| key3 | int | 控制设备三路通断 0：关灯，1：开灯 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | b43a455bf0f4 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| signal | int | 信号强度，显示规则为： signal<= 0 && signal>= -50 //信号最好 signal< -50 && signal>= -70 //信号较好 signal< -70 && signal>= -80 //信号一般 signal<-80 && signal>= -100 //信号较差 signal没有在0～（-100)之间，表示无信号 | -52 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| temperature | float | 温度 (单位:摄氏度) | 41.134 | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设备型号 | GSCW3P | 
| version | String | 当前固件版本号 | 1.0.8 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 1 | 
---