Agents In Use
What’s new todayLast update
1005 additions

Claude to build a home-energy controller

Simon Monk used Claude Code across more than ninety development sessions to build a controller for his Sydney home's solar panels, Powerwall battery and electric vehicle. The system began on a Mac Studio and moved to a Raspberry Pi connected to Home Assistant.

FROM THE SOURCE

Original prompt

Shared by the source author. See source notes for context.

why is it doing this when as a human I'd do that?

What happened

A working rules-based home controller; Monk reports demand charges falling from $88 to $6.

Reported by Simon Monk

How the agent did it

  1. Build and inspect an energy-control system with Claude Code.
  2. Move unreliable LLM actuation into deterministic Python rules.
  3. Compare experimental control in shadow mode and investigate missing data.

Where a person stepped in

Monk questioned observed decisions and investigated a flawed shadow-model comparison.

Simon Monk used Claude Code across more than ninety development sessions to build a controller for his Sydney home's solar panels, Powerwall battery and electric vehicle. The system began on a Mac Studio and moved to a Raspberry Pi connected to Home Assistant.

A crucial design change came from observed failures. The early language-model controller had about ten rules but invented prices and made inconsistent decisions. Monk moved the actual control into deterministic Python rules, running every thirty minutes. Claude Code remained the tool used to build and debug the system; it should not be confused with an LLM autonomously choosing the current charging actions.

The project also gained a forecast that calibrated hourly bias using previous observations. A more sophisticated optimization model ran in shadow mode, allowing comparison without handing it control. That comparison later proved unreliable: two Home Assistant configuration instances had diverged, leaving the shadow model without battery state-of-charge data for seven weeks.

Monk reports that monthly demand charges fell from $88 to $6, but that is his account of this installation, not independently verified savings or a result transferable to every tariff. The useful lesson is operational: check decisions against observed data, keep experimental control in shadow mode, and investigate configuration consistency before trusting a comparison.

Prompt
Original prompt

Source: www.linkedin.com · Simon Monk

Frequently asked questions

Did the LLM retain control of charging?

No. Unreliable LLM decisions led Monk to deterministic Python control.

Why was the shadow comparison invalid?

Divergent Home Assistant configurations hid battery state-of-charge data for seven weeks.

Are the bill savings independently verified?

No. The $88-to-$6 reduction is the author's reported result for his installation.

More details

About this account

Claude Code built and debugged the controller; deterministic Python performed recurring control.

Firsthand source opened and read. Prompt is a verbatim excerpt of the published original instruction. The excerpt is the published diagnostic question, not the full private controller-build instruction.

Credit: Simon Monk

Source published 20 Aug 2026

Source checked 14 Oct 2026

Tools and topics

Claude Code · Home Assistant · Python · Powerwall · Raspberry Pi

Home energy · Battery control · Demand charges

Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.