Home Assistant EV Charger: Smart Charging That Actually Saves You Money

Your EV charger is one of the biggest energy consumers in your home. Plugging it in and hoping for the best is leaving money on the table. With Home Assistant, you can charge on solar surplus, shift to off-peak rates automatically, prevent breaker trips with load balancing, and track every kWh. This guide covers the best HA-compatible chargers, how to set them up, and the automations that pay for themselves.

Check Your Devices Solar Integration Guide

Why Smart EV Charging With Home Assistant Matters

A "dumb" EV charger pulls maximum power the moment you plug in. That might be fine if you have unlimited cheap electricity, but most people do not. Energy prices vary by time of day, solar panels produce free power during daylight hours, and your home electrical connection has limits. Smart charging solves all three problems.

โ˜€๏ธ

Solar Surplus Charging

Feed excess solar production directly into your car instead of exporting it to the grid for pennies. On a sunny day, you can add 30 to 50 km of range for free.

๐Ÿ’ฐ

Off-Peak Savings

Shift charging to night rates automatically. With dynamic tariffs (Tibber, Octopus, ANWB Energie), this can cut your charging costs by 40 to 60 percent.

โšก

Load Balancing

Prevent breaker trips by dynamically adjusting charger power based on household consumption. Cook dinner and charge your car without worrying about the fuse.

๐Ÿ“Š

Energy Tracking

See exactly how much energy your EV consumes per day, week, and month. Track cost per charge and compare solar vs grid charging over time.

Real savings example: A typical EV driver in the Netherlands charges about 3,000 kWh per year. At an average price of 0.30 EUR/kWh, that is 900 EUR. With solar surplus charging covering 40% and off-peak rates cutting the rest by 50%, annual charging costs drop to around 270 EUR. That is 630 EUR saved per year, just from smart scheduling.

Best EV Chargers for Home Assistant in 2026

Not every charger talks to Home Assistant. Some have native integrations, others need HACS add-ons or MQTT bridges. Here are the best options sorted by how well they integrate.

OpenEVSE

Best for Home Assistant power users

Full Local Control

OpenEVSE is the gold standard for HA integration. It connects over MQTT and HTTP with zero cloud dependency. You get full amperage control, energy metering, temperature monitoring, and a built-in solar divert mode. The hardware is open source, so you can flash custom firmware and tweak everything.

Integration

MQTT + HTTP (local)

Max Power

7.4 kW (1-phase) / 22 kW (3-phase)

Price

450 to 650 EUR

Solar Divert

Built-in

Easee Home / Charge

Best for plug-and-play simplicity

Cloud API

Easee is extremely popular in Europe, especially Scandinavia and the Netherlands. The official Home Assistant integration connects through the Easee cloud API. You get start/stop control, amperage adjustment, energy readings, and charger status. The downside: it requires internet. If Easee's servers go down, HA loses control. A HACS local integration exists but is community-maintained.

Integration

Official (cloud)

Max Power

22 kW (3-phase)

Price

600 to 900 EUR

Solar Divert

Via HA automation

Wallbox Pulsar Plus / Pulsar Max

Best mid-range charger with good HA support

Cloud + Local (HACS)

Wallbox has an official Home Assistant integration via their cloud API. The Pulsar Max also supports local API access through a HACS integration, which is a big win for reliability. Energy metering, charging control, and scheduling all work well. The Eco-Smart feature handles basic solar surplus charging through their own app, but for full control, use HA automations instead.

Integration

Official (cloud) + HACS (local)

Max Power

22 kW (3-phase)

Price

550 to 800 EUR

Solar Divert

Eco-Smart + HA automation

go-e Charger Gemini / HOME

Best local API for tinkerers

Local API

The go-e Charger has a well-documented local HTTP API that works without any cloud connection. The Home Assistant integration (via HACS) gives you full control: start, stop, set amperage, read energy, and check status. All locally. Austrian-made, solid build quality, and the Gemini Flex variant is portable for those who want to take it on the road.

Integration

HACS (local HTTP)

Max Power

11 kW (3-phase)

Price

500 to 700 EUR

Solar Divert

Via HA automation

Tesla Wall Connector (Gen 3)

Best if you drive a Tesla

Cloud (Tesla API)

If you drive a Tesla, you control charging through the car itself rather than the charger. The Tesla integration in Home Assistant gives you start/stop, charge limit, amperage control, and battery level. The Wall Connector itself does not have a direct HA integration, but the car-level control means you do not need one. Works with the Tesla Fleet API (you will need to set up your own app credentials since 2024).

Integration

Tesla Fleet API (cloud)

Max Power

11 kW (EU) / 19.2 kW (US)

Price

450 to 550 EUR

Solar Divert

Via HA automation (car API)

Zaptec Go / Pro

Popular in Scandinavia and the Netherlands

Cloud API (HACS)

Zaptec is growing fast in the European market. A HACS integration connects through their cloud API, giving you start/stop control, energy readings, and status monitoring. The Pro model supports built-in load balancing across multiple chargers, making it popular for apartment buildings. The Go model is the residential option with a compact, weatherproof design.

Integration

HACS (cloud)

Max Power

22 kW (3-phase)

Price

700 to 1,100 EUR

Solar Divert

Via HA automation

EV Charger Comparison for Home Assistant

Here is how these chargers stack up on the things that matter most for HA integration.

ChargerLocal ControlEnergy MeteringAmperage ControlSolar ReadyPrice
OpenEVSEโœ… Fullโœ…โœ… 6-32Aโœ… Built-inโ‚ฌ450-650
go-e Chargerโœ… Fullโœ…โœ… 6-16AVia HAโ‚ฌ500-700
Wallbox Pulsarโš ๏ธ HACS onlyโœ…โœ… 6-32AEco-Smart + HAโ‚ฌ550-800
EaseeโŒ Cloud onlyโœ…โœ… 6-32AVia HAโ‚ฌ600-900
Tesla Wall Conn.โŒ Car APIVia carโœ… Via carVia HAโ‚ฌ450-550
ZaptecโŒ Cloud onlyโœ…โœ… 6-32AVia HAโ‚ฌ700-1,100

Our pick: If you want maximum control and local operation, go with OpenEVSE or go-e Charger. If you want something your electrician already knows how to install and you do not mind a cloud connection, Easee or Wallbox are solid choices.

Solar Surplus EV Charging With Home Assistant

This is where it gets really good. Instead of exporting solar power to the grid for a fraction of what you pay to buy it back, you pump that energy straight into your car. Here is how to set it up.

How It Works

The basic logic is simple: Solar production minus household consumption equals surplus. When surplus exceeds the minimum charging threshold (about 1.4 kW for single-phase, 4.1 kW for three-phase), Home Assistant tells your charger to start. As surplus changes throughout the day, HA adjusts the charging amperage to match. When clouds roll in and surplus drops below minimum, charging pauses.

What You Need

  1. Solar inverter in HA providing a power production sensor (SolarEdge, Enphase, Fronius, Huawei, etc.)
  2. Grid power sensor showing import/export (P1 smart meter, CT clamp, or inverter meter)
  3. HA-compatible EV charger with amperage control
  4. A template sensor calculating available surplus: solar_production - grid_export gives you the excess

Solar Surplus Automation (YAML)

This automation checks surplus every 5 minutes and adjusts charger amperage accordingly. It handles the minimum threshold, smooth ramping, and pausing when surplus drops.

# Solar surplus EV charging automation
automation:
  - alias: "EV Solar Surplus Charging"
    trigger:
      - platform: time_pattern
        minutes: "/5"
    condition:
      - condition: state
        entity_id: binary_sensor.ev_connected
        state: "on"
      - condition: numeric_state
        entity_id: sensor.ev_battery_level
        below: 80
    action:
      - variables:
          surplus_watts: >-
            {{ states('sensor.solar_power') | float(0)
               - states('sensor.house_consumption') | float(0)}}
          min_watts: 1400
          max_amps: 16
          amps_needed: >-
            {{ ((surplus_watts / 230) | round(0)) | int}}
      - choose:
          - conditions:
              - condition: template
                value_template: "{{ surplus_watts > min_watts}}"
            sequence:
              - service: number.set_value
                target:
                  entity_id: number.ev_charger_amperage
                data:
                  value: >-
                    {{ [6, [amps_needed, max_amps] | min] | max}}
              - condition: state
                entity_id: switch.ev_charger
                state: "off"
              - service: switch.turn_on
                target:
                  entity_id: switch.ev_charger
        default:
          - condition: state
            entity_id: switch.ev_charger
            state: "on"
          - service: switch.turn_off
            target:
              entity_id: switch.ev_charger

Adjust entity names to match your setup. The 6A minimum is required by the EV charging standard (IEC 61851). Most cars will not accept less than 6A.

Setting Up Your EV Charger in Home Assistant

Here is a step-by-step walkthrough to get your charger connected and ready for smart charging.

1

Install the Integration

Go to Settings, Devices and Services, Add Integration. Search for your charger brand. For OpenEVSE, install the HACS integration and enter your charger's local IP. For Easee and Wallbox, log in with your cloud account credentials. For go-e, add the HACS integration and point it at your charger's IP address.

2

Verify Your Entities

After adding the integration, check Developer Tools and States. You should see entities for charger status (charging, idle, connected), current/voltage/power readings, energy consumed, and a switch or button to start/stop charging. Most integrations also expose a number entity for setting amperage.

3

Add to Energy Dashboard

Go to Settings, Dashboards, Energy. Under "Individual devices," add your charger's energy sensor. This gives you a breakdown of EV charging vs total household consumption. If your charger does not report energy, put a smart plug with energy monitoring (like Shelly Plug S) inline, though this only works for chargers drawing under 3.5 kW on a single socket.

4

Set Up Car Integration (Optional)

For Tesla, use the Tesla Fleet API integration. For other EVs, check if your brand has a HACS integration (Hyundai/Kia, BMW, Volkswagen, Renault, and Polestar all have community integrations). Car integrations add battery level, range, and location sensors. This lets you set charge limits and stop charging at a specific percentage.

5 EV Charging Automations That Save Real Money

Beyond solar surplus charging (covered above), here are five more automations that make your EV charging genuinely smarter.

1. Off-Peak Night Charging

Start charging when rates drop, stop before peak pricing kicks in. Works with dynamic tariffs (Tibber, Octopus) or fixed off-peak windows.

automation:
  - alias: "EV Off-Peak Charging"
    trigger:
      - platform: time
        at: "23:00:00"
    condition:
      - condition: state
        entity_id: binary_sensor.ev_connected
        state: "on"
      - condition: numeric_state
        entity_id: sensor.ev_battery_level
        below: 80
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.ev_charger
  - alias: "EV Stop Before Peak"
    trigger:
      - platform: time
        at: "07:00:00"
    action:
      - service: switch.turn_off
        target:
          entity_id: switch.ev_charger

2. Dynamic Load Balancing

Prevent breaker trips by adjusting charger amperage based on household load. Essential if your electrical connection is limited.

automation:
  - alias: "EV Load Balancing"
    trigger:
      - platform: time_pattern
        seconds: "/30"
    condition:
      - condition: state
        entity_id: switch.ev_charger
        state: "on"
    action:
      - variables:
          main_fuse_amps: 25
          headroom: 2
          house_amps: >-
            {{ states('sensor.grid_current') | float(0)}}
          available: >-
            {{ main_fuse_amps - headroom - house_amps}}
      - service: number.set_value
        target:
          entity_id: number.ev_charger_amperage
        data:
          value: "{{ [6, [available | int, 16] | min] | max}}"

3. Smart Charge Limit (Battery Health)

Stop charging at 80% for daily use (extends battery life), but allow charging to 100% before long trips. Uses an input boolean you flip when planning a road trip.

automation:
  - alias: "EV Stop at Charge Limit"
    trigger:
      - platform: numeric_state
        entity_id: sensor.ev_battery_level
        above: 79
    condition:
      - condition: state
        entity_id: input_boolean.ev_trip_mode
        state: "off"
    action:
      - service: switch.turn_off
        target:
          entity_id: switch.ev_charger
      - service: notify.mobile_app
        data:
          message: "EV charged to 80%. Stopping for battery health."

4. Forgot to Plug In Reminder

If you arrive home with a low battery and do not plug in within 30 minutes, get a reminder. Uses presence detection and car battery level.

automation:
  - alias: "EV Forgot to Plug In"
    trigger:
      - platform: state
        entity_id: person.your_name
        to: "home"
        for: "00:30:00"
    condition:
      - condition: numeric_state
        entity_id: sensor.ev_battery_level
        below: 30
      - condition: state
        entity_id: binary_sensor.ev_connected
        state: "off"
    action:
      - service: notify.mobile_app
        data:
          message: "Your EV battery is at {{ states('sensor.ev_battery_level')}}%. Don't forget to plug in!"

5. Monthly Charging Cost Report

Get a monthly summary of how much energy your EV consumed and what it cost, broken down by solar vs grid.

automation:
  - alias: "EV Monthly Charging Report"
    trigger:
      - platform: time
        at: "09:00:00"
    condition:
      - condition: template
        value_template: "{{ now().day == 1}}"
    action:
      - service: notify.mobile_app
        data:
          title: "EV Charging Report"
          message: >-
            Last month: {{ states('sensor.ev_charger_energy_monthly')}} kWh
            Cost: โ‚ฌ{{ (states('sensor.ev_charger_energy_monthly') | float * 0.25) | round(2)}}
            Solar share: {{ states('sensor.ev_solar_charging_percentage')}}%

EV Charging Dashboard

A dedicated EV card on your Home Assistant dashboard gives you a quick overview of charging status, battery level, energy consumed today, and current power draw. Here are the cards worth adding.

Battery Gauge Card

Use a gauge card showing your EV's battery percentage. Set severity colors: red below 20%, yellow below 50%, green above 50%. Add the charge limit as a marker line.

Power Flow Card

The power-flow-card (HACS) shows real-time energy flow between solar, grid, house, and EV charger. Instantly see if your car is charging from the sun or the grid.

Energy History Graph

An apexcharts-card (HACS) showing daily EV charging energy over the past 30 days. Stack solar vs grid energy in different colors to see your solar utilization trend.

Quick Control Buttons

Mushroom chips for start/stop charging, trip mode toggle, and a slider for manual amperage override. One tap to switch between solar-only, off-peak, and full-speed charging modes.

Which Charger Should You Pick?

Your situation determines the best choice. Here is a quick decision guide.

I want full local control

Get an OpenEVSE. MQTT and HTTP access, no cloud dependency, built-in solar divert. You need a competent electrician for installation, but after that, everything runs on your network.

Learn about MQTT setup โ†’

I want easy install + good HA support

Go with Wallbox Pulsar Max or go-e Charger. Both have local API options and are widely available through certified installers. Wallbox has the edge on power (22 kW), go-e on local API simplicity.

HACS integration guide โ†’

I have solar panels already

Any HA-compatible charger works for solar surplus charging via automations. OpenEVSE has it built in, others need a simple HA automation (see the YAML above). Make sure your inverter is also integrated.

Solar integration guide โ†’

Frequently Asked Questions

What EV chargers work with Home Assistant?

Many popular chargers have integrations. OpenEVSE and go-e Charger connect locally (MQTT/HTTP). Easee, Wallbox, Tesla, and Zaptec work through cloud APIs. Check the Home Assistant integrations page or HACS for your specific brand. If your charger has no integration, you can still use a smart relay or contactor for basic on/off control.

Can I charge my EV with solar power only?

Yes. You need your solar inverter and EV charger both in Home Assistant, plus a sensor calculating surplus power. An automation adjusts charger amperage to match available surplus. The minimum is 1.4 kW (6A at 230V) for single-phase charging. On a good solar day with a 5 kW system, you can add 30 to 50 km of range without touching the grid.

How much can I save with smart EV charging?

It depends on your energy situation. Solar surplus charging can cover 30 to 50% of your annual EV energy for free. Off-peak scheduling saves another 20 to 40% on grid charging costs. Combined, savings of 400 to 800 EUR per year are realistic for a typical European driver doing 15,000 km annually. The payback on a smart charger vs a dumb one is usually under 2 years.

What is the minimum solar system size for EV charging?

You need at least 1.4 kW of surplus power to start single-phase charging (6A minimum by EV standard). With a typical 4 to 6 kW residential solar system, you will have enough surplus on sunny days after household base load. Larger systems (8 to 10 kW) provide more consistent surplus and can even charge at higher amperages during peak sun hours.

Does load balancing work with three-phase charging?

Yes, but you need per-phase current monitoring (a 3-phase CT clamp or smart meter like the Shelly 3EM). The automation should check the highest loaded phase rather than total power, because a single overloaded phase trips the breaker even if total consumption is within limits. Most chargers that support 3-phase also allow switching to 1-phase mode for lower-power situations.

Can I control my EV charger without internet?

Only if it supports local control. OpenEVSE (MQTT/HTTP) and go-e Charger (local API) work entirely on your LAN. Easee, Zaptec, and the Tesla integration require internet because they use cloud APIs. Wallbox Pulsar Max has a local API option via HACS, but the official integration is cloud-based. For maximum reliability, choose a charger with local control.

Ready to Make Your EV Charging Smarter?

Run a free HomeShift scan to check which of your existing smart home devices work with Home Assistant, then start building your smart charging setup.

Free Device Scan Solar Guide Energy Monitoring Smart Plugs