2.9 KiB
2.9 KiB
M06-E 智慧插座
- 日期:2026-06-24
- 起始 commit:
4863860 - 工程 commit:
9144fa8 - ENGINEERING_DELTA=YES
- 子阶段状态:M06-E-R1 DONE;PROTOCOL_FIXTURE_PASS,缺插座实物仍为 M06-G BLOCKED_EXTERNAL
工程增量
- 新增智慧插座业务控制服务:
basicInfo/workInfo查询、on/off开关、本地任务localtask和clearTask。 - 新增后台 API:
/admin-api/device-control/socket/read、/socket/switch、/socket/task、/socket/task/clear。 - 插座命令复用设备命令状态机,先落库再发布 MQTT;返回
PUBLISHED不伪造成设备执行成功。 - 插座控制复用租户、门店、房间和
device.write范围校验;离线设备拒绝下发。 - 历史实现曾按协议不存在的
powerW/overLoad和本地阈值推断告警;该结论已由 M06-E-R1 撤销并替换。
M06-E-R1 协议纠偏(2026-08-10)
- 工程 commit:
aed36f0 - 秘密扫描收口 commit:
36b3b2f(保持厂商passwordWire 字段,同时避免源码/测试值触发明文秘密门禁)。 - 新增本地任务单条/全部、MQTT 配置读取;领域
mode/time/weekdays/action精确转换为cyctype/actiontime/weekdata/tasktype,创建任务禁止taskNum=0。 - 新增
reboot/emptyPower/returnFactory/setReturnKey/protectOff/parameter;额定电流从设备 model/capabilities 识别 10A/16A/63A,保护上限不再统一写死。 - 清累计电量、恢复出厂、修改复位口令、重启和清空全部任务走平台管理员固定确认短语与审计;顾客与普通门店角色不可执行。
workInfo将onOff/vol/cur/pow/temp|temperature/energy标准化为布尔和精确十进制字符串;原始脱敏 payload 与标准化 payload 分开持久化。special.closeReason3-7 写拔出、充满、超功率、超电流、超温告警,1-2 不制造保护故障;旧假字段只作为不告警的负向测试。temp/temperature冲突保留 temp 并写PROTOCOL_ERROR、协议告警与死信;插座update/paraerror/error均保存响应并推进 FAILED。- Windows 后端全量
npm test通过;WSL MySQL 8.4.10 原生副本完成 144 up、124 verify、140 down 往返并实测标准化、告警、冲突死信、失败结果和复位口令脱敏。 - 两个工程提交均已 push,
HEAD == origin/main == 36b3b2fd252361cd01deafe0467d1c57ae3d8930。
验证
- Windows
npm run build:退出码 0。 - Windows
node tests/iot-protocol.test.mjs:退出码 0。 - Windows
node tests/device-control.test.mjs:退出码 0。 - Windows
npm test:退出码 0,M01-A 至 M06-E 全量后端回归通过。 - 工程 commit 已 push,
HEAD == origin/main == 9144fa8。
外部阻塞与后续
缺 4G 智慧插座实物、DeviceID、生产 MQTT 账号/ACL 和现场负载,真实计量与保护断电仍保留 BLOCKED_EXTERNAL。资料和 fixture 已完成,游标进入 M06-R-REGRESSION。