Volvo Cars integration

There it is, API is still not returning tyre data:

Request [tyres] response: {'data': {'frontLeft': {'value': 'UNSPECIFIED', 'timestamp': '2025-06-18T14:52:25.145Z'}, 'frontRight': {'value': 'UNSPECIFIED', 'timestamp': '2025-06-18T14:52:25.145Z'}, 'rearLeft': {'value': 'UNSPECIFIED', 'timestamp': '2025-06-18T14:52:25.145Z'}, 'rearRight': {'value': 'UNSPECIFIED', 'timestamp': '2025-06-18T14:52:25.145Z'}}}

Not sure why they’ve disabled this, I would love to see it back too.

Dropbox I sent u a log, seems it worked a few hours and now most of the entities are not refreshed anymore
Not sure what happened - reinstall and new otp, seems same
Any idea?

Hi, reinstall, Volvo id password changed, api key changed, for now back :+1:

Seeing that you created a PR to improve the situation on the different API’s you are probably already much deeper into this.
But I assume you did see this allready?:
https://developer.volvocars.com/apis/docs/test-access-tokens/

Hi!
I’m new into integrating my new EX90 into HA. The HA own integration fails for me so I tried this one. During my first try I got an API error but then I removed the config and re-created one - everything seems to work. I got my car in HA and the status of the battery for example matches the info from the Volvo App. Thanks a lot!

Now I got the values in my HA - anyone for some nice visualization ideas & examples? Of course I could set up a simple “gauge” to reflect the battery status but maybe a “car silhouette” with a “filling” green color inside or smth would look nicer?! Or even more/other values… I quickly scanned this topic here but couldn’t find any examples. Anyone got something nice looking or a hint/push/link to a separate topic where such visuals examples exist? Thanks a lot for all your efforts!!! Highly appreciated!

Hi and welcome!

I’m using Ultra Vehicle Card, and others are also using Vehicle Status Card.

1 Like

Thanks a lot! I’ll take a look at them

Does it work in Australia?

I saw that Australia was not on the list of supported countries. I just want to know if this is the likely reason, or I have done some other step wrong. Yes I have generated the API, [I did not ‘publish’ it] got the OTP etc. All good. However when I add my car to the application I get :

I guess you are just unlucky that Volvo doesn’t support Australia - yet. On the documentation page it is stated:

We are working to bring other regions online.

1 Like

Having issues since update this morning:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 749, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/volvo_cars/__init__.py", line 104, in async_setup_entry
    await token_coordinator.async_schedule_refresh(True)
  File "/config/custom_components/volvo_cars/coordinator.py", line 395, in async_schedule_refresh
    await self._async_refresh_token(raise_on_auth_failed=True)
  File "/config/custom_components/volvo_cars/coordinator.py", line 430, in _async_refresh_token
    result = await self._auth_api.async_refresh_token(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        self._store.data["refresh_token"]
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/config/custom_components/volvo_cars/volvo/auth.py", line 129, in async_refresh_token
    auth = await self._async_refresh_token(refresh_token)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/volvo_cars/volvo/auth.py", line 211, in _async_refresh_token
    return TokenResponse.from_dict(data)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/config/custom_components/volvo_cars/volvo/models.py", line 58, in from_dict
    return cls(**class_data)
TypeError: TokenResponse.__init__() missing 1 required positional argument: 'refresh_token'

same here:

Logger: homeassistant.config_entries
Source: config_entries.py:749
First occurred: 15:25:13 (2 occurrences)
Last logged: 15:45:06

Error setting up entry Volvo YV1XKEFV7P2054297 for volvo_cars
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config_entries.py”, line 749, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/volvo_cars/init.py”, line 104, in async_setup_entry
await token_coordinator.async_schedule_refresh(True)
File “/config/custom_components/volvo_cars/coordinator.py”, line 395, in async_schedule_refresh
await self._async_refresh_token(raise_on_auth_failed=True)
File “/config/custom_components/volvo_cars/coordinator.py”, line 430, in _async_refresh_token
result = await self._auth_api.async_refresh_token(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self._store.data[“refresh_token”]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/config/custom_components/volvo_cars/volvo/auth.py”, line 129, in async_refresh_token
auth = await self._async_refresh_token(refresh_token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/volvo_cars/volvo/auth.py”, line 211, in _async_refresh_token
return TokenResponse.from_dict(data)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File “/config/custom_components/volvo_cars/volvo/models.py”, line 58, in from_dict
return cls(**class_data)
TypeError: TokenResponse.init() missing 1 required positional argument: ‘refresh_token’

Hi! Please see here: Can't start integration · Issue #165 · thomasddn/ha-volvo-cars · GitHub. There is a temporary workaround available in version 1.5.5-b0. You need to explicitly download this version from HACS, it won’t get offered automatically.

thanks for the info

Hallo. Ich hatte vorher Volvo2mqtt, nun nutze ich dieses, da keine Daten mehr übertragen werden. Nun hat homeassistant vorher die entitäten mittels mqtt bereitgestellt. Kann mir jemand helfen wie ich die entitäten nun per mqtt server bekomme.

Vorher war es beispielsweise so:

soc:
source: mqtt
broker: 192.168.178.176:1883
user: …
password: …
topic: homeassistant/sensor/YV1XZERRXR2234175_battery_charge_level/state
timeout: 720h

I think this might set you on the way: SOC ist immer 90% (Keba P30) · evcc-io/evcc · Discussion #22198 · GitHub (see bottom of comment)

You will need https://www.home-assistant.io/integrations/mqtt_statestream/

Hallo. Ich kann mit dem Button die Klimatisierung einschalten. Jedoch kein ausschalten der Klimatisierung mit dem Ausschaltbutton. Ist das bei anderen auch so. Gibt es eine Möglichkeit den Status der Klimatisierung anzuzeigen?

I guess you have a EX30? If so, please read https://github.com/thomasddn/ha-volvo-cars/issues/124. If not, then I’d like to see some debug logs.

For the status of the air conditioning, please read https://github.com/thomasddn/ha-volvo-cars/issues/2.

Danke. Alles gelesen. Ich habe einen Vollelektrischen xc40 Modelljahr 2024. Wie in der Beschreibung steht funktioniert es bei diesem auch nicht.

Hi! It seems you are right. I also have a full electric XC40 2024 and stopping climatization does not seem to work anymore.

I enabled debug logging on the Volvo entry in HA, and based on what I see it is a Volvo API issue.

2025-07-07 15:56:44.180 DEBUG (MainThread) [custom_components.volvo_cars.button] Command climatization-stop executing
2025-07-07 15:56:44.180 DEBUG (MainThread) [custom_components.volvo_cars.volvo.api] Request [commands/climatization-stop]: POST https://api.volvocars.com/connected-vehicle/v2/vehicles/**REDACTED**/commands/climatization-stop
2025-07-07 15:56:45.484 DEBUG (MainThread) [custom_components.volvo_cars.volvo.api] Request [commands/climatization-stop] status: 200
2025-07-07 15:56:45.484 DEBUG (MainThread) [custom_components.volvo_cars.volvo.api] Request [commands/climatization-stop] response: {'data': {'vin': '**REDACTED**', 'invokeStatus': 'COMPLETED', 'message': ''}}
2025-07-07 15:56:45.484 DEBUG (MainThread) [custom_components.volvo_cars.button] Command climatization-stop result: COMPLETED

The response indicates 200 (means OK) and the response data also indicates “COMPLETED”.

There is not much I can do I’m afraid.

Hi, my account on Volvo is with my phone number not email. Company car. Four days ago my authentification expired and i try to redo it but he sends OTP on email not my phone and there is no email on my account. How can i get my OTP on my phone as sms as on volvo app its.