EV Charging Made Smart: My Quest for the Perfect Home Setup

EV Charging Made Smart: My Quest for the Perfect Home Setup
Photo by Stephan Schwebe on Unsplash

I'm a high-mileage EV driver. Charging at home should be simple: plug in, come back in the morning, done. And it is—until you start pulling at the thread of when you charge, how much it costs, and whether your home automation system could be doing something smarter with all of that.

Once you start pulling that thread, you can't stop.

This post is the story of my home EV charging setup: how it started (a dumb charger and a Shelly relay), where it is now (a MyEnergi Zappi, mostly happy), and where I want it to be (genuinely open, fully integrated, V2G-ready). Along the way I'll cover what actually works with Home Assistant, what's frustratingly cloud-dependent, and what I'd recommend if you're building from scratch.


Why Smart EV Charging Matters

The economics of home EV charging are entirely dependent on when you charge. In the UK, time-of-use tariffs like Octopus Agile and Octopus Intelligent mean the difference between paying 7p/kWh and 35p/kWh can simply be a matter of scheduling. On a 60kWh battery, that's a £17 difference for a full charge. Every single time.

Add solar panels to the picture, and the question becomes even more interesting: why charge from the grid at all when you can divert surplus generation directly into your car?

Smart EV charging is one of the highest-ROI things you can do in a smart home. The problem is that very few chargers give you the control you actually want.


Stage 1: The Dumb Charger + Shelly Hack

My first home charger was a Chargemaster unit—reliable, fast, and completely unintelligent. No scheduling, no load management, no API. Just a cable and a current.

The obvious solution: a Shelly 1 relay wired in series, controlled by Home Assistant. Simple in theory. The Shelly gives you on/off control, which means you can schedule charging around off-peak tariffs, stop it if solar generation drops, and automate it however you like.

In practice, there's a catch. EVs don't behave well when their power is suddenly cut mid-charge. Some cars interpret an unexpected power interruption as a fault and refuse to resume charging without manual intervention—an annoying discovery to make at 7am when you're trying to leave the house. The solution is to have Home Assistant gracefully reduce the charge rate to zero before cutting power, which means you also need a way to communicate with the car.

I got it working. It wasn't elegant, but it was mine, and it cost about £20 in hardware. For anyone on a budget or with a charger they can't replace, this approach is worth knowing about—just be prepared to test carefully with your specific car before relying on it.


Stage 2: The MyEnergi Zappi

The MyEnergi Zappi is, on the surface, everything a smart-home enthusiast would want in an EV charger. It has solar diversion built in (so it can automatically top up your car with surplus PV generation), a scheduling feature, load management, and—crucially for HA users—an integration.

MyEnergi makes good hardware. The Zappi is well-built, has a clean interface, and the solar diversion actually works well. If you have solar panels, this feature alone justifies the premium over a dumb charger.

The Home Assistant Integration

There is a Home Assistant integration for myenergi devices, and it does give you access to the Zappi's state—current charge rate, mode (fast/eco/eco+), session energy, and so on. You can see what's happening and build automations around it.

But here's the frustration: the integration works via MyEnergi's cloud API. There is no local API. Your Home Assistant talks to MyEnergi's servers, which talk to your Zappi. If MyEnergi's servers are down, or your internet is down, or MyEnergi decide to change their API, your integration breaks.

For a device that's physically wired into your home and sitting two metres from your router, relying on a cloud round-trip to change the charge rate feels unnecessary. And the API itself is not fully documented or stable—there are things the Zappi can do from its own interface that you simply cannot trigger via the API.

This isn't a dealbreaker. The Zappi works well day-to-day. But for someone who has deliberately built a Home Assistant setup around local control and avoiding cloud dependencies, it's a mismatch I haven't fully made peace with.

Octopus Intelligent + Zappi

If you're on Octopus Intelligent, there's a native integration between the tariff and the Zappi—Octopus can control your charger directly to schedule charging during off-peak slots. This works well and removes the need to automate it yourself. The trade-off is that you're delegating control to a third party, and the Home Assistant integration and the Octopus control can occasionally conflict.

For a simpler life, the Octopus Intelligent + Zappi pairing is genuinely good. For a tinkerer who wants full local control, it's another layer of cloud dependency.


What I'd Actually Recommend

Here's the honest breakdown, depending on what you're optimising for:

ScenarioRecommendation
Budget, existing dumb charger, HA userShelly 1 hack — test carefully with your car first
Solar panels, want diversion, not a tinkererZappi + Octopus Intelligent — just works
Solar panels, HA power user, want local controlZappi for now, watch OpenEVSE / OpenEnergyMon
Starting fresh, want maximum opennessOpenEVSE — genuinely open, local API, HA-native

The Open Alternative: OpenEVSE

OpenEVSE is worth knowing about if local control matters to you. It's an open-source EV charging controller that exposes a full local API over WiFi, integrates natively with Home Assistant via MQTT, and gives you genuine local-first automation without any cloud dependency.

OpenEVSE hardware is available pre-built or as a kit. It's not as polished as the Zappi, and solar diversion requires more setup, but if you're the kind of person who runs Frigate NVR and edits YAML for fun, the trade-off is probably worth it.

The OpenEnergyMon project (by Glyn Hudson and Tristan Lea) takes this further, building an entire open-source energy monitoring and management ecosystem that can tie together solar, battery, EV charging, and grid import/export in a genuinely transparent way. I'm keeping a close eye on this as my setup evolves.


The Home Assistant Integration Landscape

For completeness, here's how the main options sit today with Home Assistant:

ChargerHA IntegrationLocal or Cloud?Solar DiversionAPI Quality
Dumb charger + ShellyVia Shelly integrationLocalManual via HAFull (it's just a relay)
MyEnergi Zappimyenergi integrationCloudBuilt-in (Eco/Eco+ mode)Partial — not all features exposed
OpenEVSEOpenEVSE integration (MQTT)LocalVia HA automationsFull local API
WallboxWallbox integrationCloudLimitedModerate
OhmeOhme integrationCloudLimitedLimited

What About Vehicle-to-Grid (V2G)?

V2G — using your EV's battery to export power back to the grid or to power your home — is the most exciting development on the horizon for smart home energy management. The idea is compelling: your car becomes a giant battery that charges cheaply at night and discharges during peak hours, potentially earning you money or providing genuine home backup.

The reality in 2026 is that V2G is still early. A handful of chargers support it (Wallbox Quasar 2, Indra Smart Pro), but vehicle compatibility is limited, installation costs are high, and the economics depend heavily on whether your energy supplier offers a V2G tariff.

That said, the trajectory is clear. Octopus Energy is actively building V2G tariffs. Vehicle compatibility is improving. If you're thinking about a new charger installation today, it's worth at least considering whether the hardware you choose will support V2G when it becomes more accessible—or whether you'll be ripping it out in three years.


My Current Automations

For what it's worth, here's roughly how my EV charging is automated today:

  • Off-peak scheduling: The Zappi is set to charge during Octopus off-peak windows. Home Assistant monitors the session and sends a notification when charging completes.
  • Departure-based targeting: I'm working on an automation that sets a target state of charge based on my calendar—if I have a long drive the next day, charge to 90%; otherwise, 60% is fine for the battery long-term.
  • Consumption monitoring: A Shelly 3EM at my fuse box tracks EV charging as a separate circuit, so I can see exactly what home charging costs versus other consumption.

None of this is perfect. The calendar integration is still rough. The Zappi's cloud dependency nags at me. But it's miles ahead of "plug in and hope for the best."


Frequently Asked Questions

Can I control a Zappi locally without the cloud?

Not officially. The Zappi's local API is not documented or supported by MyEnergi for third-party use. The Home Assistant integration uses MyEnergi's cloud API. Some community members have reverse-engineered partial local control, but it's not stable or supported.

What's the cheapest way to get smart EV charging with Home Assistant?

A Shelly 1 wired into your existing charger gives you on/off control for around £20. You'll need to handle scheduling in Home Assistant and test carefully with your car to avoid mid-charge interruption issues.

Does the Zappi work with Octopus Energy?

Yes. Octopus Intelligent has a native integration with Zappi that handles off-peak scheduling automatically. You can also use the Octopus Energy Home Assistant integration alongside the Zappi independently.

Is OpenEVSE available in the UK?

Yes, OpenEVSE hardware ships to the UK. It requires a Type 2 tethered cable for UK use and installation by a qualified electrician. Check the OpenEVSE website for current UK-compatible bundles.

When will V2G be worth it?

Watch this space through 2026–2027. Vehicle and charger compatibility is the main bottleneck right now. If your car supports CHAdeMO or CCS bidirectional charging and you're willing to pay the premium for a V2G charger, the economics are becoming viable with the right tariff—but it's still early adopter territory.


How are you handling EV charging in your smart home? I'd particularly love to hear from anyone who's made OpenEVSE or a V2G setup work well with Home Assistant—drop a comment below.