Skip to content

matthewgall/homeassistant-evfinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EV Finder

A Home Assistant custom integration that monitors EV charging stations from evaround.me and shows chargers within a specified radius of your Home Assistant home location.

Features

  • Live EV charging data from evaround.me (UK EV charging stations)
  • Radius-based filtering — show stations within a configurable distance of your home
  • Rich sensor data including cheapest station, average price, station count, distances, and connector availability
  • Connector type filtering — filter by Type 2, CCS, CHAdeMO, Tesla Supercharger, or any
  • Power filtering — only show chargers above a minimum kW rating
  • Binary sensors for automations: stations available, low price alerts, fast charging nearby, connectors available
  • Full station list in attributes for template scripting and advanced automations
  • Price threshold configuration to trigger automations when cheap charging is available
  • Supports both metric (km) and imperial (miles) units based on your Home Assistant settings

Installation

HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Go to Custom repositories
  3. Add https://github.com/matthewgall/homeassistant-evfinder and select Integration as the category
  4. Click Install
  5. Restart Home Assistant

Manual

  1. Copy the custom_components/evfinder/ directory to your Home Assistant custom_components/ directory
  2. Restart Home Assistant

Configuration

  1. Go to Settings > Devices & Services
  2. Click Add Integration
  3. Search for EV Finder
  4. Configure the following options:
Option Description Default
Search Radius Maximum distance from your home location 10 km / miles
Update Interval How often to refresh data (seconds) 600 (10 minutes)
Low Price Threshold Price below which to trigger the low price alert £0.50/kWh
Minimum Power Minimum charger power in kW (0 = any) 0
Connector Type Filter by connector type Any connector

Sensors

The integration creates the following sensors:

Sensor Description Example State
sensor.evfinder_cheapest_ev_charger The cheapest station and its price Pod Point £0.299/kWh
sensor.evfinder_ev_stations_in_range Number of stations found 24
sensor.evfinder_nearby_ev_stations Summary of nearby stations 24 stations, 12 available, best £0.299/kWh
sensor.evfinder_average_ev_price Average price per kWh across all stations 0.450
sensor.evfinder_distance_to_cheapest_ev Distance to the cheapest station 2.3 km
sensor.evfinder_available_ev_connectors Total available connectors in range 45
sensor.evfinder_fastest_ev_charger Highest-power station in range Tesla Supercharger 250 kW
sensor.evfinder_nearest_available_ev_charger Nearest station with free connectors BP Pulse (1.2 km, 3 free)

Sensor Attributes

All sensors include rich attributes for scripting. The EV Stations in Range sensor includes:

  • all_stations — full list of all stations with provider, price, distance, coordinates, connectors
  • station_1 through station_10 — top 10 stations as individual attributes
  • average_price, best_price, home_latitude, home_longitude
  • total_connectors, total_available, total_in_use

The Nearby EV Stations sensor includes:

  • stations_by_provider — stations grouped by provider name
  • cheapest_by_provider — the cheapest station for each provider

Binary Sensors

Sensor Description
binary_sensor.evfinder_ev_stations_available On when any stations are in range
binary_sensor.evfinder_low_ev_price_available On when charging below your threshold is available
binary_sensor.evfinder_fast_charging_nearby On when a fast charger is nearby
binary_sensor.evfinder_ev_connectors_available On when any connectors are free

Example Automations

Notify when cheap charging is available

automation:
  - alias: "Cheap EV charging alert"
    trigger:
      - platform: state
        entity_id: binary_sensor.evfinder_low_ev_price_available
        to: "on"
    action:
      - service: notify.mobile_app_phone
        data:
          title: "Cheap EV charging nearby!"
          message: >
            Charging from {{ state_attr('sensor.evfinder_cheapest_ev_charger', 'provider_name') }}
            at £{{ state_attr('sensor.evfinder_cheapest_ev_charger', 'price_per_kwh') }}/kWh
            ({{ state_attr('sensor.evfinder_cheapest_ev_charger', 'distance_display') }} away)

Navigate to nearest available charger

automation:
  - alias: "Navigate to nearest charger"
    trigger:
      - platform: state
        entity_id: binary_sensor.evfinder_ev_connectors_available
        to: "on"
    action:
      - service: notify.mobile_app_phone
        data:
          message: "click"
          data:
            action: "URI"
            uri: >
              https://www.google.com/maps/dir/?api=1&destination=
              {{ state_attr('sensor.evfinder_nearest_available_ev_charger', 'latitude') }},
              {{ state_attr('sensor.evfinder_nearest_available_ev_charger', 'longitude') }}

Daily EV charging report

automation:
  - alias: "Daily EV report"
    trigger:
      - platform: time
        at: "08:00:00"
    action:
      - service: notify.mobile_app_phone
        data:
          title: "Morning EV update"
          message: >
            Cheapest: {{ states('sensor.evfinder_cheapest_ev_charger') }}
            Average: £{{ states('sensor.evfinder_average_ev_price') }}/kWh
            Stations: {{ states('sensor.evfinder_ev_stations_in_range') }}
            Available connectors: {{ states('sensor.evfinder_available_ev_connectors') }}

Template Examples

Show cheapest station per provider in a card

type: markdown
content: >
  {% set by_provider = state_attr('sensor.evfinder_nearby_ev_stations', 'stations_by_provider') %}
  {% for provider, station_list in by_provider.items() %}
  **{{ provider }}**: {{ station_list | length }} stations
  {% endfor %}

Check if a specific provider has cheap charging

{{ state_attr('sensor.evfinder_nearby_ev_stations', 'cheapest_by_provider')['Pod Point'].price_per_kwh < 0.35 }}

Requirements

  • Home Assistant 2024.1.0 or newer
  • Internet access to reach evaround.me
  • Home location configured in Home Assistant

Notes

  • evaround.me primarily covers UK EV charging stations. If your Home Assistant is located outside the UK, you may see limited or no results.
  • Pricing data is provided by the network operators via evaround.me and may not always be available for every station.
  • Connector availability is live data and can change between updates.

License

MIT

About

A Home Assistant custom integration that monitors EV charging stations from evaround.me and shows chargers within a specified radius of your Home Assistant home location.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages