Skip to content

Self-supply

Use your own energy as much as possible: store surplus PV and discharge it to cover the load, keeping grid exchange close to zero.

Self-supply uses as much of your own energy on site as possible. Instead of optimizing for price, it keeps the net exchange with the grid close to zero: surplus PV is stored in the battery and discharged again to cover consumption.

How it works

Every control cycle the algorithm:

  • Balances against the grid. It measures the power at the grid connection point and steers the battery to bring that net exchange towards zero, charging when there is export (PV surplus), discharging when there is import (consumption the PV cannot cover).
  • Uses a deadband. Small grid fluctuations within a configurable deadband are ignored, so the battery does not chase every minor change.
  • Aims at zero, unless a target is set. A grid power target moves the setpoint that is balanced towards, for sites where an external device curtails production to prevent injection.
  • Runs PV at full power, except when the injection price is negative: then controllable PV inverters are curtailed so that production does not exceed what is consumed and stored locally, avoiding paying to export.
  • Also manages EV charging as part of the same decision. Other controllable loads are not actively managed in this mode.
flowchart TD
    M["Measure grid power at the connection point"] --> Q{"Net exchange"}
    Q -->|"injection"| C["Battery charges with the PV surplus"]
    Q -->|"import"| D["Battery discharges to cover the shortfall"]
    Q -->|"inside the dead zone"| I["Battery stays idle"]
Self-supply steers on the net exchange: injection charges the battery, import discharges it, and inside the dead zone nothing happens.

Unlike cost optimization, self-supply does not build a forward price-based plan. It balances the installation in real time against the measured grid power.

Example: PV produces 3 kW and the site consumes 1 kW. The 2 kW surplus goes into the battery, and the grid power stays at 0 kW. If the site consumes 4 kW while PV produces 1 kW, the battery discharges 3 kW to cover the shortfall.

When a peak shaving reserve is configured, self-supply keeps that part of the battery in reserve to hold the grid import under its limit, instead of spending it to balance to zero.

On-site wind generation counts toward self-supply just like PV: its measured output helps cover consumption and charge the battery. The algorithm does not curtail the turbine, it balances around the wind it measures.

Relationship to an external signal

Like cost optimization, self-supply is a local strategy. When an external signal partner is actively steering the battery, that partner takes precedence; self-supply runs when no external signal is active.

See also

  • Cost optimization: the price-based strategy, with a forward plan.
  • Battery schedule: the self-consumption options you can choose when planning quarter-hours manually.