core: BMW ConnectedDrive - MyBMW API error: HTTPStatusError: invalid_request
The problem
BMW ConnectedDrive does not seem to be able to connect anymore. In the logs I see the following error: “MyBMW API error: HTTPStatusError: invalid_request” and after that I see an error “Unexpected error fetching bmw_connected_drive-xxxxxxxxxxxxx@gmail.com data: ‘targetPressure’”. The official app (v3.1.1) still works. I already completely uninstalled and re-installed the component, but that didn’t help.
I see there is a newer version of bimmer_connected with some changes for the API. Will this solve the issue? Can the version in HA core be bumped to the newest version of bimmer_connected?
What version of Home Assistant Core has the issue?
2023.5.0
What was the last working version of Home Assistant Core?
2023.4.6
What type of installation are you running?
Home Assistant OS
Integration causing the issue
BMW Connected Drive
Link to integration documentation on our website
https://www.home-assistant.io/integrations/bmw_connected_drive/
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
**First error**
Logger: bimmer_connected.api.authentication
Source: components/bmw_connected_drive/coordinator.py:58
First occurred: 22:01:30 (5 occurrences)
Last logged: 22:05:00
MyBMW API error: HTTPStatusError: invalid_request - The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed
**Second error**
Logger: homeassistant.components.bmw_connected_drive.coordinator
Source: components/bmw_connected_drive/coordinator.py:58
Integration: BMW Connected Drive (documentation, issues)
First occurred: 22:01:38 (5 occurrences)
Last logged: 22:05:03
Unexpected error fetching bmw_connected_drive-xxxxxxxxxxxx@gmail.com data: 'targetPressure'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/components/bmw_connected_drive/coordinator.py", line 58, in _async_update_data
await self.account.get_vehicles()
File "/usr/local/lib/python3.10/site-packages/bimmer_connected/account.py", line 132, in get_vehicles
self.add_vehicle(vehicle.data, vehicle_state, charging_settings, fetched_at)
File "/usr/local/lib/python3.10/site-packages/bimmer_connected/account.py", line 147, in add_vehicle
existing_vehicle.update_state(vehicle_base, vehicle_state, charging_settings, fetched_at)
File "/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/vehicle.py", line 119, in update_state
setattr(self, vehicle_attribute, cls.from_vehicle_data(vehicle_data))
File "/usr/local/lib/python3.10/site-packages/bimmer_connected/models.py", line 37, in from_vehicle_data
parsed = cls._parse_vehicle_data(vehicle_data) or {}
File "/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.py", line 53, in _parse_vehicle_data
retval["front_left"] = TireState(**vehicle_data[ATTR_STATE]["tireState"]["frontLeft"])
File "/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.py", line 16, in __init__
self.target_pressure: int = status["targetPressure"]
KeyError: 'targetPressure'
Additional information
No response
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 1
- Comments: 44 (11 by maintainers)
This will be fixed in 2023.5.3 as #92648 got merged.
I have the same logging as @peterossege.
I also have the fingerprint, maybe this can help debugging.
@home-assistant close
I updated yesterday and all seems to work fine, however I did actually remove it first and then added it again (using same names etc) and then it worked just as before incl scripts and stuff added to the control panel.
I can confirm that the temporary fix from @slashback100 works. It seems that the targetPressure is not available anymore in the JSON responses.
If others want to apply this temp fix:
docker exec -it $(docker ps -f name=homeassistant -q) bashto go into the docker of HAvi ./usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.pyI have the same issue. The logfile contains infos about tire presure. It seems to be new. My logs:
2023-05-05 07:35:43.025 DEBUG (MainThread) [bimmer_connected.account] Getting vehicle list 2023-05-05 07:35:43.025 DEBUG (MainThread) [bimmer_connected.account] Getting vehicle list 2023-05-05 07:35:43.241 DEBUG (MainThread) [bimmer_connected.api.authentication] Authenticating with refresh token for North America & Rest of World. 2023-05-05 07:35:43.828 ERROR (MainThread) [bimmer_connected.api.authentication] MyBMW API error: HTTPStatusError: invalid_request - The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed 2023-05-05 07:35:43.833 DEBUG (MainThread) [bimmer_connected.api.authentication] Unable to get access token using refresh token, falling back to username/password. 2023-05-05 07:35:43.927 DEBUG (MainThread) [bimmer_connected.api.authentication] Authenticating with MyBMW flow for North America & Rest of World. 2023-05-05 07:35:46.364 ERROR (MainThread) [homeassistant.components.bmw_connected_drive.coordinator] Unexpected error fetching bmw_connected_drive-my.mail@adress.com data: ‘targetPressure’ Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 258, in _async_refresh self.data = await self._async_update_data() File “/usr/src/homeassistant/homeassistant/components/bmw_connected_drive/coordinator.py”, line 58, in _async_update_data await self.account.get_vehicles() File “/usr/local/lib/python3.10/site-packages/bimmer_connected/account.py”, line 132, in get_vehicles self.add_vehicle(vehicle.data, vehicle_state, charging_settings, fetched_at) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/account.py”, line 147, in add_vehicle existing_vehicle.update_state(vehicle_base, vehicle_state, charging_settings, fetched_at) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/vehicle.py”, line 119, in update_state setattr(self, vehicle_attribute, cls.from_vehicle_data(vehicle_data)) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/models.py”, line 37, in from_vehicle_data parsed = cls._parse_vehicle_data(vehicle_data) or {} File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.py”, line 53, in _parse_vehicle_data retval[“front_left”] = TireState(**vehicle_data[ATTR_STATE][“tireState”][“frontLeft”]) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.py”, line 16, in init self.target_pressure: int = status[“targetPressure”] KeyError: ‘targetPressure’ 2023-05-05 07:35:46.368 DEBUG (MainThread) [homeassistant.components.bmw_connected_drive.coordinator] Finished fetching bmw_connected_drive-my.mail@adress.com data in 3.344 seconds (success: False) 2023-05-05 07:36:06.609 DEBUG (MainThread) [bimmer_connected.account] Getting vehicle list 2023-05-05 07:36:06.610 DEBUG (MainThread) [bimmer_connected.account] Getting vehicle list 2023-05-05 07:36:06.802 DEBUG (MainThread) [bimmer_connected.api.authentication] Authenticating with refresh token for North America & Rest of World. 2023-05-05 07:36:07.175 ERROR (MainThread) [bimmer_connected.api.authentication] MyBMW API error: HTTPStatusError: invalid_request - The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed 2023-05-05 07:36:07.181 DEBUG (MainThread) [bimmer_connected.api.authentication] Unable to get access token using refresh token, falling back to username/password. 2023-05-05 07:36:07.275 DEBUG (MainThread) [bimmer_connected.api.authentication] Authenticating with MyBMW flow for North America & Rest of World. 2023-05-05 07:36:09.988 ERROR (MainThread) [homeassistant.components.bmw_connected_drive.coordinator] Unexpected error fetching bmw_connected_drive-my.mail@adress.com data: ‘targetPressure’ Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 258, in _async_refresh self.data = await self._async_update_data() File “/usr/src/homeassistant/homeassistant/components/bmw_connected_drive/coordinator.py”, line 58, in _async_update_data await self.account.get_vehicles() File “/usr/local/lib/python3.10/site-packages/bimmer_connected/account.py”, line 132, in get_vehicles self.add_vehicle(vehicle.data, vehicle_state, charging_settings, fetched_at) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/account.py”, line 147, in add_vehicle existing_vehicle.update_state(vehicle_base, vehicle_state, charging_settings, fetched_at) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/vehicle.py”, line 119, in update_state setattr(self, vehicle_attribute, cls.from_vehicle_data(vehicle_data)) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/models.py”, line 37, in from_vehicle_data parsed = cls._parse_vehicle_data(vehicle_data) or {} File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.py”, line 53, in _parse_vehicle_data retval[“front_left”] = TireState(**vehicle_data[ATTR_STATE][“tireState”][“frontLeft”]) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.py”, line 16, in init self.target_pressure: int = status[“targetPressure”] KeyError: ‘targetPressure’ 2023-05-05 07:36:09.992 DEBUG (MainThread) [homeassistant.components.bmw_connected_drive.coordinator] Finished fetching bmw_connected_drive-my.mail@adress.com data in 3.383 seconds (success: False) 2023-05-05 07:36:50.327 DEBUG (MainThread) [bimmer_connected.account] Getting vehicle list 2023-05-05 07:36:50.328 DEBUG (MainThread) [bimmer_connected.account] Getting vehicle list 2023-05-05 07:36:50.518 DEBUG (MainThread) [bimmer_connected.api.authentication] Authenticating with refresh token for North America & Rest of World. 2023-05-05 07:36:51.021 ERROR (MainThread) [bimmer_connected.api.authentication] MyBMW API error: HTTPStatusError: invalid_request - The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed 2023-05-05 07:36:51.034 DEBUG (MainThread) [bimmer_connected.api.authentication] Unable to get access token using refresh token, falling back to username/password. 2023-05-05 07:36:51.132 DEBUG (MainThread) [bimmer_connected.api.authentication] Authenticating with MyBMW flow for North America & Rest of World. 2023-05-05 07:36:56.593 ERROR (MainThread) [homeassistant.components.bmw_connected_drive.coordinator] Unexpected error fetching bmw_connected_drive-my.mail@adress.com data: ‘targetPressure’ Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 258, in _async_refresh self.data = await self._async_update_data() File “/usr/src/homeassistant/homeassistant/components/bmw_connected_drive/coordinator.py”, line 58, in _async_update_data await self.account.get_vehicles() File “/usr/local/lib/python3.10/site-packages/bimmer_connected/account.py”, line 132, in get_vehicles self.add_vehicle(vehicle.data, vehicle_state, charging_settings, fetched_at) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/account.py”, line 147, in add_vehicle existing_vehicle.update_state(vehicle_base, vehicle_state, charging_settings, fetched_at) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/vehicle.py”, line 119, in update_state setattr(self, vehicle_attribute, cls.from_vehicle_data(vehicle_data)) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/models.py”, line 37, in from_vehicle_data parsed = cls._parse_vehicle_data(vehicle_data) or {} File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.py”, line 53, in _parse_vehicle_data retval[“front_left”] = TireState(**vehicle_data[ATTR_STATE][“tireState”][“frontLeft”]) File “/usr/local/lib/python3.10/site-packages/bimmer_connected/vehicle/tires.py”, line 16, in init self.target_pressure: int = status[“targetPressure”] KeyError: ‘targetPressure’ 2023-05-05 07:36:56.598 DEBUG (MainThread) [homeassistant.components.bmw_connected_drive.coordinator] Finished fetching bmw_connected_drive-my.mail@adress.com data in 6.271 seconds (success: False)