A Better Routeplanner

The A Better Routeplanner (ABRP) integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] connects your ABRP account to Home Assistant, so you can monitor your electric vehicles in one place.

Use cases

Use this integration to track battery level and range, then use that data in dashboards and automations.

Supported devices

This integration works with electric vehicles supported by the A Better Routeplanner cloud service and added to your ABRP garage.

ABRP supports many models across brands like Tesla, Rivian, Hyundai, Kia, BMW, Audi, Mercedes-Benz, Ford, Volkswagen, Polestar, and Volvo.

The integration does not connect to your vehicle directly. It uses the telemetry ABRP already has for your vehicle.

Unsupported devices

  • Non-electric vehicles.
  • Vehicles that are not added to your ABRP garage.

Prerequisites

  • An A Better Routeplanner account.
  • At least one vehicle in your ABRP garage.
  • The Home Assistant Cloud integration loaded. It is included in default_config:, which is enabled by default. If you removed default_config: from your configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more], add cloud: instead.

Configuration

To add the A Better Routeplanner hub to your Home Assistant instance, use this My button:

Manual configuration steps

If the above My button doesn’t work, you can also perform the following steps manually:

  • Browse to your Home Assistant instance.

  • Go to Settings > Devices & services.

  • In the bottom right corner, select the Add Integration button.

  • From the list, select A Better Routeplanner.

  • Follow the instructions on screen to complete the setup.

During setup, you sign in to ABRP and every vehicle in your ABRP garage is added to Home Assistant. Sign-in uses account linking provided by Home Assistant Cloud. This service is free and does not require a Home Assistant Cloud subscription, so you do not need API credentials or a developer app.

To monitor vehicles from more than one ABRP account, add the integration once for each account.

Supported functionality

Each vehicle in your ABRP garage is added as one Home Assistant device.

Telemetry entities are added as data becomes available. If ABRP has not received a specific metric yet, that entity appears after the first update.

Device card model name

The device card shows a human-friendly vehicle name when ABRP has a catalog match. If no match is available, Home Assistant falls back to ABRP’s raw type code identifier.

Sensors

  • SoC: Battery charge percentage.

  • SoE: Estimated battery energy.

  • Range: Estimated remaining driving range.

  • Power: Current charging or discharging power.

  • Charging state: Whether the vehicle is charging and how. Possible states are:

    • Charging (AC)
    • Charging (DC)
    • Charging: The vehicle is charging, but the charging type is unknown.
    • Plugged in
    • Not charging
  • Voltage: Battery pack voltage.

  • Battery temperature: Battery pack temperature.

  • Odometer: Total distance driven.

  • Calibrated ref cons: ABRP’s calibrated reference consumption for the vehicle, in energy per distance. A steady-state baseline tuned from live data, not real-time consumption.

  • State of health: Estimated battery health percentage.

  • Battery capacity: Estimated usable battery capacity.

Controls

This is a read-only integration. It does not provide vehicle control actions like start charging, stop charging, climate control, or lock and unlock.

A Better Routeplanner automation examples

With your vehicle’s battery data in Home Assistant, you can react to charge levels in your automations. Here are a few ideas to get you started.

Tip

You don’t need to edit YAML to use these examples. Copy a YAML snippet from this page, open the visual automation editor in Home Assistant, and press Ctrl+V (or Cmd+V on Mac). Home Assistant automatically converts the pasted YAML into the visual editor format, whether it’s a full automation, a single trigger, a condition, or an action.

Automation: Notify when the battery drops below 20%

Get a notification on your phone when your vehicle’s battery level drops below 20%, so you remember to charge it.

  • Trigger: Numeric state crossed threshold
    • Entity: The SoC sensor of your vehicle
    • Below: 20
  • Action: Send a notification message
    • Target: My phone
YAML example for a low battery notification
AutomationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]
alias: "Notify low battery"
triggers:
  - trigger: numeric_state
    entity_id: sensor.my_ev_soc
    below: 20
actions:
  - action: notify.send_message
    target:
      entity_id: notify.my_phone
    data:
      message: "Battery low: {{ states('sensor.my_ev_soc') }}% remaining."

Automation: Turn off a charging outlet above 80%

Stop charging once your vehicle’s battery level goes above 80% by turning off the smart outlet or switch that powers your charger. The automation runs when the SoC value rises past 80, so a reading of exactly 80% does not turn off the outlet.

  • Trigger: Numeric state crossed threshold
    • Entity: The SoC sensor of your vehicle
    • Above: 80
  • Action: Turn off switch
    • Target: The switch for your charging outlet
YAML example for turning off a charging outlet above 80%
AutomationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]
alias: "Stop charging above 80%"
triggers:
  - trigger: numeric_state
    entity_id: sensor.my_ev_soc
    above: 80
actions:
  - action: switch.turn_off
    target:
      entity_id: switch.garage_ev_outlet

Data updates

Telemetry is pushed from ABRP in near real time when ABRP receives vehicle updates. If the live stream connection drops, the integration reconnects automatically.

Each sensor shows the newest value ABRP has for your vehicle. Some telemetry, like power and voltage, only changes while your vehicle is actively reporting, usually while driving or charging.

Your ABRP garage list is read when the integration loads. Reload the integration after adding or renaming vehicles in ABRP. Removing a vehicle from ABRP does not automatically remove its device from Home Assistant.

Known limitations

Vehicle controls

The integration is read-only and does not control your vehicle. To send commands to your vehicle, use the manufacturer integration for your vehicle, such as Tesla Fleet, Volvo, Renault, Nissan Leaf, or Subaru. The available commands, like charging, climate control, or locking, depend on the manufacturer integration and your vehicle.

Telemetry availability

Data freshness depends on ABRP and your vehicle manufacturer data source. Some entities appear only after the first value is received.

Route planning

Route planning details, like destinations and charging stops, are not exposed.

Troubleshooting

A sensor is missing for one of my vehicles

If a sensor is missing, ABRP has usually not received that metric yet.

To resolve this issue:

  1. Drive the vehicle or start charging.
  2. Wait for ABRP to receive fresh telemetry.
  3. Check Home Assistant again. New entities are added automatically.

Authentication errors

If your ABRP session expires, the integration can no longer connect and its entities become unavailable.

To resolve this issue:

  1. Confirm you can log in to your account at the A Better Routeplanner website.
  2. Remove the integration and add it again.

Setup stops with a message about default_config

If setup stops and asks you to run Home Assistant with default_config enabled, the Home Assistant Cloud integration is not loaded. Add default_config: or cloud: to your configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more], restart Home Assistant, and add the integration again.

Sensor states appear stale

This is expected when a vehicle is parked and not reporting data. Each sensor keeps showing the newest value ABRP has.

Home Assistant shows the same data as the A Better Routeplanner app and website, so you can compare them. If the value looks just as old in ABRP, your vehicle has not sent fresh telemetry yet and there is nothing to fix in Home Assistant.

Sensors show as unavailable

Sensors become unavailable when the integration can no longer authenticate with ABRP. To fix this, follow the steps in Authentication errors. If ABRP cannot be reached when Home Assistant starts, sensors stay unavailable until the integration connects. It retries automatically. During an ordinary connection interruption, sensors keep their latest values while the integration reconnects.

If the issue continues, enable debug logging, reproduce the issue, and include the logs in your issue report.

Community notes

If you need help, use the Home Assistant Community forums and share debug logs and details when possible.

Removing the integration

This integration follows the standard integration removal process.

To remove an integration instance from Home Assistant

  1. Go to Settings > Devices & services and select the integration card.
  2. Next to the entry you want to remove, select the three dots menu. Then, select Delete.
    • Depending on the integration, the entries are listed under one of the following headings:
      • Devices
      • Hubs
      • Services
      • Integration entries
  3. To confirm, select Delete.
    • Home Assistant also deletes the devices and entities of the entry.
  4. If Home Assistant asks you to restart, restart Home Assistant.
  5. If Home Assistant asks whether to also delete the application credentials, select Remove or Keep.