diff --git a/ROADMAP.md b/ROADMAP.md index 984cd55..5e0b06d 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -93,6 +93,14 @@ external interfaces. See `docs/architecture/structure.canvas` → *Backend – M does as well. Exercised against the real unit — fan speed, mode, setpoint to the half degree, power off and back on — each checked against the unit's own answer, and it was left as it was found +- [x] The aircon reaches both firmware generations: adapters shipped from 2025 + report `firmType` `WF-RAC-HTTPS` and wrap port 51443 in TLS with a + self-signed certificate naming their MAC, where older ones answer plain + HTTP there and drop the handshake. Nothing announces which before the + first exchange, so the node tries TLS, falls back, and remembers — a unit + that gets updated costs one retry rather than a reconfiguration. The + payload is identical across both, so only the transport moved. Verified + against one unit of each generation, read and command - [x] Node lifecycle as a protocol (`start`/`stop`/`report_health` on `Node`), replacing the controller's per-type isinstance chains — the same hooks a connector implements, validated on the built-in nodes first