[APP][Pro] Volvo on Call - Connected technology that makes your life easier

Control your Volvo car with Volvo On Call services

App store link: Volvo On Call

Connected Vehicle device type

The Connected vehicle is the device type that supports Android auto based cars, and most older cars. It uses the official APIs listed on the Volvo Developer portal.

As of version 1.4.8 of the app, it also uses Volvo’s official OAuth2-based authentication.

  1. Visit https://developer.volvocars.com, sign up, and create an app. The account used on the Volvo Developer portal doesn’t have to be the account that owns the car.
    The only information you need to provide is the app’s name. After creating the app, copy the VCC API key.
  2. Please go ahead and install the Homey Colvo On Call app if you haven’t done so already.
  3. Navigate to the Homey Volvo On Call app’s settings page and enter the VCC API key you copied from the Volvo Developer portal.
  4. Add a new Connected Vehicle device in Homey. In the browser window that opens, log in to the Volvo portal using the Volvo ID associated with the car you wish to add.
  5. Approve the scopes that appear after a successful login.
  6. The cars linked to your Volvo account will be shown in Homey. Select the car you want to add. The car’s VIN serves as the Homey device’s ID, so you can only add each vehicle once.
  7. Done
2 Likes

Anyone that owns a Volvo hybrid car that have figured out how services like Tibber start and stop charging? Do they use the scheduled charging that is available in the Volvo app, or are there other unknown APIs that they use?

Replying to myself, seems like they use the scheduled charging feature + one API call to override this and start charging.

Two new actions to arrive in the next version of the app for hybrids :+1:

Hi,

do you think it would be possible to make the JSON Voc_Status message available ? I use the MQTT hub APP to send every change to a local MQTT server, from there Node-Red takes care for the actions and the dashboard. It would be nice the have the Voc_Status in Node-Red…

Thanks

Pascal

Hi,

I guess that should be possible. My thinking now would be to expose it via what Homey calls a global token, e.g. available in any flow as a token. I assume this would work for your use case? You would need to use time or something as trigger a flow and use this new VOC status token as input to your MQTT app.

/Richard

Try it out and let me know, link to test version which expose the json in a global token. You find under the Volvo app in the token list.

This is great !!!

Will this come in the main release ?

thanks a lot… i will refine the interface and keep you updated.

Regards Pascal

Since you tested it successfully I will push the app from test to a live version (requires review by Athom). Usually takes a few days.

Hi. Great app! Thanks.
I can see information about the fuel range but i cannot use it in Flows. For example; push message when fuel range is below 20.

Will this be possible in the future?

Thanks.

Hi!

There is a test version with a fuel range change trigger added

Let me know if it works as expected.

Great, thanks! I’ll let you know.

Is het mogelijk om na elke engine stopped het verbruik op te vragen van de rit? Als ik deze kan loggen dan kan ik het verbruik op een lange periode bekijken…

I’m quite new with Homey and installed the VOC app, in devices I only see:

The distance between homey and the car
location of the car
Engine running yes or no
Parking heater running yes or no
lock state (no value “-”)
Fuel range (no value “-”)

Shouldn’t I see more like the screenshots above and also an option to enable the parking heater, closing the door, flued levels etc?

I do see them when creating flows.

Hi Rudolph,

Please write in English, my dutch is not what it used to be :wink:

This should refresh if not immediately so after a little while.
Location is fetched using a separate API vs the other information.
If you go to advanced settings of your VOC device in Homey and check the three debug properties at the bottom, do you see anything there? VOC Status and VOC Attributes should show json formatted data from last API calls. The VOC error property obviously the VOC error, last one that has occurred.

Edit:
Running my local tests I see we get an error from the status API call. No clues yet what problem is, I only get “An unknown error occured”, but all other API calls seems to work as before.

Is it possible to use the consumption of the ride after each engine stopped? If I can log it then I can view the consumption over a long period of time …

I get the access error too :frowning:

I also see the error: “An unknown error occured”

If I look at the attirbutes I see the json below. So there I can see the stuff like remote start, blink and horn, heater etc.
{
“engineCode”: “3521CF7C”,
“exteriorCode”: “35211165”,
“interiorCode”: “3521109F”,
“tyreDimensionCode”: “3521R557”,
“tyreInflationPressureLightCode”: “3521YT0A”,
“tyreInflationPressureHeavyCode”: “3521YX08”,
“gearboxCode”: “3521DB0C”,
“fuelType”: “Diesel”,
“fuelTankVolume”: 68,
“grossWeight”: 2200,
“modelYear”: 2015,
“vehicleType”: “V60”,
“vehicleTypeCode”: “3521AA26”,
“numberOfDoors”: 5,
“country”: {
“iso2”: “NL”
},
“registrationNumber”: “",
“carLocatorDistance”: 1000,
“honkAndBlinkDistance”: 500,
“bCallAssistanceNumber”: "
",
“carLocatorSupported”: true,
“honkAndBlinkSupported”: true,
“honkAndBlinkVersionsSupported”: [
“honkAndOrBlink”,
“honkAndBlink”
],
“remoteHeaterSupported”: true,
“unlockSupported”: true,
“lockSupported”: true,
“journalLogSupported”: true,
“assistanceCallSupported”: true,
“unlockTimeFrame”: 120,
“verificationTimeFrame”: 120,
“timeFullyAccessible”: 7200,
“timePartiallyAccessible”: 31680,
“subscriptionType”: “PREMIUM_2013”,
“subscriptionStartDate”: “2014-10-30T12:00:00+0000”,
“subscriptionEndDate”: “2021-12-09T17:08:01+0000”,
“serverVersion”: “20.3.21-voc-deployable”,
“VIN”: "
",
“journalLogEnabled”: true,
“highVoltageBatterySupported”: false,
“maxActiveDelayChargingLocations”: null,
“preclimatizationSupported”: false,
“sendPOIToVehicleVersionsSupported”: [
“sendSinglePOIToVehicle”
],
“climatizationCalendarVersionsSupported”: [],
“climatizationCalendarMaxTimers”: 8,
“vehiclePlatform”: “3521”,
“vin”: "
****************”,
“overrideDelayChargingSupported”: false,
“engineStartSupported”: true,
“status.parkedIndoor.supported”: false
}

Hi,

I’m seeing the same error ‘An unknown error occurred’ in the debug section.
Also the data for ‘locked’ and ‘fuel range’ are no longer updated for 14 days now. My flow ‘get a notice when the engine is started when not at home’ is no longer triggered.

The capabilities engine, heater, locked and range all come from the status message - so since Volvo changed something in their API, which stopped it from working, you wont see any new values to those.

All other APIs works as before, location, attributes, list cars on the Volvo account, etc. Only the status API is failing. Will try to figure out why, did a quick check from the latest version of the app and Volvo have changed the iOS app to use OAuth as I understand instead of basic authentication. This shouldn’t explain the problem here since they use OAuth for all API requests from the app, not only status API call.

Will spend some time later in the week to look more into this. In the meantime, if you stumble upon a mention of the same problem in any of the other VOC home automation bindings out there do let me know.