Open-source home battery arbitrage

Run your AC on power
you bought at 3 a.m.

PeakShift charges a plug-in battery when electricity is cheap and runs your air conditioner off it when it's expensive. No electrician, no grid export, no interconnection. Bring your own battery and your own rate.

# clone, install, point it at your battery and your rate
git clone https://github.com/steps-re/peakshift
pip install -e peakshift
peakshift test-drive   # verify the wiring
peakshift run          # saving money on every peak

The trick

One decision, made every 30 seconds: charge, or coast.

Almost every LiFePO4 power station has a passthrough mode. Your AC plugs into the battery, the battery plugs into the wall. PeakShift only decides when the battery's input gets power. The battery's own hardware does the rest, switching over in about 10 milliseconds.

01 / NIGHT

Charge when it's cheap

The battery fills overnight, when your rate or the live market price is at its lowest.

02 / PEAK

Coast through the crunch

During the expensive evening hours the AC runs off the battery instead of the grid.

03 / SAFE

Never at your comfort's expense

Low battery, any error, or a lost connection all fail toward grid power. The AC never dies to save a dollar.

What you'd pay without a battery Shifted to cheap hours by PeakShift

Works with your battery

Brand-agnostic on purpose.

Drive a battery through its own API, through Home Assistant, or the universal way: a $25 smart plug on the battery's input, which works with any passthrough unit at all.

Shelly smart plug Tasmota plug Kasa plug Home Assistant bridge any MQTT device EcoFlow API Bluetti (via HA) Anker Solix (via HA) Marstek Venus Victron Modbus

Solid chips are verified. Dashed chips are written to the maker's protocol and waiting on a hardware test. The full recipe per brand is in docs/batteries.md.

No battery? Central AC works too. PeakShift can pre-cool a central-AC home with a Nest or ecobee, storing cold in the building instead of electricity in a battery. No hardware, and it works nationwide, including everywhere window units don't reach.

Works where you live

It already speaks your utility's prices.

Set fixed peak hours by hand, look up your US time-of-use tariff by ZIP, or track live market prices and let PeakShift pick the priciest hours of each day on its own.

SourceRegionStatus
NREL URDB tariffsUnited Statesverified
Octopus AgileUnited Kingdomverified
aWATTarGermany, Austriaverified
EleringEstonia, Latvia, Lithuania, Finlandverified
spot-hinta.fiFinlandverified
ComEd hourlyIllinois, USverified
REE PVPCSpainverified
ENTSO-E~25 EU bidding zonestoken
TibberNorway, Sweden, Germany, Netherlandstoken
AmberAustraliatoken

Seven feeds verified against their live APIs. Three more are built and waiting on an account token.

What it's worth

Best in the markets with the biggest spreads.

~$1,000/yrA 5 kWh battery on UK Octopus Agile plus flexibility payments (estimate)
$600–850/yrAustralia on Amber wholesale pricing, spikes included (estimate)
$150–280/yrA 2 kWh battery on a typical US time-of-use tariff (estimate)
3,000+LiFePO4 cycles, so daily cycling still lasts 8+ summers

Estimates from published tariffs and program data. Your number depends on your rate, climate, and battery. PeakShift keeps a ledger of what it actually shifted so you can check your own.

In a funded program, the value stacks. When a utility or a data center funds the hardware, a household gets the battery for free, keeps the bill savings above, earns a demand-response payment, and gets backup power. The free asset and the lower bill are the real offer, not a token check.

And it scales

One home saves money. A million becomes a gigawatt.

The same no-export load shifting, run across a neighborhood, is a virtual power plant that shaves the local grid's evening peak without a single interconnection study. And it can aim at the few intervals a year that set capacity charges (ERCOT 4CP, PJM PLC), the highest-value hours on the grid. It's a way for a utility, an aggregator, or a data center that needs power fast to turn the community around it into an ally and lower its own capacity bill. PeakShift ships the capacity targeting and fleet economics tools for exactly that.

1 GWPeak relief from a million homes, the output of a nuclear reactor, built one window AC at a time
$130M+/yrStraight back into those households as lower electric bills
0Interconnection studies, because no power ever flows to the grid
MonthsTo deploy, at the speed of shipping boxes, not building plants

Figures from PeakShift's own fleet model at 2 kWh per home. Estimates, and they scale linearly: a data center's neighborhood of 100,000 homes is 100 MW.