W72A(4G空气开关控制器)API
W72A(4G空气开关控制器)API
概述
W72A 是基于 4G 网络的空气开关控制器,设备序列号以 W72A 开头。设备支持本地按键、远程开关控制、延时开关、定时任务、电参量读取、阈值配置、设备信息查询和 OTA 升级。
- API 基础地址:
https://wdev.wmj.com.cn - 设备命令地址:
POST https://wdev.wmj.com.cn/deviceApi/send - W72A 使用
turnon/turnoff表示合闸 / 分闸,兼容open作为合闸命令 switch_state=1表示合闸,switch_state=0表示分闸72.2.06修正生产测试中开关控制方向,按键和远程接口的开关语义保持一致- 当前 OTA 版本为
72.2.08,修复72.2.07中本地按键和远程开关控制无效的问题;实机验证待完成,批量升级前应先在测试设备验证。72.2.07不建议继续使用 - 平台
code=0仅表示请求已送达;设备命令还应检查data.info.code
不要通过反复发送开关、重启或 OTA 命令探测在线状态,应使用 getOnLine。涉及 220V 强电测试时,应由具备资质的人员在安全环境中操作。
点击下面的序号展开
1.注册设备
将设备绑定到开发者账号。注册成功后才能调用云端设备接口。
请求URL
POST https://wdev.wmj.com.cn/deviceApi/register
请求格式
json
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}"
}
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
app_id |
是 | string | 开发者 app_id |
app_secret |
是 | string | 开发者 app_secret |
device_sn |
是 | string | W72A 设备序列号 |
{
"code": 0,
"msg": "注册成功"
}
2.查询在线状态
请求URL
POST https://wdev.wmj.com.cn/deviceApi/getOnLine
请求格式
json
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}"
}
{
"code": 0,
"data": {
"online": 1
},
"msg": "查询成功"
}
online=1 表示在线,online=0 表示离线。部分旧版服务可能返回同义字段 on_line。
3.合闸
远程控制空气开关合闸。W72A 72.2.06 起,远程合闸与本地按键切换后的实际合闸方向一致。
请求URL
POST https://wdev.wmj.com.cn/deviceApi/send
请求格式
json
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "turnon",
"info": {}
}
}
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"cmd_type": "turnon",
"info": {
"code": 0,
"msg": "",
"switch_state": 1
}
}
}
open 可作为兼容合闸命令使用,推荐新接入使用 turnon。
4.分闸
远程控制空气开关分闸。W72A 72.2.06 起,远程分闸与本地按键切换后的实际分闸方向一致。
请求URL
POST https://wdev.wmj.com.cn/deviceApi/send
请求格式
json
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "turnoff",
"info": {}
}
}
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"cmd_type": "turnoff",
"info": {
"code": 0,
"msg": "",
"switch_state": 0
}
}
}
5.延时合闸 / 延时分闸
延时命令会先执行相反动作,再在设定秒数后切换到目标状态。
请求URL
POST https://wdev.wmj.com.cn/deviceApi/send
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "delayturnoff",
"info": {
"delaytime": 60
}
}
}
| 字段 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
delaytime |
否 | number | 1~86400 |
10 |
延时时间,单位秒 |
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"cmd_type": "delayturnoff",
"info": {
"code": 0,
"msg": "",
"delaytime": 60,
"switch_state": 1,
"action": "turnon_then_delay_turnoff"
}
}
}
delayturnon 表示先分闸再延时合闸;delayturnoff 表示先合闸再延时分闸。
6.设置上电保持
设置设备重启后是否恢复上次开关状态。
请求URL
POST https://wdev.wmj.com.cn/deviceApi/send
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "set_retainstate",
"info": {
"retainstate": 1
}
}
}
| 字段 | 类型 | 说明 |
|---|---|---|
retainstate |
number | 1=上电恢复上次状态,0=上电默认分闸 |
7.定时任务
W72A 最多保存 10 条定时任务。时间字段使用设备本地时区时间;联网后设备会自动同步时间。
W72M 兼容定时动作(72.2.07)
set_timed_action 使用两个等长数组设置每日定时点,最多 10 组。时间按北京时间执行,action=1 合闸、action=0 分闸。此接口与下述起止时间任务分别保存,设置后重启仍保留;尚未取得有效时间时不执行。
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "set_timed_action",
"info": {
"time": ["08:00", "18:00"],
"action": [1, 0]
}
}
}
| 字段 | 必选 | 类型 | 说明 |
|---|---|---|---|
time |
是 | array | HH:mm,小时 0-23、分钟 0-59 |
action |
是 | array | 与 time 等长,每项为整数 0 或 1 |
同时传入 "time": []、"action": [] 清空这些定时点。无效参数或保存失败返回非零 info.code,原定时点保持不变。
查询定时任务
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "get_schedules",
"info": {}
}
}
设置单条定时任务
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "set_schedule",
"info": {
"index": 0,
"enabled": true,
"start_hour": 8,
"start_minute": 0,
"end_hour": 18,
"end_minute": 0,
"weekdays": 127,
"action": 1
}
}
}
| 字段 | 类型 | 说明 |
|---|---|---|
index |
number | 定时任务序号,0~9 |
enabled |
boolean / number | 是否启用 |
start_hour / end_hour |
number | 小时,0~23 |
start_minute / end_minute |
number | 分钟,0~59 |
weekdays |
number | 星期位图,低 7 位有效;127 表示每天 |
action |
number | 1=开始时间合闸、结束时间分闸;0=开始时间分闸、结束时间合闸 |
批量设置使用 set_schedules,info.schedules 为上述对象数组。删除单条使用 clear_schedule 并传入 index;清空全部使用 clear_all_schedules;启停单条使用 enable_schedule 并传入 index 和 enabled。
8.获取设备信息
请求URL
POST https://wdev.wmj.com.cn/deviceApi/send
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "getdevinfo",
"info": {}
}
}
主要返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
model / project |
string | 设备型号 / 项目标识,W72A 返回 W72A |
version / fwVer / sw_ver |
string | 固件版本;sw_ver 从 72.2.07 起提供 |
hw_ver |
string | 硬件版本,72.2.07 起提供 |
imei / imsi / iccid |
string | 蜂窝模组和 SIM 标识 |
rssi / csq / ber |
number | 蜂窝信号信息 |
rsrp / rsrq / snr |
number / null | 72.2.07 起提供,来自驻留小区缓存;无有效样本时为 null |
radio_available |
boolean | 是否有有效的小区信号样本 |
switch_state |
number | 1=合闸,0=分闸 |
relayStatus |
number | 兼容字段,含义同开关状态 |
retainstate |
number | 上电保持配置 |
state_persisted |
boolean | 72.2.07 起提供;当前开关状态和上电保持配置是否已保存,false 时掉电后可能恢复之前的状态 |
heartbeat |
number | W72M 兼容状态字段,默认 0,不用于判断云端在线状态 |
temperature / temperature_available |
number / boolean | 72.2.07 起提供;无温度采集源时分别为 0 / false,0 不代表实测温度 |
bl0942_connected |
number | 电参量采集芯片通信状态 |
voltage |
number | 电压,单位 V |
electric_current |
number | 电流,单位 A |
power |
number | 功率,单位 W |
total_electricity |
number | 累计电量 |
leakage_current |
number | 漏电流阈值 |
overcurrent |
number | 过流阈值 |
overheat |
number | 过温阈值 |
overvoltage |
number | 过压阈值 |
undervoltage |
number | 欠压阈值 |
schedule_count |
number | 已启用定时任务数量 |
fs_total / fs_free |
number | 文件系统容量和剩余空间 |
仅接 12V 底板供电时,电压、电流、功率等强电参数可能为 0 或无有效负载数据;应在安全接入 220V 和负载后再做强电功能验证。
9.设置保护阈值
setting 用于设置电气保护阈值。只需传入要修改的字段,未传字段保持不变。
请求URL
POST https://wdev.wmj.com.cn/deviceApi/send
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "setting",
"info": {
"leakage_current": 30,
"overcurrent": 16,
"overheat": 80,
"overvoltage": 260,
"undervoltage": 180
}
}
}
| 字段 | 类型 | 说明 |
|---|---|---|
leakage_current |
number | 漏电流阈值 |
overcurrent |
number | 过流阈值 |
overheat |
number | 过温阈值 |
overvoltage |
number | 过压阈值 |
undervoltage |
number | 欠压阈值 |
收到成功响应后,应调用 getdevinfo 回读确认。
10.状态上报
设备会通过平台向开发者回调地址推送状态变化和电参量数据。
开关状态通知
72.2.07 起,本地按键成功切换后按 W72M 格式上报 turnon / turnoff。
{
"cmd_type": "turnon",
"device_sn": "{{device_sn}}",
"type": 2,
"info": {
"code": 0,
"msg": "",
"notify_type": "button",
"switch_state": 1
}
}
switch_state=1 表示合闸,switch_state=0 表示分闸。72.2.06 的按键事件使用 cmd_type=notify、notify_type=button。起止时间任务仍使用 cmd_type=notify、notify_type=schedule_action。
W72M 定时动作通知(72.2.07)
{
"device_sn": "{{device_sn}}",
"type": 2,
"cmd_type": "notify",
"info": {
"notify_type": "timed_action",
"time": "08:00",
"action": 1,
"code": 0,
"msg": ""
}
}
原始串口透传命令 uart_cmd 不支持。注册、解绑和在线查询沿用平台公共接口。
电参量上报
保留每分钟上报;72.2.07 在时间有效时,另按北京时间每天 02:15 上报一次。电压、电流和功率单位仍为 V、A 和 W。
{
"cmd_type": "power_report",
"device_sn": "{{device_sn}}",
"type": 2,
"info": {
"switch_state": 1,
"voltage": 220.5,
"electric_current": 1.2,
"power": 260.0,
"total_electricity": 0.15,
"bl0942_connected": 1
}
}
11.OTA升级
W72A 72.2.08 OTA 包修复 72.2.07 中本地按键和远程开关控制无效的问题,保留已有开关方向、W72M 接口兼容和断网恢复功能。升级方式不变。
请求URL
POST https://wdev.wmj.com.cn/deviceApi/send
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "set_ota",
"info": {
"hw_ver": "1.0.0",
"sw_ver": "72.2.08",
"url": "http://fm.wmj.com.cn/ota/W72A/W72A_72.2.08.bin"
}
}
}
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"cmd_type": "set_ota",
"info": {
"code": 0,
"msg": "OTA started, device will reboot"
}
}
}
OTA 命令返回成功只表示设备开始处理升级。业务系统应等待设备重连后调用 getdevinfo,确认 version 或 fwVer 为 72.2.08,再验证本地按键、远程合闸分闸和指示灯状态。
12.重启
请求URL
POST https://wdev.wmj.com.cn/deviceApi/send
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "restart",
"info": {}
}
}
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"cmd_type": "restart",
"info": {
"code": 0,
"msg": "OK"
}
}
}
13.解绑设备
解除设备与当前开发者账号的绑定。解绑后该账号不能再控制设备。
请求URL
POST https://wdev.wmj.com.cn/deviceApi/logout
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}"
}
{
"code": 0,
"msg": "解绑成功"
}
更新日志
| 日期 | 内容 |
|---|---|
| 2026-09-08 | 发布 72.2.08 OTA 包,修复 07 中本地按键及远程开关控制无效、指示灯状态不更新的问题。实机验证待完成,07 不建议继续使用。 |
| 2026-09-08 | 发布 72.2.07 OTA 包,补充 W72M 定时动作、按键及定时回调兼容、版本字段别名,增强断网恢复及状态保存可靠性。实机断网回归待完成。 |
| 2026-09-08 | 发布 W72A 72.2.06 OTA 包,修正本地按键和远程接口开关控制方向,补充 W72A 开关、电参量、定时、保护阈值和 OTA 接口说明。 |
最后编辑:极客师傅 更新时间:2026-09-09 10:08