3.9 KiB
3.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。
M06-R-REGRESSION 全量回归(2026-08-10)
- 工程 commit:
da5751f;四个 M08 静态检查统一改用fileURLToPath,新增带中文/空格临时仓库路径的真实执行回归。 - Windows
backend/npm test全量通过,控制箱、门锁、Sub-1G、智慧插座、MQTT Mock、订单联动和硬件 smoke runner 契约均通过。 admin/npm run build通过;923.28 KiB Element chunk 警告未隐藏,按固定队列移交 M08-D-R1 解决。- WSL 原生临时副本使用 MySQL 8.4.10 完成 144 up、124 verify、140 down 的
up → verify → down → up → verify,协议原始 payload、标准化字段、告警、死信、命令状态和敏感值脱敏均实测通过。 PROTOCOL_DOCUMENT_REVIEW=PASS、PROTOCOL_FIXTURE=PASS、MQTT_MOCK=PASS、PATH_PORTABILITY=PASS、HARDWARE_REAL=BLOCKED_EXTERNAL。ISSUE-013=RESOLVED;真实设备、生产 MQTT 账号/ACL 与现场配线继续归ISSUE-014,不阻断内部队列。下一游标为 M08-D-R1。