# Load balancing behaviour

How Edge site controllers share the main connection between charge points. Per-second limits, the 6 A minimum and 8 A start threshold, failsafe on lost communication, site limit, solar modes and 1P/3P switching, with the configuration keys.

Canonical: https://edgetech.eu/docs/load-balancing  
Updated: 2026-09-22

This describes what the EVSE-SC-01 (clamps) and EVSE-SC-02 (P1) do, and what a third-party controller should do to behave the same way.

## Inputs

| Input | SC-01 | SC-02 |
|---|---|---|
| Site current per phase | 3 CT clamps, magnitude only | P1 telegram, import and export per phase, 1 s |
| Site limit | `maxsitecurrent` (A per phase), default 255 = uncapped | same |
| Per-socket max | `maxcurrent`, for example `3x25` | same |
| Per-socket phases | `settings@<socket>` bit 0 (0 = 1-phase, 1 = 3-phase) | same |
| Minimum start current | `minstartc`, default 8 A | same |
| Minimum charge current | `minc`, default 6 A | same |
| Solar mode | not reliable (no direction) | `solar`, `charge_solar` |

## The loop

1. Every second, read the site current per phase.
2. Headroom per phase = site limit − site current + current already going to charge points.
3. Distribute headroom over the sockets that are in state B (waiting) or C (charging), per phase, honouring each socket's own maximum and its cable rating.
4. A socket only starts when at least `minstartc` (8 A) is available. A charging socket is never given less than `minc` (6 A). If the headroom cannot serve all sockets at 6 A, the most recently connected sockets wait at 0 A.
5. Write RemoteMaxCurrent (register 0x0201) to every socket. Budget: 50 ms per socket, so 4 sockets take 200 ms of a 1 s cycle; 10 sockets is the ceiling for the SC-02.

## Failsafe

- A charge controller that does not receive a write for 2 s reverts to its static limit (16 A or 32 A by jumper). Site controllers therefore write every second even when nothing changes.
- The site controller reports `mb_quality`, the percentage of Modbus transactions that succeeded, on every status message. Below about 90 % something is wrong with the bus.
- A site controller that loses WiFi keeps balancing locally. The platform only configures; it is not in the control loop.

## Solar modes (SC-02)

| `solar` | `charge_solar` | Behaviour |
|---|---|---|
| 0 | — | Off. Charge at the site limit. |
| 1 | 0 | Solar assist. Use export first, top up from the grid so the car always gets ≥ 6 A. |
| 1 | 1 | Solar only. Charge only from export; below 6 A (1-phase) or 3×6 A (3-phase) of surplus the session pauses. |

A socket configured for 3-phase can be switched to 1-phase to widen the solar-only window. The session is stopped, the phase setting changed, and after a 10 s pause restarted. Switching phases mid-session without the pause confuses most vehicles.

## Whole-site 1-phase

Sites with a small connection can force every socket to 1-phase with the `p1charge` setting, and back with `p3charge`. The charge controller's PHASES bit is written accordingly.

## Behaviour a third-party controller must copy

If you drive Edge charge controllers from your own controller:

- write register 0x0201 at least once per second;
- never advertise between 1 and 5 A: use 0 or ≥ 6 A;
- respect the cable rating in register 0x0102 low byte;
- stop, wait 10 s, then restart when changing the number of phases;
- treat error bits 1, 2 and 4 as "limit 0 and alert".
