Had exactly this on my static with a Victron SmartSolar 100/30. Drove me absolutely mad for about three weeks before I tracked it down.
The culprit in my case was the tail current setting being too aggressive. Victron defaults it to 2A, but if your battery capacity is large enough, the charger interprets a relatively normal absorption current as "battery full" and kicks into float prematurely. On a 200Ah LiFePO4 (Fogstar Drift cells), 2A tail current was triggering float at roughly 70–75% SoC.
A few things worth checking:
- Tail current % — set it relative to your actual battery capacity (typically 1-2% of C is sensible)
- Absorption voltage — if it's set slightly low, the battery never properly saturates and the MPPT gives up early
- Battery temperature — if you're using a Victron BMV or SmartShunt, check whether temperature compensation is dragging your voltage targets down
- Parasitic loads — anything drawing current during absorption can confuse the controller's tail current calculation
Worth connecting via VictronConnect and watching the live graphs during a charge cycle. The history tab is useful but it doesn't give you the granularity you need to catch this in real time.
Also check whether you've accidentally enabled BatteryLife mode — that algorithm deliberately limits SoC if it thinks your solar yield is insufficient, which catches a lot of people out on partial-shade days.
Anyone running AGM rather than lithium might find the absorption time settings are the bigger issue — fixed time vs voltage-based termination behaves very differently depending on your bank size.
What battery chemistry are you running, and what does your VictronConnect