Open-source home energy controller

Solar first.
Peak under control.

energie steers your home battery and EV chargers from one small program on your own hardware. Surplus sun goes where you want it, and your quarter-hour peak stays where you set it.

The energie dashboard: live power flows between solar panels, grid, battery, house and an electric van, with a chart of the last six hours.
The same dashboard on a phone.

A simulated house at mid-morning. The dashboard is in Dutch.

18 MBof memory in use
0.35 %of one CPU core
1 fileno database or runtime
900+automated tests

Every watt gets a job

Each control loop pushes the grid meter toward zero. You choose the order, and energie works out the rest once a second.

Capacity tariff

See the peak coming

energie projects the running quarter-hour and holds it under your monthly target, trimming the chargers before the bill notices. If that isn't enough, it sheds loads. A separate guard watches the current on each phase to protect your main breaker.

Capacity tariff view: this quarter-hour's average against the target, with the remaining budget.
Dynamic prices

Buy when it's cheap

Day-ahead quarter-hour prices decide when the grid may charge the battery or the cars. When injection prices go negative, energie curtails your solar export so you don't pay to give power away.

Prices view: colour-coded quarter-hour prices for today and tomorrow.
EV charging

Two cars, one roof

Set which of the two cars and the battery takes the sun first, and how much the grid or battery may help when clouds roll in. A passing cloud doesn't have to end a charging session.

EV charging view: priority controls and live status for both cars and chargers.

Built to be trusted with real equipment

Software that writes to inverters should be careful by default.

Read-only until you say so

A device is never written to unless your configuration explicitly allows it.

Rehearse first

Dry-run mode reads your real devices and logs every write it would make, without sending any.

One kill switch

Stop all writes from the dashboard, the API or MQTT. The stop survives restarts.

Every write is checked

Each command is logged and verified against later readings, and a failed write raises an alarm.

Fails toward safe

Forced battery modes carry a hardware timeout, so the Solis returns to self-use by itself if energie stops.

Login enforced

energie won't start with a dashboard or MQTT broker on the network and no credentials.

Try it in a minute

The simulator runs the real control logic against a model house. Nothing outside the program is touched. This is for Linux on x86-64, and the releases page has builds for ARM, RISC-V, macOS and Windows.

curl -fsSL https://github.com/jeroentrappers/energie/releases/download/v0.1.0/energie-v0.1.0-x86_64-unknown-linux-musl.tar.gz | tar xz
cd energie-v0.1.0-*/
printf 'mode = "simulate"\nstate_dir = "./state"\n[sim]\nspeed = 60.0\n' > sim.toml
./energie --config sim.toml
# open http://127.0.0.1:8080 and watch a day go by at 60x speed

Is it for you?

energie began as the controller for one house in Belgium, and that still shows. Check that your setup fits.

energie controls physical equipment. It doesn't replace breakers, RCDs or the protections in your inverter and chargers. If energie stops, the EV chargers keep their last setting. Start in simulation or dry-run mode, and read the safety notes. It comes with no warranty.

Yours to read, run and change

Free software under the AGPL-3.0. No account with us, no subscription, and nothing phones home. Drivers for new hardware and an English dashboard would be the most welcome contributions.