Volvo
The Volvo integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] is used to integrate your Volvo
Supported vehicles
- Car models starting from model year 2010.
- Cars located in Europe, Middle East, Africa, US, Canada, and Latin America regions. Or view the full list of countries
.
Features available depend on model, year and location.
Prerequisites
- Head over to Volvo’s developer portal
. - Make an account.
- Go to the API applications page
. - Create an API application and give it a meaningful name.
It’s recommended to add an API application per vehicle you want to add. There is a maximum on the number of requests that can be made per API key per day.
Home Assistant will use account linking provided by Nabu Casa for authenticating with Volvo, this service is provided for free and does not require a Nabu Casa subscription.
If you want to use your own client id
and client secret
, or you have the cloud integration disabled, proceed to “Using custom application credentials”.
Using custom application credentials
- On Volvo’s API application page, click the Publish button underneath your API application.
- Fill in all required fields in the screen that follows. Pay attention to:
- Scopes: Make sure to select them all (you need to expand the sections).
-
Redirect URI(s): Add
https://my.home-assistant.io/redirect/oauth
.
- Click View summary and confirm.
- Grab the
client id
andclient secret
from the confirmation page and add them to your application credentials.
Configuration
To add the Volvo device 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 Volvo.
-
Follow the instructions on screen to complete the setup.
Supported functionality
The Volvo integration provides the following entities.
All engine types
Sensors
- Car connection: Connectivity of the car
- Distance to service: Remaining distance until the next service maintenance
- Odometer: Odometer
- Time to engine service: Remaining engine-hours until the next service maintenance
- Time to service: Remaining time until the next service maintenance
- Trip automatic average speed: Average speed on the automatic trip meter
- Trip automatic distance: Total distance on the automatic trip meter
- Trip manual average speed: Average speed on the manual trip meter
- Trip manual distance: Total distance on the manual trip meter
Battery-only and plug-in hybrid
Sensors
- Average energy consumption since charge: Average energy consumption since the last charge of the battery
- Battery: Current state of charge of the battery
- Battery capacity: Total capacity of the battery
- Distance to empty battery: Electric range
Sensors for specific models
Go to Volvo’s developer portal to view the list of supported models
- Charging connection status: Charging connection status
- Charging limit: Charging limit configured in the car
- Charging power: Current charging power
- Charging power status: Indication if power is being provided
- Charging status: Indication if the car is charging or not
- Charging type: AC or DC
- Estimated charging time: Estimated charging time to reach the target battery charge level
- Trip automatic average energy consumption: Average energy consumption on the automatic trip meter
- Target battery charge level: Target battery charge level configured in the car
- Trip manual average energy consumption: Average energy consumption on the manual trip meter
Fuel-only and plug-in hybrid
Sensors
- Distance to empty tank: Fuel range
- Fuel amount: Remaining fuel
- Trip automatic average fuel consumption: Average fuel consumption on the automatic trip meter
- Trip manual average fuel consumption: Average fuel consumption on the manual trip meter
Examples
Estimated charging finish time
The Volvo API only provides an estimated charging time (in minutes). To calculate the finish time, you can create a Template sensor helper with the template below.
{% set charging_time = states('sensor.volvo_YOUR_MODEL_estimated_charging_time') | int(0) %}
{% if charging_time > 0 -%}
{% set new_time = now() + timedelta(minutes=charging_time) %}
{{ new_time }}
{%- else -%}
{{ this.state }}
{%- endif %}
Set the Device class to Timestamp and optionally choose your vehicle for Device.
Data updates
The Volvo integration fetches data from the API at different intervals:
- Every 60 minutes: diagnostics, odometer, and statistics
- Every 15 minutes: car connectivity and fuel status
- Every 2 minutes: energy data (for battery cars)
If you decide to define a custom polling interval, beware that there is a maximum of 10,000 requests per day. Every poll operation accounts for about a dozen calls (depends on model).
Known limitations
The official Volvo app has access to a more feature-rich API. As a result, this integration cannot provide live updates, display tire pressure values, start air purifying, schedule climatization, show climatization status, and so on.
Troubleshooting
The charging_power_status entity shows fault as value or is unavailable
- Some models will report
fault
if there is no power from the charger (for example, because the charger was paused) while being connected. - This field is poorly documented in the API, and therefore, we need to learn the possible values along the way. If an unknown value is detected, the entity will become
unavailable
and a warning will be logged. Please open a ticket- if no one else has - with the value mentioned in the log.
Recharge API
Symptoms
The Volvo integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] does not show recharge entities, or they are unavailable. This happens because sometimes the Volvo recharge API does not respond properly.
Resolution
The integration will automatically re-enable the recharge entities once the API becomes available again.
Removing the integration
This integration follows standard integration removal.
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- From the list of devices, select the integration instance you want to remove.
- Next to the entry, select the three dots
menu. Then, select Delete.
After deleting the integration, go to the app of the manufacturer and remove the Home Assistant integration from there as well.