[RELEASE] Volvo Cars Integration (Official API) for Hubitat
Hey Hubitat Community,
I'm excited to announce the release of a new integration I've developed: Volvo Cars Integration for Hubitat!
This project allows you to connect your Hubitat Elevation® hub directly to your Volvo car(s) using the official Volvo Cars API.
What does it do?
It brings your Volvo vehicle's status into Hubitat and allows you to send basic remote commands. Think smart home automation based on your car's status or triggering actions from your dashboard!
Key Features Include:
- Vehicle Status Polling: Get updates on lock status, fuel level, battery/charging status (for EVs/PHEVs), odometer, last location, tire status, service intervals, warning lights, trip stats, and more.
- Remote Commands: Lock/unlock doors, start/stop engine, start/stop climatization, honk horn, flash lights, and lock with reduced guard (if supported).
- Multiple Vehicle Support: Manage all cars linked to your Volvo ID.
- Imperial Unit Conversion: Option for distance and consumption.
- Configurable Refresh Interval: Control how often data is updated (be mindful of API rate limits!).
Evolution from hubitat-voc
For those familiar with the previous work, this integration represents a significant evolution from the hubitat-voc project. The key difference is that this new integration leverages the official Volvo Cars API, providing a more stable and maintainable connection compared to unofficial methods used previously.
If you are currently using hubitat-voc
, I strongly encourage you to migrate to this new version. Please be aware that the setup process is different, as it requires obtaining an official API key.
Important Notes & Requirements (PLEASE READ!):
- API Key is REQUIRED: You must obtain a VCC API Key from the Volvo Cars Developer Portal. You need one API Key per Volvo ID account you wish to connect. It's free to sign up.
- Authentication Flow: The setup involves entering your Volvo ID username/password followed by an OTP (One Time Password) sent to your email.
- API Rate Limits: The Volvo API has limits (typically 10,000 requests per day per API key). Choose your "Vehicle Data Refresh Interval" wisely (e.g., 10-15 minutes or longer) to avoid hitting this limit, especially if you have multiple vehicles or a very short polling interval. The default is 10 minutes.
- Supported Regions: Check Volvo's documentation for the list of supported countries (developer.volvocars.com/terms-and-conditions/apis-supported-locations/).
- Hubitat Firmware: Requires 2.2.8 or later.
Installation (Recommended: Hubitat Package Manager)
The easiest way to install is via the Hubitat Package Manager (HPM):
- If you don't have HPM, install it from HubitatCommunity/HubitatPackageManager.
- In HPM, go to
Install a User App
. - Click
Add User Repository
. - Enter this URL:
https://raw.githubusercontent.com/brianschmitt/hubitat-volvo-cars/main/packageManifest.json
- Click
Save
. - Go back to the main HPM page and select
Install
. - Find "Volvo Cars Integration", select it, and proceed through the installation steps.
Manual Installation [GitHub - brianschmitt/hubitat-volvo-cars](See GitHub README for details if not using HPM)
Setup and Configuration:
- Install the app and driver via HPM.
- Go to
Apps
->Add User App
and select "Volvo Cars". - Click "Manage Credentials & API Key".
- Enter your Volvo ID Username (Email), Password, and the VCC API Key you obtained from the Volvo Developer Portal. Click Next.
- Check your email for a 6-digit OTP. Enter it on the next screen in the Hubitat app settings. Click Submit.
- If successful, you'll be redirected to the "Main Page", once there select "Manage Vehicles". Select the VIN(s) you want to add and click "Add Vehicle". Be patient, this can take a few seconds per vehicle.
- Go back to the main app page to configure the "Vehicle Data Refresh Interval" and other settings.
- (Optional) Configure Imperial Measurements or Remote Start Duration on the individual child device page for each car (
Devices
-> "Volvo XXXX").
Using the Vehicle Device
Once added, you'll find a child device for your car under Devices
. On the device page, you can see all the status attributes under "Current States" and send commands under "Commands" (like lock
, unlock
, startEngine
, siren
, etc.). These can then be used in Rule Machine, Dashboards, etc., just like any other Hubitat device.
Getting Help and Support
- Check the Hubitat Logs (
Logs
) for messages from "Volvo Cars" or your vehicle device (enable debug logging if needed). - Post your questions or issues in this thread! This is the best place to get support for this integration.
Project Link:
You can find the code and the full README on GitHub:
https://github.com/brianschmitt/hubitat-volvo-cars
I hope this integration is useful for the Volvo-owning members of the Hubitat community! Please let me know if you have any feedback or run into issues.
Enjoy!