Skip to content

Commit 6c0eb73

Browse files
committed
Document slow-powermeter sensitivity for EFFICIENCY_SATURATION_THRESHOLD
The time-weighted saturation EMA accumulates faster per sample when the powermeter update interval is large (e.g. >10 s), which can cause unnecessary forced swaps. Note the workaround (raise the threshold) in both README.md and config.ini.example. https://claude.ai/code/session_01AaF4EqZPib3pmM44w8DJXD
1 parent d4b5600 commit 6c0eb73

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,10 @@ mid-interval failures still trigger a swap.
254254
healthy deprioritized battery instead of waiting for the next timed rotation.
255255
During a probe, the probe timeout is the main "never ramps" control; this
256256
threshold still matters after the probe succeeds and for already-active
257-
batteries. Set to 0 to disable.
257+
batteries. Set to 0 to disable. The saturation EMA is time-weighted, so
258+
batteries with slower powermeters (>10 s update interval) accumulate saturation
259+
faster per sample — if you see unnecessary swaps with a slow powermeter,
260+
raise this value (e.g. to 0.8).
258261
- **SATURATION_DETECTION** (default true) — Track how well each battery follows
259262
its target. When a battery cannot deliver (full or empty), its share is
260263
reduced and redistributed to others.

config.ini.example

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,9 @@ THROTTLE_INTERVAL = 0
102102
## Force-rotate when a battery can't follow its target (e.g. externally limited
103103
## to 0 W or fully discharged). After a probe succeeds, this still swaps out an
104104
## active battery within a few seconds instead of waiting for the full rotation
105-
## interval. 0 disables.
105+
## interval. 0 disables. The saturation EMA is time-weighted, so slow
106+
## powermeters (>10 s updates) accumulate saturation faster per sample; raise
107+
## this value (e.g. 0.8) if you see unnecessary swaps with a slow meter.
106108
#EFFICIENCY_SATURATION_THRESHOLD = 0.4
107109
## How quickly a swapped-out battery becomes eligible again. Applied each cycle
108110
## while the battery has no target. 1.0 = never recover, lower = faster recovery.

0 commit comments

Comments
 (0)