aircon rig: both units, both firmwares, and the catches that blocked control
The panel now carries one wfrac node per unit, polling as well as commanding, so a command can be checked against the unit's own answer rather than assumed. Three things kept a panel from driving the old unit. The seeded commands catch is off by default, which is the usual reason a fresh panel looks dead; AIRCON_COMMANDS=1 arms it at seed time. A unit that is off names no mode, and a flow redelivers every bound port on each run, so that rejected value blocked every command including power-on. And the old firmware serves one connection at a time.
This commit is contained in:
+12
@@ -101,6 +101,18 @@ external interfaces. See `docs/architecture/structure.canvas` → *Backend – M
|
||||
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] The aircon rig covers both units and both firmware generations: one
|
||||
`wfrac` node each in `aircon_control`, polling as well as commanding, so
|
||||
the panel shows what a unit answers next to what was asked of it. Three
|
||||
things had to be fixed before a panel could actually drive one. The
|
||||
seeded `commands` catch is off, which is the usual reason a fresh panel
|
||||
looks dead — `AIRCON_COMMANDS=1` arms it at seed time. A unit that is off
|
||||
names no mode and reports `unknown`, and a flow redelivers every bound
|
||||
port on each run, so rejecting it made an idle unit impossible to start;
|
||||
it now travels through untouched. And the old firmware serves one
|
||||
connection at a time, answering an overlapping request with 501 — the
|
||||
connector serialises per adapter and retries a busy one, which it must,
|
||||
because other clients on the network are outside that lock
|
||||
- [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
|
||||
|
||||
Reference in New Issue
Block a user