Files
qipai/docs/devlogs/2026-06-24-M06-G-真实硬件联调.md

28 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# M06-G 真实硬件联调
- 日期:2026-06-24
- 起始 commit`c00526f`
- 工程 commit`d01f771`
- ENGINEERING_DELTA=YES
- 子阶段状态:BLOCKED_EXTERNAL;烟测运行器已完成,真实设备未执行
## 工程增量
- 新增 `hardware-smoke-runner`,默认 dry-run 生成控制箱、Sub-1G 门锁和智慧插座联调矩阵。
- 未配置 DeviceID 时安全 `SKIP`;未显式设置 `QIPAI_HARDWARE_SMOKE_ENABLE=true` 时只输出 `DRY_RUN`,不发布真实硬件命令。
- 危险动作默认关闭;只有 `QIPAI_HARDWARE_SMOKE_ALLOW_ACTIONS=true` 且提供对应 DeviceID/subID 时才加入控电、开锁和插座开关动作。
- 真实执行时通过 MQTT 3.1/QoS 1 发布 `/deviceaccept/{DeviceID}` 并等待 `/devicesend/{DeviceID}` 中匹配命令 ID 的 ACK。
- 输出 JSON 结果,便于后续粘贴进硬件联调报告和部署验收记录。
## 验证
- Windows `npm run build`:退出码 0。
- Windows `node tests/hardware-smoke-runner.test.mjs`:退出码 0。
- Windows `node dist/devices/hardware-smoke-runner.js`:退出码 0,未配置 DeviceID 时返回 `SKIP`
- Windows `npm test`:退出码 0,M01-A 至 M06-G 全量后端回归通过。
- 工程 commit 已 push`HEAD == origin/main == d01f771`
## 外部阻塞与后续
缺生产 MQTT 账号/ACL、控制箱、Sub-1G 门锁、4G 智慧插座、DeviceID、subID 和现场配线/负载,未执行真实 ACK、断电保护、开锁、订单联动和异常恢复矩阵。M06 保持 `PARTIAL/BLOCKED_EXTERNAL`,游标旁路进入 M07-A 双余额账本。