Charging rules (priority order)
Each pipeline is evaluated top to bottom; the first matching rule wins.
Full rate = 600 W. Fan gate = 240 W (kept quiet unless overridden).
Charge setpoint — how many watts
Sets the desired Anker DC input the B2500 is steered toward.
- S1 Manual DC max charge on → full rate.
- S2 Carry-over active → full rate.
- S11 Steer to safety → full rate. (B2500 >20% or solar array ≥400 W) and either (main >98% and expansion <20%) or main <20%.
- S3 Anker main nearly empty (<10%) → full rate, pulling the B2500 reserve.
- S4 B2500 low (<25%) → solar pass-through only: min(load, solar), never draining its battery.
- S5 B2500 surplus midday (12–19h, SoC above the main-scaled threshold) → full rate.
- S9 Load past the fan gate (>240 W) → match the load (fans already on, quiet cap dropped).
- S10 Midday force-charge (12–19h, solar >300 W, B2500 >50%, expansion <20%) → B2500 max output.
- S8 Expansion critically low (<20%) → all available solar (never below a slow charge) up to the fan gate.
- S6 Expansion below band (<80%) → load + 20 W slow charge, under the fan gate.
- S7 Expansion at/above band → match the load (neutral hold).
Feed switch — B2500 → Anker on/off
Gates the Solarpanel1 Shelly; only cut when we truly want zero charge.
- F1 Manual DC max charge on → feed ON.
- F2 Carry-over active → feed ON.
- F3 B2500 bridge reading stale → hold last state; after 10 min default ON.
- F0 Missing main/expansion SoC → hold last state.
- F7 Steer to safety (same trigger as S11) → feed ON.
- F4 Hand-off seam (main >95%, expansion <5%): expansion falling or B2500 >20% → ON; else OFF (do not strand).
- F5 Expansion full (≥80%), no B2500 surplus, Anker not empty → feed OFF.
- F6 Otherwise → feed ON (load-follow).