SMA-2 round 2: census keeps ACTUATOR_WRITE_KEYS, setters, NaN/inf port refused, tests
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude
parent
e56eeef8f0
commit
0b20f53cf8
@@ -25,11 +25,16 @@ from the driver yet either: with only GoodWe they would change nothing.
|
||||
**The seam is not TCP-shaped.** The census asks each entry's driver for its
|
||||
actuator id: the setpoint entity for GoodWe, `host:port:unit_id` for a driver
|
||||
reached over a socket, so two units behind one gateway are two actuators and
|
||||
one unit named twice is the SAFETY-28 refusal. The driver binds its Home
|
||||
one unit named twice is the SAFETY-28 refusal. The census still counts every
|
||||
`setpoint_entity` key as before and adds the driver's own actuator to it (parity
|
||||
with 23ff9d0 on 349 option shapes is a test). The driver binds its Home
|
||||
Assistant on first use by the Controller, so a unit added later is wired too.
|
||||
|
||||
**Schema.** `setpoint_entity` is optional per entry (rule 9(d) still requires
|
||||
it for GoodWe, with the same sentence), beside `driver` (only `goodwe_esphome`),
|
||||
**Schema.** The brief says "`setpoint_entity` becomes optional" (SMA-2, "Schema per
|
||||
inverter entry"; SMA-9 section 1.1): it is the GoodWe driver's own key, so a
|
||||
driver reached by host and port has none. `setpoint_entity` is optional per entry
|
||||
in config.yaml; rule 9(d) still refuses a GoodWe entry without it, with the same
|
||||
sentence (`test_sma2_driver.py` part 6), beside `driver` (only `goodwe_esphome`),
|
||||
`host`, `port`, `unit_id`, `maintenance`. The last four are checked for shape
|
||||
and not read. The Supervisor shape probe was re-run (section K).
|
||||
|
||||
@@ -37,3 +42,7 @@ and not read. The Supervisor shape probe was re-run (section K).
|
||||
call are byte-identical at N=1 and N=2; the TEL-07 announce diff is 0/0/0; a
|
||||
fake driver beside a GoodWe unit allocates, grades, drops and publishes per
|
||||
unit; a call site that goes round the seam is caught.
|
||||
|
||||
**Per-entry keys the page does not draw** are listed in `uilayout.ROSTER_HIDDEN`;
|
||||
test_uilayout and test_sma2_driver fail for a key that is neither a card field
|
||||
nor hidden, and a save through the page keeps them (a test).
|
||||
|
||||
Reference in New Issue
Block a user