W71M WiFi版空开断路器 API
本 API 适用于 W71M WiFi 版空开断路器。设备通过硬件云 APIv2 接入,开发者使用 app_id、app_secret 和设备序列号完成注册、远程合闸、远程分闸、延时开关、定时任务、设备信息查询、设备设置、OTA 升级、状态上报和解绑。
app_id 和 app_secret 请登录 https://wdev.wmj.com.cn 获取。
点击下面的序号展开
1.注册设备
简要描述
将 W71M 设备和应用绑定。注册成功后才能调用设备功能接口。
请求URL
https://wdev.wmj.com.cn/deviceApi/register
请求方式
POST
请求格式
json
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}"
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 说明 |
|---|---|---|---|---|
| app_id | 是 | string | 平台分配 | 硬件云 app_id |
| app_secret | 是 | string | 平台分配 | 硬件云 app_secret |
| device_sn | 是 | string | W71M 设备序列号 | 设备序列号 |
返回示例
{
"code": 0,
"msg": "注册成功"
}
2.公共请求结构
简要描述
除注册、解绑、在线状态查询外,功能接口统一调用发送指令接口,通过 data.cmd_type 区分具体功能。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
基础参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "turnon",
"info": {}
}
}
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 说明 |
|---|---|---|---|---|
| app_id | 是 | string | 平台分配 | 硬件云 app_id |
| app_secret | 是 | string | 平台分配 | 硬件云 app_secret |
| device_sn | 是 | string | W71M 设备序列号 | 设备序列号 |
| type | 否 | int | 固定传 1 |
请求类型 |
| data.cmd_type | 是 | string | 本文档列出的命令名 | 命令类型 |
| data.info | 否 | object | JSON 对象 | 命令参数 |
通用返回
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"msg_id": 1,
"type": 1,
"cmd": "turnon",
"cmd_type": "turnon",
"info": {
"err_code": 0,
"code": 0,
"msg": ""
}
}
}
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 平台接口调用错误码,0 表示平台已受理 |
| data.info.code | int | 设备业务错误码,0 表示成功 |
| data.info.err_code | int | 兼容错误码,0 表示成功 |
| data.info.msg | string | 设备返回消息 |
3.远程合闸
简要描述
控制空开合闸。若设备处于启用的定时任务控制时间段内,手动合闸可能被拒绝。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "turnon",
"info": {
"sn": "{{device_sn}}"
}
}
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
| data.cmd_type | 是 | string | turnon |
- | 合闸命令 |
| data.info.sn | 否 | string | 当前设备序列号 | 不校验 | 指定设备序列号;填写且不匹配时设备不执行 |
4.远程分闸
简要描述
控制空开分闸。若设备处于启用的定时任务控制时间段内,手动分闸可能被拒绝。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "turnoff",
"info": {
"sn": "{{device_sn}}"
}
}
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
| data.cmd_type | 是 | string | turnoff |
- | 分闸命令 |
| data.info.sn | 否 | string | 当前设备序列号 | 不校验 | 指定设备序列号;填写且不匹配时设备不执行 |
5.延时分闸
简要描述
设备收到命令后先合闸,再等待指定秒数后自动分闸。执行完成后设备会上报 delayturnoff_done。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "delayturnoff",
"info": {
"delaytime": 10
}
}
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
| data.cmd_type | 是 | string | delayturnoff |
- | 延时分闸命令 |
| data.info.delaytime | 否 | int | 秒,建议 1-86400 |
10 | 合闸后延迟分闸的时间 |
6.延时合闸
简要描述
设备收到命令后先分闸,再等待指定秒数后自动合闸。执行完成后设备会上报 delayturnon_done。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "delayturnon",
"info": {
"delaytime": 10
}
}
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
| data.cmd_type | 是 | string | delayturnon |
- | 延时合闸命令 |
| data.info.delaytime | 否 | int | 秒,建议 1-86400 |
10 | 分闸后延迟合闸的时间 |
7.查询设备信息
简要描述
查询设备版本、网络状态、电气参数、开关状态和定时任务状态。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "getdevinfo",
"info": {}
}
}
返回示例
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"cmd_type": "getdevinfo",
"info": {
"code": 0,
"err_code": 0,
"msg": "",
"sw_ver": "71.3.35",
"hw_ver": "1.0.0",
"project": "W71M_WiFi",
"net_type": "wifi",
"imei": "AA:BB:CC:DD:EE:FF",
"switch_state": 1,
"rssi": -55,
"voltage": "220.30",
"electric_current": "0.120",
"power": "26.40",
"total_electricity": "1.23",
"schedule_count": 2,
"time_synced": true,
"controlled_by_schedule": -1
}
}
}
返回字段说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| switch_state | int | 当前开关状态,1 合闸,0 分闸 |
| voltage | string | 电压,单位 V |
| electric_current | string | 电流,单位 A |
| power | string | 功率,单位 W |
| total_electricity | string | 累计电量,单位 kWh |
| schedule_count | int | 已启用定时任务数量 |
| time_synced | bool | 设备时间是否已同步 |
| controlled_by_schedule | int | -1 表示未被定时任务控制,0-9 表示当前控制的定时任务索引 |
| scheduled_state | int | 被定时任务控制时返回,1 合闸,0 分闸 |
8.设置设备本地密码
简要描述
设置设备本地管理密码。仅在业务确实需要本地管理密码时使用。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "dev_setting",
"info": {
"device_pwd": "123456",
"admin_pwd": "123456"
}
}
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
| data.cmd_type | 是 | string | dev_setting |
- | 设置命令 |
| data.info.device_pwd | 否 | string | 建议 4-16 位 | 不变 | 设备本地使用密码 |
| data.info.admin_pwd | 否 | string | 建议 4-16 位 | 不变 | 设备本地管理员密码 |
9.设置所有定时任务
简要描述
一次性设置 W71M 的定时任务列表。设备最多保存 10 组任务,按数组顺序写入索引 0-9。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "set_schedules",
"info": {
"schedules": [
{
"enabled": true,
"start_hour": 8,
"start_minute": 0,
"end_hour": 18,
"end_minute": 0,
"weekdays": 62,
"action": 1
}
]
}
}
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
| data.cmd_type | 是 | string | set_schedules |
- | 设置所有定时任务 |
| schedules | 是 | array | 最多 10 条 | - | 定时任务数组 |
| enabled | 是 | bool | true / false |
- | 是否启用 |
| start_hour | 是 | int | 0-23 |
- | 开始小时 |
| start_minute | 是 | int | 0-59 |
- | 开始分钟 |
| end_hour | 是 | int | 0-23 |
- | 结束小时 |
| end_minute | 是 | int | 0-59 |
- | 结束分钟 |
| weekdays | 是 | int | 1-127 |
- | 星期掩码 |
| action | 是 | int | 1 / 0 |
- | 时间段内动作,1 合闸,0 分闸 |
星期掩码
| 值 | 含义 |
|---|---|
| 1 | 周日 |
| 2 | 周一 |
| 4 | 周二 |
| 8 | 周三 |
| 16 | 周四 |
| 32 | 周五 |
| 64 | 周六 |
| 127 | 每天 |
| 62 | 周一至周五 |
| 65 | 周六、周日 |
执行规则
action=1 表示开始时间合闸、结束时间分闸;action=0 表示开始时间分闸、结束时间合闸。支持跨天时间段,例如 22:00-06:00。
10.查询定时任务
简要描述
查询设备保存的 10 组定时任务、当前设备时间和定时控制状态。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "get_schedules",
"info": {}
}
}
11.设置单个定时任务
简要描述
按索引设置单个定时任务,索引范围为 0-9。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "set_schedule",
"info": {
"index": 0,
"enabled": true,
"start_hour": 9,
"start_minute": 30,
"end_hour": 17,
"end_minute": 30,
"weekdays": 127,
"action": 1
}
}
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
| data.cmd_type | 是 | string | set_schedule |
- | 设置单个定时任务 |
| data.info.index | 是 | int | 0-9 |
- | 定时任务索引 |
| data.info.enabled | 否 | bool | true / false |
false | 是否启用 |
| data.info.start_hour | 否 | int | 0-23 |
0 | 开始小时 |
| data.info.start_minute | 否 | int | 0-59 |
0 | 开始分钟 |
| data.info.end_hour | 否 | int | 0-23 |
0 | 结束小时 |
| data.info.end_minute | 否 | int | 0-59 |
0 | 结束分钟 |
| data.info.weekdays | 否 | int | 1-127 |
127 | 星期掩码 |
| data.info.action | 否 | int | 1 / 0 |
1 | 时间段内动作 |
12.清除定时任务
简要描述
清除单个定时任务,或清除所有定时任务。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
清除单个任务
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "clear_schedule",
"info": {
"index": 0
}
}
}
清除全部任务
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "clear_all_schedules",
"info": {}
}
}
13.重启设备
简要描述
远程重启设备。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}",
"type": 1,
"data": {
"cmd_type": "restart",
"info": {}
}
}
14.OTA升级
简要描述
下发 W71M 固件升级地址。设备会校验硬件版本和软件版本,版本满足升级条件后开始 OTA。
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
参数
{
"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": "71.3.36",
"url": "https://example.com/w71m.bin"
}
}
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 默认值 | 说明 |
|---|---|---|---|---|---|
| data.cmd_type | 是 | string | set_ota |
- | OTA 命令 |
| data.info.hw_ver | 是 | string | 如 1.0.0 |
- | 目标硬件版本,必须与设备硬件版本一致 |
| data.info.sw_ver | 是 | string | 如 71.3.36 |
- | 目标软件版本,必须高于当前版本 |
| data.info.url | 是 | string | http / https URL |
- | 固件下载地址 |
15.在线状态查询
简要描述
查询设备是否在线。
请求URL
https://wdev.wmj.com.cn/deviceApi/getOnLine
请求方式
POST
请求格式
json
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}"
}
返回示例
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"online": 1
}
}
16.状态上报和回调
简要描述
设备状态变化、定时任务触发、延时任务完成时,会通过硬件云上报。开发者在平台配置回调地址后,可接收对应业务数据。
开关状态变化
{
"device_sn": "{{device_sn}}",
"type": 2,
"cmd_type": "turnon",
"info": {
"status": 1,
"switch_state": 1,
"msg": "Switch turned on"
}
}
{
"device_sn": "{{device_sn}}",
"type": 2,
"cmd_type": "turnoff",
"info": {
"status": 0,
"switch_state": 0,
"msg": "Switch turned off"
}
}
定时任务触发
{
"device_sn": "{{device_sn}}",
"type": 2,
"cmd_type": "timer_turnon",
"info": {
"status": 1
}
}
{
"device_sn": "{{device_sn}}",
"type": 2,
"cmd_type": "timer_turnoff",
"info": {
"status": 0
}
}
延时任务完成
{
"device_sn": "{{device_sn}}",
"type": 2,
"cmd_type": "delayturnoff_done",
"info": {
"status": 0,
"msg": "Auto turnoff completed"
}
}
{
"device_sn": "{{device_sn}}",
"type": 2,
"cmd_type": "delayturnon_done",
"info": {
"status": 1,
"msg": "Auto turnon completed"
}
}
手动操作被定时任务拒绝
{
"code": 0,
"data": {
"device_sn": "{{device_sn}}",
"type": 1,
"cmd_type": "turnon",
"info": {
"code": 2,
"err_code": 2,
"msg": "Controlled by schedule",
"schedule_index": 0,
"scheduled_state": 1,
"status": 1
}
}
}
17.解绑设备
简要描述
解除设备和应用绑定。解绑后该应用不能继续控制设备。
请求URL
https://wdev.wmj.com.cn/deviceApi/logout
请求方式
POST
请求格式
json
参数
{
"app_id": "{{wmjv2appid}}",
"app_secret": "{{wmjv2appsecret}}",
"device_sn": "{{device_sn}}"
}
参数说明
| 参数名 | 必选 | 类型 | 取值范围 / 格式 | 说明 |
|---|---|---|---|---|
| app_id | 是 | string | 平台分配 | 硬件云 app_id |
| app_secret | 是 | string | 平台分配 | 硬件云 app_secret |
| device_sn | 是 | string | W71M 设备序列号 | 设备序列号 |
返回示例
{
"code": 0,
"msg": "解绑成功"
}
最后编辑:极客师傅 更新时间:2026-06-25 02:08