Open-source home battery arbitrage
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
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.
The battery fills overnight, when your rate or the live market price is at its lowest.
During the expensive evening hours the AC runs off the battery instead of the grid.
Low battery, any error, or a lost connection all fail toward grid power. The AC never dies to save a dollar.
Works with your battery
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.
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
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.
| Source | Region | Status |
|---|---|---|
| NREL URDB tariffs | United States | verified |
| Octopus Agile | United Kingdom | verified |
| aWATTar | Germany, Austria | verified |
| Elering | Estonia, Latvia, Lithuania, Finland | verified |
| spot-hinta.fi | Finland | verified |
| ComEd hourly | Illinois, US | verified |
| REE PVPC | Spain | verified |
| ENTSO-E | ~25 EU bidding zones | token |
| Tibber | Norway, Sweden, Germany, Netherlands | token |
| Amber | Australia | token |
Seven feeds verified against their live APIs. Three more are built and waiting on an account token.
What it's worth
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.
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.