Skip to main content
Version: 2026.11

Battery basics

An unrestricted battery, which is the only device that changes which side of the diagram it sits on. Charging it is a sink like any other; discharging it is a source whose energy was paid for in the past, and a snapshot engine has to price that somehow.

What this case shows​

  • A charging battery is a sink and takes the same raw mix as any other.
  • A discharging battery is a source priced at its flat levelized cost of storage.
  • Its marginal price is zero — the mix it charged on happened earlier, where a snapshot cannot see it.
  • An adapter reading exactly 0 W belongs to neither flow group.

Each snapshot below is one set of readings on this wiring, drawn as a flow chart — how to read it.

Charging​

Battery basics · snapshot 01

bat1 charges from the mix, taking the same proportions as the metered load beside it.

SOURCESCHANNELSSINKS
ReadingWOf grossShareMade of
Gross power1400 W1grid 800 W · pv1 600 W
Grid import800 W4/7grid 800 W
Grid export0 W0nothing exported
PV production600 W3/7pv1 600 W
Charging power600 W3/7bat1 600 W
Discharging power0 W0no battery discharging
Standby power0 W0no standby draw
Self-consumption800 W4/7grid 457.1 W · pv1 342.9 W
Metering imbalanceok0 W0readings reconcile exactly
Home base load300 W3/14unmetered remainder of consumption
Ribbon widths are watts in every view. Hover, focus or tap a ribbon to see the sensor behind it.

Discharging​

Battery basics · snapshot 02

The sun is down and bat1 has become a source, supplying two thirds of the house.

SOURCESCHANNELSSINKS
ReadingWOf grossShareMade of
Gross power600 W1grid 200 W · bat1 400 W
Grid import200 W1/3grid 200 W
Grid export0 W0nothing exported
PV production0 W0pv1 0 W
Charging power0 W0no battery charging
Discharging power400 W2/3bat1 400 W
Standby power0 W0no standby draw
Self-consumption600 W1grid 200 W · bat1 400 W
Metering imbalanceok0 W0readings reconcile exactly
Home base load100 W1/6unmetered remainder of consumption
Idle: pv1 · 0 WRibbon widths are watts in every view. Hover, focus or tap a ribbon to see the sensor behind it.

Idle​

Battery basics · snapshot 03

bat1 sits at exactly 0 W: neither a source nor a sink, and absent from both groups.

SOURCESCHANNELSSINKS
ReadingWOf grossShareMade of
Gross power1500 W1grid 900 W · pv1 600 W
Grid import900 W3/5grid 900 W
Grid export0 W0nothing exported
PV production600 W2/5pv1 600 W
Charging power0 W0no battery charging
Discharging power0 W0no battery discharging
Standby power0 W0no standby draw
Self-consumption1500 W1grid 900 W · pv1 600 W
Metering imbalanceok0 W0readings reconcile exactly
Home base load1000 W2/3unmetered remainder of consumption
Idle: bat1 · 0 WRibbon widths are watts in every view. Hover, focus or tap a ribbon to see the sensor behind it.

Why this case exists​

A battery is the only device that changes which side of the diagram it is on. Everything else has a fixed role — a PV system produces, a load consumes — and the engine can lean on that. A battery is a sink on one snapshot and a source on the next, and both have to work without special-casing it.

Charging is the easy half: it is a sink, and an unrestricted one, so it takes the same raw mix as the metered load beside it. Discharging is where the snapshot model runs into its own limits. The energy coming out of bat1 was paid for at some earlier time, at some earlier mix, and an engine that only knows about now cannot see any of that. So it does the only defensible thing: prices the discharge at the battery's flat levelized cost of storage, and reports its marginal price as zero, because at this instant nothing is being bought to produce it.

The idle snapshot is a smaller point but a real one. bat1 reads exactly 0 W, which makes it neither a source nor a sink. It appears in neither flow group rather than being counted as a zero-watt member of both.