HESC (Home EV Solar Control): charge your EV the cheapest way, with sun and grid

Updated for v3.1.1 (25 October 2026). The replies below follow the project from v1 to v3.

Hi all,

I would like to share HESC (Home EV Solar Control), a Home Assistant integration I built and run at home. In short: HESC makes sure your EV has the energy you want at the time you want, charged the cheapest way, from the sun and the grid.

It is free and open source (GPL-3.0), installed with HACS: github.com/satscan1/hesc-home-ev-solar-control

Why I built it

At home two batteries are controlled by Home Battery Control (HBC). To prepare for the end of net metering in the Netherlands in 2027, I added Home PV Control (HPVC), which turns the panels down when exporting costs money.

The side effect: on exactly those sunny moments the car did not charge. The solar mode of most wallboxes only starts when the house exports power, and HPVC made sure there was no export. HESC started as the fix for that. Since then it has grown into a standalone solution that also works without HPVC, and even without solar panels.

What it does

  • Charges on sun. HESC watches your solar forecast and your solar power, and lets your charger start on sun at the right moment.
  • Plans grid charging. “100% by Tuesday 10:00” or “80% on weekdays at 07:30”. HESC picks the cheapest quarters with dynamic prices, and leaves room for the sun that is still to come.
  • Works with your home battery. When the home batteries would take all the sun, HESC gives the car a kickstart, so it gets its turn. HESC never controls the home battery itself.
  • Shows what happens. A dashboard with today, the forecast, costs and advice, and a report you can open at any time.
  • Shadow mode. A new install watches and shows what it would do, but switches nothing until you turn shadow mode off.

The dashboard

The dashboard comes with HESC: HESC in the sidebar, nothing to paste, no extra cards to install. It follows each user’s language (English, Dutch, German).

Main: status, live values and the solar forecast against what really happened.

Charge plan: one-day and weekly plans, the price chart with the planned quarters and the expected cost.

Settings: pick your charger type and HESC fills in the rest.

What you need

  • Home Assistant 2026.10.1 or newer.
  • Your charger in Home Assistant, through its own integration.
  • Your car’s battery level in Home Assistant (recommended; HESC also works without it).
  • Optional: a solar forecast (Solcast, Open-Meteo or Forecast.Solar), dynamic energy prices, a home battery, and HPVC 1.5.1 or newer.

Chargers

HESC uses the solar mode your charger already has. Ready for Wallbox (Pulsar Plus, Copper), Alfen Eve, Peblar, myenergi Zappi, go-e, Fronius Wattpilot, SMA EV Charger, Ohme, Easee, and any charger through evcc. Only the Wallbox has been tested in practice. With another charger, keep shadow mode on for a few sunny days first.

Install

  1. HACS → ⋮ → Custom repositories → add https://github.com/satscan1/hesc-home-ev-solar-control as type Integration, then download HESC and restart Home Assistant.
  2. Settings → Devices & services → Add integration → HESC v3, and fill in the setup screen.
  3. Open HESC in the sidebar.

Step by step, in English, Dutch and German: see the manual. Coming from v2 (Node-RED)? See Upgrading from v2: settings and history come over with one button.

Feedback, questions and experiences with other chargers are very welcome, here or as an issue on GitHub.

HESC v1.4.0 is out: the sun shared between home battery and car

A home battery and a car both want the morning sun. Until now the home battery usually won, and the car waited. v1.4.0 lets them take turns.

Home battery and EV (optional)
On a sunny morning the home battery takes all the spare sun first, so a charger in solar mode sees no surplus and waits. When there is clearly more sun left today than the home battery still needs, HESC gives the charger a short kickstart. Your battery control sees the car and stops filling the home battery, and the charger keeps going on its own solar mode. When the sun left is only just enough for the home battery, the car waits again, so the home battery is still full by the evening. HESC never controls the home battery itself.

Also new

  • After grid charging, the charger goes back to its own solar mode (on a Wallbox: Resume schedule, filled in for you).
  • A one-off plan keeps the date you picked.
  • A new badge on Main: the expected cost of the active charge plan. Sun counts as free.
  • A calmer Settings tab: one setup check, your settings at a glance, and the expected sun for the next 7 days.
  • New default thresholds for new installs: 2,000 / 1,500 W, based on 33 solar starts over 8 days. Existing installs keep their own values.

Upgrading from v1.3.0 takes a few minutes, see the release notes. Your settings and history stay as they are.

Looking for testers: only the Wallbox Pulsar Plus has been tested in practice so far. If you have an Alfen, Peblar, Zappi, go-e, Wattpilot, SMA, Ohme or Easee and want to try HESC in shadow mode, I would love to hear how it goes.

HESC v2.0.0 is out: any price source, any currency

Until now HESC was really built around the Dutch market. v2.0.0 opens it up:

  • Price sources: any sensor with a price list (Nord Pool, ENTSO-E, Energi Data Service, EPEX Spot, Octopus Agile, Amber Electric, Spain’s PVPC and more), plus EnergyZero, EasyEnergy, Tibber and the official Nord Pool integration, which HESC fetches itself.
  • Quarter-hour, half-hour or hourly prices.
  • EUR, SEK, DKK, NOK, GBP and AUD, with amounts written the way your country does it.
  • Weekends and public holidays (from the Workday integration) in the price forecast.

Also new: a Costs page (what charging cost, sun vs grid), phone notifications when the charge goal is at risk, and a holiday mode.

Tested live with Nord Pool in the Netherlands; the other sources and currencies with simulated data. If you are outside the Netherlands, I’d love to hear whether it works for you.

HESC v3.0.0 – A New Kid In Town is out

The release was planned for Sunday 25 October, but all tests passed, so it is out a few days early.

In short: HESC makes sure your EV has the energy you want at the time you want, charged the cheapest way, from the sun and the grid. v3 can do everything v2 could, and more. No Node-RED and no YAML package any more: HESC is now a single Home Assistant integration, installed with HACS.

What’s new compared with v2

Install and setup

  • One Home Assistant integration, installed with HACS. No Node-RED, no YAML package.
  • A setup screen that finds your charger, car and meter by itself, also when your entities have Dutch or German names.
  • No battery-level sensor found? The setup screen tells you where to get one for your car.
  • Take over your v2 settings and history with one button.
  • New switch Use HPVC (off by default): turn it on when you work with HPVC.

Dashboard

  • The dashboard comes with HESC: HESC appears in the sidebar, nothing to paste, and it is updated with every HESC update.
  • HESC’s own cards (charts, expected solar charging, costs, kiosk). No apexcharts-card, button-card, card-mod or kiosk-mode needed.
  • Your own copy of the dashboard with one click.
  • A kiosk page for a wall tablet, a Live card, house-style icons and logo, and on/off switches for the sources.

Three languages

  • English, Dutch and German: setup screen, entity names, dashboard, cards, guide page, report and user manual with screenshots.
  • Still in English: the messages HESC writes itself (state, reason, advice, notifications) and the values in drop-down lists.

Charging

  • Works with Solcast, Open-Meteo or Forecast.Solar, or without any solar forecast.
  • Charging current control on chargers that allow it, so more of a grid charge comes from the sun.
  • Charge now to a goal: grid charging at once, back to solar at the goal.
  • Skip one day of the weekly plan without changing the plan.
  • Charge plan goals in steps of 5 % (v2: 10 %).

Advice

  • Start level per charger: the start threshold advice never goes below what your charger needs to start on sun.
  • Phase advice when your meter shows power per phase.
  • Start threshold advice only learns from solar sessions that started while HPVC limited your panels; no threshold advice without HPVC.

Home battery and kickstart

  • Kickstart: start the charger, let the home battery control see the car, pause, back to charging on sun. HESC never controls the home battery itself.
  • Kickstart hands back 15 s after the charger’s pause shows in Home Assistant, and a sensor Kickstart hand-back in progress tells your home battery control to hold the battery meanwhile.
  • Kickstart waits up to 6 minutes for a cloud charger to show that it started (was 4).
  • A paused charger counts as 0 W, also when it still reports its last power (Wallbox).

Phone and watch

  • Actions Set charge plan and Charge plan off for Siri, Shortcuts and the Apple Watch.
  • A one-line summary sensor for a widget; iPhone lock-screen widgets refresh at once (at most every 20 minutes).
  • One-tap buttons, also as Android quick-settings tiles and on Wear OS: charge now to the plan goal, stop charging now, skip the next day of the weekly plan, undo, charge plan off.

Safe start

HESC starts in shadow mode: it shows what it would do and switches nothing until you turn shadow mode off.

Install

  1. HACS → ⋮ → Custom repositories → add https://github.com/satscan1/hesc-home-ev-solar-control, type Integration.
  2. Find HESC - Home EV Solar Control, click Download and restart Home Assistant.
  3. Settings → Devices & services → Add integration → HESC v3.

Needs Home Assistant 2026.10.1 or newer. Inclusion in the HACS default list will follow later; until then use Custom repositories.

Still on v2 (Node-RED)?

v2 stays available and is maintained: when a bug is reported or a charger needs an adjustment, v2 gets an update. New features only go into v3. Install v3 next to v2 (it only watches at first), copy your settings with one button and switch at a quiet moment: Upgrading from v2.

Links

Please tell me how it works for you, with your charger and car.

HESC v3.1.1 – a calmer charge plan card

An update is available in HACS: version 3.1.1.

What’s new

  • Charge plan card: with no plan on, the card simply says No charging plan active. With a plan on, the expected cost now stands next to the energy price. With cheap chances on, the price limit for a cheap chance is shown in purple.
  • No needless notification: switch a plan off before its ready-by time and you no longer get an EV goal missed notification at that time.
  • Price chart: where the sun can take over charging, the sun wins over a cheap chance. Expected prices now look clearly different from the real ones.
  • Language: the HESC dashboard follows the language each user chose in their profile. The texts HESC makes itself (state, reason, last action, notifications) are now shown in Dutch and German too.
  • Expected cost right at once, also just after a restart.

Update

HACS → HESC → Update, then restart Home Assistant.
Release notes: Releases · satscan1/hesc-home-ev-solar-control · GitHub

Questions or problems? Let me know here.