# 智能转换器插座10A-S1 US-WiFi (型号：GSPM1B-US) - 开发者指令 
## 产品基本描述 
本设备是一款美国标准、支持二次开发的智能转换器插座，适用于美国、日本、加拿大等国家及地区。设备内置乐鑫 ESP8285，经 2.4GHz WiFi 接入，支持连接你自建的 MQTT / TCP 服务器——控制权完全握在开发者手中，无需绑定厂商云。所有指令均为标准 JSON，语义直观：一条 controller-event（key 取 0/1）即可远程通断电；一条 device-timer-interval 可把用电数据上报频率设为 5–86400 秒任意值的自由调节；设备则通过 device-timer-task 自动回传电压、电流、功率、累计用电等实时数据。 
## 产品主要特点 
WiFi网络，电流/电压/累计用电实时查询
AC110v-250v宽电压输入，最大负载电流10A
美规插孔 
## 产品图 
<https://smart-bird-oss.smart-bird.cn/images/2024/12/04/1556058670265770.png> 
<https://smart-bird-oss.smart-bird.cn/images/2024/12/04/1605332753016612.png> 
<https://smart-bird-oss.smart-bird.cn/images/2024/12/04/1605508143868022.png> 
<https://smart-bird-oss.smart-bird.cn/images/2024/12/04/1606028065089602.png> 
<https://smart-bird-oss.smart-bird.cn/images/2026/09/16/1600423683167945.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/smart-plug-mini-US.html> 
### 淘宝购买网址 
<https://item.taobao.com/item.htm?ft=t&id=810981806652&skuId=5674427727685> 
### 京东购买网址 
<https://item.jd.com/10212729895402.html> 
### 开发者文档 
<https://www.smart-bird.cn/doc/product/GSPM/device/GSPM1B-US/command> 
## 产品电气参数 
--- 
| 参数名 | 参数值 | 
|------|------| 
| 品牌 | GemeOpen | 
| 上市日期 | 2024年 | 
| 产品类型 | 智能转换器插座10A-S1 US-WiFi | 
| 产品型号 | GSPM1B-US | 
| 产品尺寸 | 50mm*60mm*29mm | 
| 输入电压 | AC 85~265V | 
| 最大负载电流 | 10A | 
| 额定功率 | MAX 2500W | 
| 待机功率 | ＜3W | 
| 继电器 | 16A宏发继电器 HF32FV-16 | 
| 工作温度 | -5℃ ~ +40℃ | 
| 通讯方式 | 2.4GHz WiFi | 
| 通讯模块 | 乐鑫ESP8285 | 
| 控制协议 | MQTT、TCP、HTTP | 
| 传输距离 | 物联网云平台可全球远程控制 | 
| 屏幕显示 | 无 | 
| 3C证书编号 | - | 
--- 
 
## 控制采集 
 
### 远程控制设备通断电 
*controller-event* 
 
远程控制设备的通断电状态（通电/断电），指令执行后，设备立即切换继电器状态。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "key" : 0,
 "messageId" : "202201241610366046",
 "type" : "event"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| type | String | 固定值"event" | event | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "controller-event",
 "ip" : "192.168.0.44",
 "key" : 0,
 "mac" : "8cce4e513a06",
 "messageId" : "202201241610366046",
 "onState" : 1,
 "signal" : -57,
 "source" : "command",
 "ssid" : "gemeopen",
 "timerEnable" : 1,
 "type" : "GSPM1B-US",
 "version" : "2.3.4",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | controller-event | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.44 | 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| 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)之间，表示无信号 | -57 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| type | String | 设备型号 | GSPM1B-US | 
| version | String | 当前固件版本号 | 2.3.4 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 设置用电数据上报频率 
*device-timer-interval* 
 
配置设备数据的定时上报参数，包括是否上报与上报频率。启用后，设备按设定频率周期上报电量、开关状态等数据至服务器。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "device-timer-interval",
 "ip" : "192.168.0.44",
 "key" : 0,
 "keyLock" : 0,
 "mac" : "8cce4e513a06",
 "messageId" : "202201241610366046",
 "onState" : 1,
 "signal" : -51,
 "source" : "command",
 "ssid" : "gemeopen",
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "GSPM1B-US",
 "version" : "2.3.4",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | device-timer-interval | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.44 | 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| 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)之间，表示无信号 | -51 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设备型号 | GSPM1B-US | 
| version | String | 当前固件版本号 | 2.3.4 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 用电数据自动上报 
*device-timer-task* 
 
查看设备定时上报数据的 JSON 格式，供服务器端对接解析设备上报的数据。是否上报与上报频率由"设置数据定时上报频率"指令配置，配置后设备按周期将数据发布至约定主题（topic），设备端无订阅行为（仅发布），服务端订阅该发布主题后即可接收上报数据。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "mac": "8cce4e513a06",
 "messageId": "",
 "commandName": "device-timer-task",
 "source": "auto",
 "voltage": 233.695,
 "current": 0.005,
 "power": 0.613,
 "energy": 0,
 "key": 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | device-timer-task | 
| current | float | 当前电流，单位A，保留三位小数 | 0.005 | 
| energy | float | 累计用电量，单位KW*H，保留三位小数，断电后不会归零，重置后会归零 | 0 | 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | | 
| power | float | 当前功率，单位W，保留三位小数 | 0.613 | 
| source | String | 指令回复“command" | auto | 
| voltage | float | 当前电压，单位V，保留三位小数 | 233.695 | 
---  
 
### 获取设备基础信息 
*info-all* 
 
查询当前设备的基础信息，如设备MAC地址、设备型号、固件版本号、当前连接的WiFi名称（ssid）、当前设备被分配的IP地址、WiFi信号强度及相关配置信息。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "202201241610366046",
 "type" : "info"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 202201241610366046 | 
| type | String | 固定值"info" | info | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "info-all",
 "ip" : "192.168.0.44",
 "key" : 0,
 "keyLock" : 0,
 "mac" : "8cce4e513a06",
 "messageId" : "202201241610366046",
 "onState" : 1,
 "signal" : -56,
 "source" : "command",
 "ssid" : "gemeopen",
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "GSPM1B-US",
 "version" : "2.3.4",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | info-all | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.44 | 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| 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)之间，表示无信号 | -56 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设备型号 | GSPM1B-US | 
| version | String | 当前固件版本号 | 2.3.4 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 获取实时用电信息 
*info-statistic* 
 
获取设备当前的运行状态与电气数据：开关状态、瞬时电流、瞬时电压、瞬时功率、累计用电量设备用电相关信息。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "20260520",
 "type" : "statistic"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| type | String | 固定值"statistic" | statistic | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "info-statistic",
 "current" : 0.005,
 "energy" : 0,
 "key" : 0,
 "mac" : "8cce4e513a06",
 "messageId" : "20260520",
 "power" : 0.501,
 "source" : "command",
 "voltage" : 233.929
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | info-statistic | 
| current | float | 当前电流，单位A，保留三位小数 | 0.005 | 
| energy | float | 累计用电量，单位KW*H，保留三位小数，断电后不会归零，重置后会归零 | 0 | 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| power | float | 当前功率，单位W，保留三位小数 | 0.501 | 
| source | String | 指令回复“command" | command | 
| voltage | float | 当前电压，单位V，保留三位小数 | 233.929 | 
---   
 
## 设备维护 
 
### 重置设备 
*controller-reset* 
 
恢复出厂设置后配网信息和自定义信息都会清空，请谨慎操作！ 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{{
"messageId" : "20260520",
"system" : "reset",
"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| system | String | 重置/恢复出厂设置默认填"reset" | restart | 
| type | String | 固定值"xxx" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "controller-reset",
 "mac" : "8cce4e513a06",
 "message" : "ok",
 "messageId" : "20260520",
 "source" : "command",
 "success" : true
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | controller-reset | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 重启设备 
*controller-reset* 
 
软重启后，通过指令设置的参数将生效，同时设备将重新连接Wifi/4G网络，注意设备IP地址可能发生变化 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
"messageId" : "20260520",
"system" : "restart",
"type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| system | String | 重置/恢复出厂设置默认填"reset" | restart | 
| type | String | 固定值"xxx" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName": "controller-reset",
 "mac": "8cce4e513a06",
 "message": "ok",
 "messageId": "20260520",
 "source": "command",
 "success": true
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | controller-reset | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 累计用电量清零 
*energy-clear* 
 
将设备累计用电量清零，清零后从零开始重新累计统计，仅清除累计用电量，不影响其他数据。清零为不可逆操作，清除后累计数据无法恢复！ 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "20260520",
 "system" : "energy-clear",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| system | String | 重置/恢复出厂设置默认填"reset" | energy-clear | 
| type | String | 固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "energy-clear",
 "mac" : "8cce4e513a06",
 "message" : "ok",
 "messageId" : "20260520",
 "source" : "command",
 "success" : true
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | energy-clear | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| message | String | 执行结果描述：对命令执行结果的文本说明。执行完成且无异常：ok ；如果出现异常，返回异常结果描述。 | ok | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| source | String | 指令回复“command" | command | 
| success | boolean | 执行结果，执行成功：true；执行失败：false | true | 
---  
 
### 获取设备通讯协议 
*info-protocol* 
 
获取当前设备与服务端交互的通信协议及协议配置参数，目前支持MQTT、TCP Client和HTTP Server（固件版本2.0.0以上支持），设备出厂时默认接入GemeOpen厂家MQTT测试服务器，免费提供客户调试使用，如需接入自己的服务器或使用其他协议，请自行搭建服务器。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "20260520",
 "type" : "protocol"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| type | String | 固定值"protocol" | protocol | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "clientId" : "8cce4e513a06",
 "commandName" : "info-protocol",
 "mac" : "8cce4e513a06",
 "messageId" : "20260520",
 "port" : "1883",
 "protocol" : "mqtt",
 "publish" : "/GpTDLq/yibBCwLArHld/8cce4e513a06/subscribe",
 "server" : "mqtt.smart-bird.cn",
 "source" : "command",
 "subcribe" : "/GpTDLq/yibBCwLArHld/8cce4e513a06/publish",
 "username" : "yibBCwLArHld"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | 8cce4e513a06 | 
| commandName | String | 指令名称 | info-protocol | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| port | String | 端口号 | 1883 | 
| protocol | String | 协议类型 | mqtt | 
| publish | String | 自定义发布主题 注意:不可重复 | /GpTDLq/yibBCwLArHld/8cce4e513a06/subscribe | 
| server | String | 自定义服务器地址 | mqtt.smart-bird.cn | 
| source | String | 指令回复“command" | command | 
| subcribe | String | 自定义订阅主题，注意：不可重复 | /GpTDLq/yibBCwLArHld/8cce4e513a06/publish | 
| username | String | 自定义服务器用户名 | yibBCwLArHld | 
---  
 
### 设置按键控制锁 
*setting-key-lock* 
 
功能按键锁定后，设备仅能通过MQTT/TCP协议操作，例如控制开关的通断、插座的通断电，都只能通过远程指令下发，不能通过物理按键来控制。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "keyLock" : 1,
 "messageId" : "20260520",
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| keyLock | int | 按键锁，0：关闭，1：开启 | 1 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| type | String | 固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "setting-key-lock",
 "ip" : "192.168.0.44",
 "key" : 0,
 "keyLock" : 1,
 "mac" : "8cce4e513a06",
 "messageId" : "20260520",
 "onState" : 1,
 "signal" : -54,
 "source" : "command",
 "ssid" : "gemeopen",
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "GSPM1B-US",
 "version" : "2.3.4",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-key-lock | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.44 | 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 1 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| 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)之间，表示无信号 | -54 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设备型号 | GSPM1B-US | 
| version | String | 当前固件版本号 | 2.3.4 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 自定义MQTT参数 
*setting-mqtt* 
 
设备支持自定义MQTT，注意：在通过MQTT自定义MQTT信息后，需要将设备断电重启或者向设备发送重启命令才可生效。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "clientId" : "admin",
 "messageId" : "20260520",
 "password" : "123456",
 "port" : "1883",
 "protocol" : "mqtt",
 "publish" : "/topic/qos0 ",
 "server" : "broker.emqx.io ",
 "subcribe" : "/topic/qos1 ",
 "type" : "custom",
 "username" : "username "
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | admin | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| password | String | 密码 | 123456 | 
| port | String | 端口号 | 1883 | 
| protocol | String | 协议类型 | mqtt | 
| publish | String | 自定义发布主题 注意:不可重复 | /topic/qos0 | 
| server | String | 自定义服务器地址 | broker.emqx.io | 
| subcribe | String | 自定义订阅主题，注意：不可重复 | /topic/qos1 | 
| type | String | 固定值"custom" | custom | 
| username | String | 自定义服务器用户名 | username | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "clientId" : "admin",
 "messageId" : "20260520",
 "password" : "123456",
 "port" : "1883",
 "protocol" : "mqtt",
 "publish" : "/topic/qos0 ",
 "server" : "broker.emqx.io ",
 "subcribe" : "/topic/qos1 ",
 "type" : "custom",
 "username" : "username "
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| clientId | String | 自定义MQTT客户端ID注意：不可重复 | admin | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| password | String | 密码 | 123456 | 
| port | String | 端口号 | 1883 | 
| protocol | String | 协议类型 | mqtt | 
| publish | String | 自定义发布主题 注意:不可重复 | /topic/qos0 | 
| server | String | 自定义服务器地址 | broker.emqx.io | 
| subcribe | String | 自定义订阅主题，注意：不可重复 | /topic/qos1 | 
| type | String | 固定值"custom" | custom | 
| username | String | 自定义服务器用户名 | username | 
---  
 
### 设置上电默认状态 
*setting-on-state* 
 
配置设备断电恢复后输出的默认状态，即断电恢复瞬间设备是通电、断电还是记忆断电之前的状态。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "20260520",
 "onState" : 1,
 "type" : "setting"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| onState | int | 设备上电的默认状态： 0：记忆；是指记忆最后一次设备断电前的状态，如断电前设备是通电状态（指示灯是蓝的），设备下次上电默认是通电状态（指示灯是蓝的）。 1：关闭，即断电状态（指示灯是灭的），如断电前，设备是通电状态（指示灯是蓝的），设备下次上电默认是依旧是断电状态（指示灯是灭的）。需要手动/远程开启通电状态。 2：开启，即通电状态（指示灯是蓝色的），是指设备上电之后，默认是通电状态，此刻需要注意，插在设备上的负载会通电运行，会有安全风险，所以建议是默认上电状态为关闭。 | 1 | 
| type | String | 固定值"setting" | setting | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "setting-on-state",
 "ip" : "192.168.0.44",
 "key" : 0,
 "keyLock" : 0,
 "mac" : "8cce4e513a06",
 "messageId" : "20260520",
 "onState" : 1,
 "signal" : -53,
 "source" : "command",
 "ssid" : "gemeopen",
 "timerEnable" : 1,
 "type" : "GSPM1B-US",
 "version" : "2.3.4",
 "wifiLock" : 0
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-on-state | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.44 | 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 0 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| 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)之间，表示无信号 | -53 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| type | String | 设备型号 | GSPM1B-US | 
| version | String | 当前固件版本号 | 2.3.4 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 0 | 
---  
 
### 自定义TCP参数 
*setting-tcp* 
 
设备支持通过MQTT方式自定义TCP信息，注意：通过MQTT自定义TCP信息后，需要将设备断电重启或者向设备发送重启命令才可生效。 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "20260520",
 "port" : "8080",
 "protocol" : "tcp",
 "server" : "192.168.0.66",
 "type" : "custom"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| port | String | 端口号 | 8080 | 
| protocol | String | 协议类型 | tcp | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| type | String | 固定值"custom" | custom | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "messageId" : "20260520",
 "port" : "8080",
 "protocol" : "tcp",
 "server" : "192.168.0.66",
 "type" : "custom"
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| port | String | 端口号 | 8080 | 
| protocol | String | 协议类型 | tcp | 
| server | String | 自定义服务器地址 | 192.168.0.66 | 
| type | String | 固定值"custom" | custom | 
---  
 
### 设置WiFi配网锁 
*setting-wifi-lock* 
 
wifi配网锁定后，设备无法通过长按配网按钮进入配网操作，仅能通过MQTT/TCP协议解锁配网功能 
 
**向设备发送指令（服务端向设备订阅topic发送消息）** 
```json 
{
 "messageId" : "20260520",
 "type" : "setting",
 "wifiLock" : 1
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| type | String | 固定值"setting" | setting | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 1 | 
--- 
**设备返回信息（设备向服务端订阅topic上报消息）** 
```json 
{
 "commandName" : "setting-wifi-lock",
 "ip" : "192.168.0.44",
 "key" : 0,
 "keyLock" : 1,
 "mac" : "8cce4e513a06",
 "messageId" : "20260520",
 "onState" : 0,
 "signal" : -54,
 "source" : "command",
 "ssid" : "gemeopen",
 "timerEnable" : 1,
 "timerInterval" : 15,
 "type" : "GSPM1B-US",
 "version" : "2.3.4",
 "wifiLock" : 1
} 
``` 
#### 字段属性 
--- 
| 字段名称 | 字段类型 | 字段说明 | 示例值 | 
|------|------|------|------| 
| commandName | String | 指令名称 | setting-wifi-lock | 
| ip | String | 设备连接WIFI后获取的IP | 192.168.0.44 | 
| key | int | 设备通断电状态，0：断电，1：通电 | 0 | 
| keyLock | int | 按键锁，0：关闭，1：开启 | 1 | 
| mac | String | wifi设备MAC地址或4G设备的IMEI号，唯一标识 | 8cce4e513a06 | 
| messageId | String | 业务流水号。由请求方生成的唯一标识，响应方原样回显，用于请求与响应的关联匹配。 | 20260520 | 
| 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)之间，表示无信号 | -54 | 
| source | String | 指令回复“command" | command | 
| ssid | String | 设备当前连接的WIFI名称 | gemeopen | 
| timerEnable | int | 设备统计信息定时上报状态，0：关闭；1：开启 | 1 | 
| timerInterval | int | 设备统计信息上报时间间隔（单位秒），取值范围5-86400 | 15 | 
| type | String | 设备型号 | GSPM1B-US | 
| version | String | 当前固件版本号 | 2.3.4 | 
| wifiLock | int | 配网锁，0：关闭，1：开启 | 1 | 
---