Rest the meter just below zero, not at zero
The deadband is a one-way ratchet: any resting point inside it holds indefinitely. Import and export are separate registers on the meter, so a loop resting at +14 W bills 0.34 kWh/day while behaving perfectly. target_grid_w (default -10 W) moves that residue onto the export register. Worst billed rest point drops from 15 W to under 5 W. Behaviour is unchanged at target_grid_w: 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
1b85eb41ad
commit
5184a2cfc2
@@ -56,6 +56,7 @@ phase having charged nothing.
|
||||
| `gain` | 0.6 | Correction per cycle. **At the limit — do not raise** |
|
||||
| `slew_w` | 1000 | Maximum change per cycle |
|
||||
| `deadband_w` | 15 | Ignore errors smaller than this |
|
||||
| `target_grid_w` | -10 | What the meter should rest at. Negative = a slight export |
|
||||
| `step_w` | 10 | Quantisation |
|
||||
| `saturation_w` | 500 | Divergence that counts as "the inverter is at a limit" |
|
||||
| `saturation_cycles` | 3 | How many consecutive cycles before freezing. **Do not set to 1** |
|
||||
@@ -63,6 +64,30 @@ phase having charged nothing.
|
||||
| `stale_input_s` | 15 | How long inputs may be missing before commanding 0 W |
|
||||
| `auto_start` | false | Start controlling on boot (only after commissioning) |
|
||||
|
||||
#### Why `target_grid_w` is not zero
|
||||
|
||||
The deadband is a one-way ratchet: any resting point inside it holds until
|
||||
something disturbs it. Import and export are **separate registers on the
|
||||
meter**, so a rest point of +14 W is billed for every second it holds and no
|
||||
amount of export cancels it - 14 W all day is 0.34 kWh.
|
||||
|
||||
Biasing the target below zero moves that residue into the export register,
|
||||
which is not billed. The resting band becomes `target ± deadband`, so:
|
||||
|
||||
| `target_grid_w` | resting band | worst billed leak | export given away |
|
||||
|---|---|---|---|
|
||||
| 0 | -15 … +15 W | ~15 W (0.35 kWh/day) | none |
|
||||
| **-10** | -25 … +5 W | ~5 W (0.12 kWh/day) | ~10 W |
|
||||
| -15 | -30 … 0 W | none | ~15 W (0.36 kWh/day) |
|
||||
|
||||
Set it to `-deadband_w` if injection is worth nothing to you and you would
|
||||
rather give the energy away than buy it back. Set it to `0` if you are paid
|
||||
properly for export, or if you are debugging and want the loop centred.
|
||||
|
||||
⚠️ This is a **billing** knob, not a speed knob. If import is arriving in
|
||||
bursts rather than as a trickle, the cause is tracking lag, and this will not
|
||||
help - see "Why the tuning is what it is".
|
||||
|
||||
### Maintenance
|
||||
|
||||
| option | default | meaning |
|
||||
|
||||
Reference in New Issue
Block a user