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 removeddefault_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], addcloud: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.
-
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.
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
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%
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:
- Drive the vehicle or start charging.
- Wait for ABRP to receive fresh telemetry.
- 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:
- Confirm you can log in to your account at the A Better Routeplanner website.
- 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
- Go to Settings > Devices & services and select the integration card.
- 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
- Depending on the integration, the entries are listed under one of the following headings:
- To confirm, select Delete.
- Home Assistant also deletes the devices and entities of the entry.
- If Home Assistant asks you to restart, restart Home Assistant.
- If Home Assistant asks whether to also delete the application credentials, select Remove or Keep.
- If you keep them, Home Assistant uses them automatically when you add the integration again.
- To delete them later, refer to Deleting application credentials.