本API适用于序列号开头为W767的设备,appid和appsecret请到 https://wdev.wmj.com.cn 填写手机号或邮箱登录获取。

回调版本说明

当前回调维护版本:67.1.22,适用W767硬件1.0.0。回调协议与另一款统一;能力及验证范围见回调章节。

67.1.17只有配置读写、不投递HTTP回调;请升级至本文版本,不能通过改参数解决。

点击下面的序号展开
1.注册设备

简要描述

将设备和appid、appsecret绑定

请求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 设备序列号

返回示例

{
    "code": 0,
    "msg": "注册成功"
}
{
    "code": 1005,
    "msg": "设备已注册"
}

返回参数说明

参数名 类型 说明
code int 错误码,0成功其他异常
msg string 描述信息
备注

更多返回错误代码请看首页的错误代码描述

2.开门

简要描述

开门操作,适用于普通门禁模式

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "open",
        "info": {
            "sn": "W7671234567",
            "cmd_id": "order_20260127_001",
            "user_id": "user123"
        }
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 开门标识open
data.info.sn 否 string 一旦传入sn,设备将校验传入sn是否与设备本身sn一致,校验成功才能开门
data.info.cmd_id 否 string 业务系统命令ID,回调时原样返回,用于业务追踪(v67.0.09+)
data.info.user_id 否 string 操作用户ID,回调时原样返回,用于记录开门人(v67.0.09+)

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "open",
        "info": {
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息
3.设置常开/常闭模式

简要描述

设置设备常开或常闭模式

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "set_nonc",
        "info": {
            "type": 0
        }
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 命令标识set_nonc
data.info.nonc_type 是 int 0=常闭,1=常开

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "set_nonc",
        "info": {
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息
4.设置继电器触发时长

简要描述

设置继电器触发时长(毫秒)

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "set_relay",
        "info": {
            "relay1": 1500
        }
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 命令标识set_relay
data.info.relay1 是 int 继电器触发时长(毫秒),默认1500

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "set_relay",
        "info": {
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息
5.设置蜂鸣器开关

简要描述

全局启用或禁用蜂鸣器

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "set_device_sound",
        "info": {
            "device_sound": 1
        }
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 命令标识set_device_sound
data.info.device_sound 是 int 0=禁用蜂鸣器,1=启用蜂鸣器

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "set_device_sound",
        "info": {
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息

备注

禁用蜂鸣器后,所有需要蜂鸣器提示的操作将静音执行

6.远程配置WiFi

简要描述

远程配置设备WiFi连接信息

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "set_wifi",
        "info": {
            "ssid": "WiFi_Name",
            "passwd": "WiFi_Password"
        }
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 命令标识set_wifi
data.info.ssid 是 string WiFi名称
data.info.password 否 string WiFi密码(开放WiFi可不传)

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "set_wifi",
        "info": {
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息

备注

配置成功后设备将自动重启并连接新WiFi

7.修改密码

简要描述

修改设备Web端管理密码和开门密码

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "set_pwd",
        "info": {
            "device_pwd": "12345678",
            "admin_pwd": "admin123"
        }
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 命令标识set_pwd
data.info.device_pwd 否 string 设备Web端应急开门密码
data.info.admin_pwd 否 string 设备Web端配网管理密码

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "set_pwd",
        "info": {
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息
8.获取设备信息

简要描述

获取设备当前配置信息

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "getdevinfo",
        "info": {}
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 命令标识getdevinfo

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "getdevinfo",
        "info": {
            "sn": "W7671234567",
            "sw_ver": "67.0.06",
            "hw_ver": "1.0",
            "device_pwd": "12345687",
            "admin_pwd": "admin",
            "sta_ssid": "WiFi_Name",
            "sta_pwd": "WiFi_Password",
            "project": "W767",
            "net_type": "wifi",
            "iccid": "WiFi_Name",
            "imei": "AA:BB:CC:DD:EE:FF",
            "nonc": 0,
            "rssi": -45,
            "doorstate": 0,
            "relay1": 1500,
            "device_sound": 1,
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.sn string 设备序列号
data.info.sw_ver string 软件版本号
data.info → hw_ver string 硬件版本号
data.info.device_pwd string 设备开门密码
data.info.admin_pwd string Web管理密码
data.info.sta_ssid string WiFi名称
data.info.sta_pwd string WiFi密码
data.info.project string 项目型号
data.info.net_type string 网络类型(wifi)
data.info.iccid string SIM卡ICCID(WiFi模式下与sta_ssid相同)
data.info.imei string 设备MAC地址
data.info.nonc int 常开常闭模式(0=常闭,1=常开)
data.info.rssi int WiFi信号强度(dBm)
data.info.doorstate int 门状态(0=关闭,1=打开)
data.info.relay1 int 继电器触发时长(毫秒)
data.info.device_sound int 蜂鸣器开关(0=禁用,1=启用)
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息
9.获取门状态

简要描述

获取门当前开关状态

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "getdoorstate",
        "info": {}
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 命令标识getdoorstate

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "getdoorstate",
        "info": {
            "door_state": 0,
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.door_state int 门状态(0=关闭,1=打开)
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息
10.配置回调地址与开门通知

统一开门回调协议

适用 W767 67.1.22、W76M 76.0.8,硬件1.0.0。使用前通过 getdevinfo 确认型号和版本;旧版本不能只按版本数值推断支持全部回调。

配置及回读

POST https://wdev.wmj.com.cn/deviceApi/send,Content-Type: application/json。

{"app_id":"{{wmjv2appid}}","app_secret":"{{wmjv2appsecret}}","device_sn":"{{device_sn}}","type":1,"data":{"cmd_type":"set_callback","info":{"url":"https://example.com/callback","enabled":1}}}

url 为 HTTP(S) 地址,最多255字节;enabled 必须为数值0或1。兼容 callback_url/callback_enabled 别名;同时提交两套字段时值必须一致。省略字段保留原值。空参数、错误类型、冲突值、启用但URL为空均返回设备 data.info.code 非零。平台 code=0 不等于设备配置或投递成功。

{"app_id":"{{wmjv2appid}}","app_secret":"{{wmjv2appsecret}}","device_sn":"{{device_sn}}","type":1,"data":{"cmd_type":"get_callback","info":{}}}

回读设备 data.info 示例:

{"code":0,"err_code":0,"msg":"","callback_ready":true,"callback_url":"https://example.com/callback","callback_enabled":1,"pending_callbacks":0,"callback_capacity":4,"callback_success":1,"callback_failed":0,"callback_dropped":0,"callback_storage_errors":0,"callback_last_http":200,"callback_last_error":0}

ready 表示回调功能初始化状态;pending/capacity 为待发数和容量。success/failed/dropped/storage_errors 为本次启动计数,不是终身计数。last_http 为最近HTTP状态;last_error 为传输错误码,0表示无传输错误,仍须检查HTTP状态。

POST 通知格式

设备向配置的URL发送 HTTP POST,Content-Type: application/json,不包裹 data/info:

{"device_sn":"{{device_sn}}","event":"door_opened","open_type":"api","event_uid":"example-device-8ce5dafcc085d6d8","callback_id":627159385,"msg_id":206,"timestamp":23,"rssi":-40,"cmd_id":"order-001","user_id":"user-001"}
字段 类型 说明
device_sn string 设备序列号
event string door_opened,表示控制器执行开门动作,不代表物理门已打开;门磁需另查
open_type string api / ble / button / web / schedule / delay
event_uid string 幂等键,重试及重启补发保持不变
callback_id number 数字事件编号,优先以event_uid去重
msg_id number API open消息ID;其他入口为0
timestamp number 事件产生时设备本次启动的秒数,不是Unix时间戳
rssi number 当时WiFi信号dBm;获取失败可能为0
cmd_id string,可选 API open.info透传,最多96字节
user_id string,可选 API open.info透传,最多96字节,不代表设备自动识别用户

api 为API触发开门;ble 为蓝牙鉴权后开门;button 为控制器可感知的开门按钮;web 为本地应急网页;schedule 为定时计划;delay 为延时到期。蓝牙/按钮等不带 cmd_id/user_id,其他自定义字段不透传。关闭或释放继电器不产生door_opened。

W76M 开门按钮支持button;W767板载按键用于配网/复位,不因此变成开门按钮。外接按钮若绕过控制器直接接门禁电源,固件无法感知其操作。

投递、离线及错误处理

  • 接收端返回 HTTP200/201/204 表示成功,正文不限;其他状态和网络失败重试。不跟随重定向。
  • 重试间隔10/20/40/80/160/300秒,之后上限300秒;必须按event_uid幂等,不能假设只到达一次或严格按发生顺序到达。
  • 最多4条持久化待发记录;断网期间启用状态下的开门记录入队,联网后补发。满队列不会覆盖旧记录,新记录可能丢弃,应监测callback_dropped/storage_errors;不保证无限离线事件留存。
  • API open应答中的callback_queued/callback_error独立于开门结果。队列失败不撤销开门动作;禁用时不入队。仅ACK成功不能证明业务服务器收到通知。
  • 禁用暂停旧队列;重新启用后按事件原URL补发,已在途请求可能完成。恢复出厂清除回调配置与队列。升级前产生的旧事件保留原内容,可能仍含旧值mqtt。
  • 建议使用HTTPS并校验业务关联。本载荷没有应用级签名,不应仅凭此通知授予新的开门权限。

验证范围:两款均已验证API开门、延时回调及失败重启补发;W76M另有按钮实测。蓝牙、网页、定时计划的回调入口已接入,但本轮尚未完成对应现场触发验证;HTTPS、满队列与长时间离线需按业务环境验证。

11.重启设备

简要描述

远程重启设备

请求URL

https://wdev.wmj.com.cn/deviceApi/send

请求方式

POST

请求格式

json

请求参数

{
    "app_id": "{{wmjv2appid}}",
    "app_secret": "{{wmjv2appsecret}}",
    "device_sn": "{{device_sn}}",
    "data": {
        "cmd_type": "restart",
        "info": {}
    }
}
参数名 必选 类型 说明
app_id 是 string 用户app_id
app_secret 是 string 用户app_secret
device_sn 是 string 设备序列号
data.cmd_type 是 string 命令标识restart

返回示例

{
    "code": 0,
    "data": {
        "cmd_type": "restart",
        "info": {
            "code": 0,
            "msg": "OK"
        }
    }
}

返回参数说明

参数名 类型 说明
code int 调用接口错误码,0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息

备注

设备收到命令后将在3秒内重启

12.OTA固件升级

适用W767硬件1.0.0,目标版本67.1.22。POST https://wdev.wmj.com.cn/deviceApi/send,Content-Type: application/json。

{
  "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": "67.1.22",
      "url": "http://fm.wmj.com.cn/ota/W767/W767_v67.1.22_ota.bin"
    }
  }
}

目标版本必须高于当前版本。ACK仅表示升级受理;重启上线后通过getdevinfo回读版本并验证业务。

14.蓝牙开门接口

(1) 获取临时密码

通过云端API获取蓝牙开门所需的临时密码

请求URL

https://wdev.wmj.com.cn/deviceApi/TPassword

请求方式

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 设备序列号

返回示例

{
    "code": 0,
    "data": {
        "pwd": "03057414",
        "roll_code": 26
    }
}

返回参数说明

参数名 类型 说明
code int 错误码,0成功其他异常
data.pwd string 临时开门密码(用于蓝牙开门)
data.roll_code int 当前滚动码值(0-999循环)

备注

  • 临时密码一次性有效,开门成功后自动失效
  • 后获取的密码开门成功后,之前获取的密码将失效
  • 开门记录会回调到配置的回调URL

(2) 蓝牙开门操作

使用获取到的临时密码通过蓝牙开门

服务UUID

  • 开锁服务: FEE0
  • 写特性: FEE1 (接收开门命令)
  • 通知特性: FEE2 (返回执行结果)

请求格式

通过蓝牙向特性 FEE1 写入JSON格式数据:

{
    "cmd_type": "ble_pwd_open_lock",
    "info": {
        "data": "03057414"
    }
}
参数名 必选 类型 说明
cmd_type 是 string 命令类型,固定为ble_pwd_open_lock
info.data 是 string 临时密码(从云端API获取的pwd字段)

返回格式

设备通过特性 FEE2 的通知返回结果:

{
    "state": 1,
    "info": {
        "code": 0,
        "msg": "Unlock success"
    }
}
参数名 类型 说明
state int 开门状态(0=失败,1=成功)
info.code int 业务错误码(0=成功,-1=失败)
info.msg string 执行结果描述

(3) 自行开发小程序的接入顺序

蓝牙开门与配网、硬件配置使用不同的服务和特征值。不要选择发现列表中的第一个可写特征,也不要复用配网流程中的服务及特征值。

用途 服务 UUID 特征 UUID 操作
开门指令 FEE0 FEE1 Write
开门结果 FEE0 FEE2 Notify
硬件配置(不是开门) 0D38 33FF 不用于普通开门接入

完整 UUID 分别为:

  • 服务:0000FEE0-0000-1000-8000-00805F9B34FB
  • 写特征:0000FEE1-0000-1000-8000-00805F9B34FB
  • 通知特征:0000FEE2-0000-1000-8000-00805F9B34FB
  1. 连接目标设备后发现服务及特征,按 UUID 精确匹配;比较时统一大小写及短 UUID/完整 UUID 表示方式,不依赖数组下标。
  2. 先注册通知接收回调,再订阅 FEE0/FEE2;等待订阅成功后才发送开门请求。
  3. 由业务后端鉴权后调用上述临时密码接口,获取当前目标设备的 data.pwd。开发者 app_secret 只保存在后端,不内置到小程序,也不通过蓝牙发送。
  4. 将上述 ble_pwd_open_lock JSON 编码为 UTF-8,写入 FEE0/FEE1。info.data 必须是字符串,使用接口实际返回的密码并保留前导零;示例密码不能直接用于真实设备。
  5. 蓝牙报文直接以 cmd_type、info 为顶层字段,不要套用云端命令的 app_id、device_sn、外层 data 等包装。
  6. 仅处理目标设备、目标服务及 FEE2 的结果通知;以 state=1 且 info.code=0 判断设备接受并执行成功。写入 API 成功只代表写入完成,不代表门已打开;物理门状态应另行核验。

报文长度:当前 IDF 固件要求每次写入包含完整 JSON,没有应用层分片拼接。普通 ATT 写入容量受协商 MTU 限制(通常为 MTU 减 3 字节)。发送前确认实际写入容量足以容纳完整 UTF-8 报文;不要把 JSON 拆成多次独立写入。若平台无法提供足够容量,应报告不支持并排查兼容性,不要循环发送残缺报文。

(4) 蓝牙错误排查

以下错误文案适用于返回这些文案的 W767 IDF 固件;旧固件返回内容可能不同。

{"info":{"code":-1,"msg":"Hardware config rejected"},"state":0}

Hardware config rejected 表示硬件配置请求被拒绝,不等同于开门临时密码错误。普通开门流程出现此结果时,优先检查是否误写 0D38/33FF,或把硬件配置通知错误地当作开门通知。

处理方式是修正服务、写特征及通知特征,不是补填硬件配置密钥。普通蓝牙开门不需要提交硬件配置参数。

现象 排查步骤
Hardware config rejected 检查实际写入 UUID 与通知来源;开门必须写 FEE0/FEE1 并监听 FEE0/FEE2
Unlock failed 已进入开门处理;检查目标设备是否对应、临时密码是否正确、JSON 层级及字段类型。仍失败时联系支持排查设备执行状态,不要只归因于密码
Invalid request 检查 UTF-8 编码、完整 JSON、报文长度,是否拆成了多次独立写入
写入成功但没有结果 检查通知订阅是否成功、是否监听目标设备的 FEE2,并设置结果等待超时;不要自动无限重试

若仍不能接入,请提供固件版本、手机系统与机型、实际服务/写特征/通知特征 UUID、发送字节长度及脱敏 JSON。不要提交真实临时密码、开发者密钥或硬件配置密钥。

安全机制: - 滚动码机制确保每次密码唯一 - 密码使用后滚动码自动递增 - 成功使用后获取的密码后,之前的密码可能无法继续使用;每次开门请重新获取临时密码,不缓存复用

13.解绑设备

简要描述

删除解绑,将设备从当前appid解绑

请求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 设备序列号

返回示例

{
    "code": 0,
    "msg": "解绑成功"
}

返回参数说明

参数名 类型 说明
code int 错误码,0成功其他异常
msg string 描述信息

+++

设备硬件规格

  • WiFi: 2.4GHz IEEE 802.11 b/g/n
  • 蓝牙: BLE 5.0
  • 继电器: 1路控制
  • 门磁检测: 实时监测门状态
  • 蜂鸣器: 提示音

固件版本

本文原版接口基线:67.0.09,不是全部设备的当前版本。实际版本以 getdevinfo.sw_ver 为准;回调能力请查看页面顶部的适用范围提示。

技术支持

如有问题请访问: https://wdev.wmj.com.cn


更新日志
日期 内容
2026-09-14 更新 67.1.22 回调维护版本及OTA示例,统一六种开门来源、配置别名、完整通知字段和重试去重规则,明确验证范围。
2026-09-14 修正回调功能版本范围,明确 67.1.17 不支持 HTTP 回调投递;修正查询字段、回读验证、通知来源及时间字段说明。
2026-09-11 完善蓝牙开门 UUID 对照、小程序接入顺序、通知结果判断及完整报文要求,补充 Hardware config rejected 等错误排查与密钥保护说明,规范接口凭据示例。
2026-01-27 v67.0.09:新增开门回调功能及开门命令追踪参数。
未注明 v67.0.06:初始版本。
作者:极客师傅  创建时间:2025-03-18 23:40
最后编辑:极客师傅  更新时间:2026-09-14 11:41