Ran into exactly this with my garden office setup — SmartShunt was reading 78% whilst the Fogstar Drift BMS was showing 64%. Took me a good few weeks to figure out what was going on.
Short answer: trust neither blindly, but lean on the BMS for lithium chemistry.
The SmartShunt is essentially a coulomb counter — it tracks charge in and out, but it drifts over time if you haven't set the tail current and charged-full detection correctly in VictronConnect. If it doesn't see a proper full charge cycle to reset its 100% anchor point, the error compounds. Mine was set up with the default parameters which are frankly optimised for lead-acid.
The BMS is reading actual cell voltages and calculating SOC from the discharge curve. For LiFePO4 that curve is notoriously flat between about 20–80%, so there's genuine ambiguity there too — but at least it's working from real-time data rather than accumulated counting errors.
What actually helped me:
- Set the SmartShunt's "charged voltage" to match what your BMS considers a full charge
- Tighten the tail current threshold (I dropped mine to 2% of capacity)
- Let it do a full charge cycle to resync
After that mine converged to within 3–4%. They'll never be identical because they're measuring fundamentally different things.
Would be curious whether others have found the Victron parameters that work best with Fogstar packs specifically — the BMS documentation is a bit sparse on what voltage it actually uses as its SOC reference points.