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:
glenn schrooyen
2026-08-24 04:20:07 +02:00
co-authored by Claude Opus 5
parent 1b85eb41ad
commit 5184a2cfc2
6 changed files with 71 additions and 3 deletions
+11
View File
@@ -1,5 +1,16 @@
# Changelog
## 0.2.1
`target_grid_w` (default -10 W): what the meter should rest at. The deadband
holds any resting point inside it indefinitely, and the meter bills import and
export on separate registers, so resting at +14 W import costs 0.34 kWh/day
with the loop behaving perfectly. Biasing the target slightly negative moves
that residue onto the export register. Configurable in the Configuration tab;
see DOCS.md for the trade-off table.
Behaviour is unchanged at `target_grid_w: 0`.
## 0.2.0
Precedence between strategies is now a first-class object instead of an if/else