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 186400 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 等长,每项为整数 01

同时传入 "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 定时任务序号,09
enabled boolean / number 是否启用
start_hour / end_hour number 小时,023
start_minute / end_minute number 分钟,059
weekdays number 星期位图,低 7 位有效;127 表示每天
action number 1=开始时间合闸、结束时间分闸;0=开始时间分闸、结束时间合闸

批量设置使用 set_schedulesinfo.schedules 为上述对象数组。删除单条使用 clear_schedule 并传入 index;清空全部使用 clear_all_schedules;启停单条使用 enable_schedule 并传入 indexenabled

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 / false0 不代表实测温度
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=notifynotify_type=button。起止时间任务仍使用 cmd_type=notifynotify_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,确认 versionfwVer72.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-08 14:04
最后编辑:极客师傅  更新时间:2026-09-09 10:08