Why Your SoC Increases Unexpectedly During the Night

Checking your solar monitoring app at midnight and finding that your battery’s State of Charge (SoC) has risen from 45% to 52% can be disorienting. Because your solar panels cannot produce energy in the dark, an overnight percentage increase appears to defy the laws of physics. However, this shift is almost always caused by electrochemical voltage relaxation, an algorithmic recalibration by the Battery Management System (BMS), stealth grid charging, or cross-pack balancing in a multi-battery bank.

Quick Answer

An overnight SoC increase is usually an algorithmic recalculation rather than free energy. When evening household loads taper off, removing voltage sag, resting cell voltage rebounds. Inverters using voltage-based estimations misinterpret this voltage recovery as added capacity. Alternatively, scheduled grid-maintenance charging or cross-battery rebalancing in multi-pack systems can physically transfer energy overnight.


1. Voltage Relaxation (The Resting “Rebound” Effect)

The most common reason for a nocturnal SoC jump is the removal of heavy electrical loads. During the late afternoon and early evening, household energy demand is typically high due to cooking, air conditioning, and electronics.

When high amperage is drawn from a battery bank, internal cell resistance and wiring impedance cause terminal voltage to pull downward. This is known as voltage sag, explained in detail in The Role of Voltage Sag in SoC Reporting Errors.

Heavy Evening Loads (5kW Draw):
[Chemical Potential: 51.5V] ---> High Current Flow ---> Terminal Voltage Drops to 49.8V
(Inverter estimates capacity: 42% SoC)

Nighttime Idle Loads (200W Draw):
[Chemical Potential: 51.5V] ---> Current Ceases ---> Terminal Voltage Relaxes to 51.4V
(Inverter estimates capacity: 50% SoC)

Around midnight, most household appliances cycle off, dropping the continuous load down to a quiet baseline (often under 200W). With current draw nearly stopped, the electrochemical strain inside the cells relaxes, and the terminal voltage rebounds to its true resting Open-Circuit Voltage (OCV).

If your inverter estimates battery capacity based on terminal voltage—or uses periodic resting voltage to adjust its running calculations—it interprets this post-load voltage rise as freshly acquired energy. The percentage display drifts upward to match the recovered voltage, a dynamic known as SoC “Rubber-Banding”: Why the Percentage Bounces Back Up.


2. Stealth Grid Maintenance & Anti-Freeze Logic

If your battery percentage rises at night, the battery may actually be charging—just not from solar. Modern hybrid inverters feature background operating rules designed to protect the battery, maintain grid synchronization, or support emergency backup reserves:

  • Low-SoC Preservation (Grid Trickle): If the battery drops to its minimum reserve threshold (for example, 15% or 20%), the inverter may pull a small 100W–500W maintenance charge from the utility grid to prevent the cells from settling into an over-discharged state.
  • Internal Battery Heaters: In cold garages or outdoor installations, temperatures drop overnight. If cell temperatures approach freezing, the BMS may activate internal heating pads. To protect the pack, many systems pull utility power to run the heaters, often putting a fractional surface charge on the cells in the process.
  • Unintentional Time-of-Use (TOU) Windows: If an off-peak grid-charging window was previously configured in the inverter software, the unit may silently initiate a scheduled grid top-up when electricity rates drop.

When an app reports charging without solar present, reviewing utility meter data or checking for configuration mismatches outlined in “Ghost” Charging: Why Your App Shows Charging with No Solar Input can help confirm whether utility grid energy entered the battery.


3. Cross-Pack Equalization in Multi-Battery Strings

If your energy storage system consists of multiple batteries wired in parallel, charge can physically migrate from one battery to another during the night.

Battery A (Warmer / Closer to Busbar): Discharges rapidly in evening -> Drops to 35% SoC
Battery B (Higher Internal Resistance): Discharges slowly in evening  -> Sits at 50% SoC

Overnight Idle Period:
Battery B slowly charges Battery A through the common DC busbars until voltages equalize.
Result: Battery A's reported percentage climbs from 35% to 42%.

During heavy daytime and evening discharges, slight differences in cable lengths, terminal torque, or cell internal resistance mean that one battery in a stack often supplies more current than its neighbor. When the house enters low overnight standby, the discharge rate drops to a trickle.

Because the batteries share a common DC bus, the battery with the higher remaining voltage slowly discharges into the lower-voltage battery until their resting states reach parity. For multi-unit configurations, monitor individual pack telemetry as detailed in SoC Sync Issues in Multi-Battery Systems.


4. BMS Drift Corrections During Low-Current “Dead Bands”

Most advanced lithium storage units do not rely on raw voltage alone; they track the physical flow of electrons using an internal current shunt (coulomb counting). However, coulomb counting slowly accumulates mathematical errors during continuous cycling.

To fix these errors, many BMS algorithms run background checks. When the BMS detects that current flow has remained near zero (under 0.5A to 1.0A) for a continuous period—typically 30 to 60 minutes in the early morning—it assumes the battery has reached chemical equilibrium. The BMS takes this opportunity to read the resting OCV and cross-references it with an internal chemical lookup table.

If the coulomb counter had drifted downward during heavy daytime cycling, the BMS abruptly corrects itself upward to align with the measured resting voltage. This corrective jump exposes the underlying tracking errors described in Understanding SoC Drift: Why Your Battery “Loses Its Place”.


Diagnostic Checklist: Finding the Cause

To determine which mechanism is driving your overnight percentage increase, run through the following checks:

  1. Check Grid Import Logs: Open your monitoring portal and inspect the grid power graph between the hours the jump occurred. If grid import increased at the exact moment the battery percentage ticked up, utility power was used to recharge the system under an emergency reserve, anti-freeze, or TOU rule.
  2. Review Individual Pack Telemetry: If your system has multiple battery modules, log into the local BMS interface (or check per-battery LED bars). If one pack’s SoC dropped while another rose, cross-pack balancing is equalizing uneven string resistance.
  3. Compare Load Timing with the Jump: If the SoC jump happens consistently 30 to 90 minutes after your main heat pump, water heater, or oven turns off for the night, the increase is cosmetic voltage relaxation.
  4. Inspect Temperature Profiles: Check ambient and internal cell temperatures. Lithium cell voltage characteristics change as the pack cools down overnight. Review The Impact of Temperature on SoC Accuracy to determine if thermal swings are skewing the algorithm’s capacity calculations.