Seed the aircon write-path rig
Four controls and the unit's own answer beside them. Two catches, both on: the flow is seeded stopped and the node's commands setting is off. The initial values are read off the unit when the script runs, so starting the flow asks for what it was already doing rather than commanding it to something else.
This commit is contained in:
+11
-2
@@ -73,8 +73,9 @@ external interfaces. See `docs/architecture/structure.canvas` → *Backend – M
|
||||
`connector-skeleton/`. The registry follows later
|
||||
- [x] First real connectors written against that contract from outside the engine:
|
||||
WF-RAC aircon, calendar, UniFi presence and Art-Net, in `connectors/`.
|
||||
Built by `make connectors` and installed into the image. Three of the four
|
||||
read only; the aircon package still cannot produce a command
|
||||
Built by `make connectors` and installed into the image. Calendar and
|
||||
UniFi read only; Art-Net and the aircon write, each behind a setting that
|
||||
starts off
|
||||
- [x] The other direction of the contract: `ConnectorNode.write` receives the
|
||||
node's input ports, so a connector can command something rather than only
|
||||
read it. Additive, so `CONTRACT_VERSION` stays at 1 — before this the base
|
||||
@@ -82,6 +83,14 @@ external interfaces. See `docs/architecture/structure.canvas` → *Backend – M
|
||||
packet builder unreachable. Art-Net now sends: a per-port `channels` map
|
||||
puts each input on its own DMX channel, `transmit` still gates the socket,
|
||||
and one node owns one universe because a frame carries all 512 levels
|
||||
- [x] The aircon writes too: power, mode, setpoint and fan speed, behind a
|
||||
`commands` setting that starts off. A WF-RAC command carries the whole
|
||||
state, so the node reads the unit and applies the change on top — the
|
||||
encoder is a port of the same reference the decoder came from, and it
|
||||
round-trips the unit's own live reading field for field. No operatorId
|
||||
registration turned out to be needed: the unit this instance talks to
|
||||
accepts an anonymous command, which is what the reference Node-RED node
|
||||
does as well
|
||||
- [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