Closed robinostlund closed 9 months ago
Thanks a lot for your hard work @oliverrahner and @robinostlund! :)
Let the party begin:
2023-11-28 22:13:21.972 INFO (MainThread) [volkswagencarnet.vw_connection] Successfully logged in
2023-11-28 22:13:23.731 ERROR (MainThread) [custom_components.volkswagencarnet] Unexpected error fetching volkswagencarnet data: 'fuelLevelStatus'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 290, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/volkswagencarnet/__init__.py", line 502, in _async_update_data
dashboard = vehicle.dashboard(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 647, in dashboard
return Dashboard(self, **config)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in __init__
self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, **config)]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in <listcomp>
self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, **config)]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 57, in setup
if not self.is_supported:
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 103, in is_supported
if hasattr(self.vehicle, supported):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 861, in is_oil_inspection_supported
if not self.has_combustion_engine():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 2531, in has_combustion_engine
return self.is_primary_drive_combustion() or self.is_secondary_drive_combustion()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 2521, in is_primary_drive_combustion
return find_path(self.attrs, "measurements.fuelLevelStatus.value.primaryEngineType") in ENGINE_TYPE_COMBUSTION
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_utilities.py", line 97, in find_path
return find_path(src[path[0]], path[1:])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_utilities.py", line 97, in find_path
return find_path(src[path[0]], path[1:])
~~~^^^^^^^^^
KeyError: 'fuelLevelStatus'
VW Touran 1.5 TSI 2021
Thank you for your hard work, everyone!
Continuing the party - VW Passat GTE 2018 phev
`This error originated from a custom integration.
Logger: custom_components.volkswagencarnet Source: helpers/update_coordinator.py:290 Integration: Volkswagen We Connect (documentation, issues) First occurred: 10:25:32 PM (3 occurrences) Last logged: 10:26:48 PM
Unexpected error fetching volkswagencarnet data: 'measurements'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 290, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/volkswagencarnet/init.py", line 502, in _async_update_data
dashboard = vehicle.dashboard(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 647, in dashboard
return Dashboard(self, config)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in init
self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, config)]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in
KeyError: 'measurements' `
Also:
`Logger: volkswagencarnet.vw_connection
Source: runner.py:186
First occurred: 10:25:31 PM (12 occurrences)
Last logged: 10:26:48 PM
Got unhandled error from server: 429
Could not fetch operation list, HTTP status code: 429
Could not fetch parkingposition for vin WVWZZZ*`
A HUGE THANK YOU for everyone working on this! Now my e-UP 2021 is finally showing entities and can be smart charged again.
EDIT Only issue I found so far is this:
File "/config/custom_components/volkswagencarnet/switch.py", line 86, in async_turn_on
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 557, in turn_on
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 389, in set_charger
File "/config/custom_components/volkswagencarnet/switch.py", line 92, in async_turn_off
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 561, in turn_off
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 389, in set_charger
File "/config/custom_components/volkswagencarnet/switch.py", line 86, in async_turn_on
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 557, in turn_on
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 389, in set_charger
File "/config/custom_components/volkswagencarnet/switch.py", line 86, in async_turn_on
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 557, in turn_on
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 389, in set_charger
EDIT2 And these sensors seems to be gone: (Really missing position)
Following Sensors are not there anymore:
Big Thanks to ALL for your Great Work Following Error on my Side:
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht
Logger: volkswagencarnet.vw_connection Source: custom_components/volkswagencarnet/init.py:527 Integration: Volkswagen WeConnect (documentation, issues) First occurred: 22:57:48 (15 occurrences) Last logged: 23:14:35
User identity token could not be verified!
Issue with parking position: `Logger: volkswagencarnet.vw_connection Source: runner.py:188 First occurred: 07:40:37 (128 occurrences) Last logged: 08:34:34
Could not fetch parkingposition for vin WVG***** Could not fetch vehicle data, error: 'NoneType' object is not iterable Could not fetch operation list, HTTP status code: 502`
Updated to latest Beta version and tried to add integration back again... it doesn't fail now logging in anymore but I see a forever spinning 'Logging in to We Connect' window... not sure how to debug as it doesn't stop!
Update: I thought nothing was to be seen in the logs but I now found it:
This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/volkswagencarnet/config_flow.py:167
Integration: Volkswagen We Connect (documentation, issues)
First occurred: 8:35:07 AM (2 occurrences)
Last logged: 8:42:54 AM
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 293, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 389, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/volkswagencarnet/config_flow.py", line 166, in async_step_login
self._init_info["CONF_VEHICLES"] = {
^
File "/config/custom_components/volkswagencarnet/config_flow.py", line 167, in <dictcomp>
vehicle.vin: vehicle.dashboard().instruments for vehicle in self._connection.vehicles
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 647, in dashboard
return Dashboard(self, **config)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in __init__
self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, **config)]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in <listcomp>
self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, **config)]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 57, in setup
if not self.is_supported:
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 103, in is_supported
if hasattr(self.vehicle, supported):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 861, in is_oil_inspection_supported
if not self.has_combustion_engine():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 2531, in has_combustion_engine
return self.is_primary_drive_combustion() or self.is_secondary_drive_combustion()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 2521, in is_primary_drive_combustion
return find_path(self.attrs, "measurements.fuelLevelStatus.value.primaryEngineType") in ENGINE_TYPE_COMBUSTION
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_utilities.py", line 97, in find_path
return find_path(src[path[0]], path[1:])
~~~^^^^^^^^^
KeyError: 'measurements'
Hi Thansk alot! One issue i have on the e-golf is that it does not report remaining charge time, :)
Just to sum up the current development status:
locked
entities are not supposed to work right now, but I'm on itparking_position
On my side the Volkswagen app also doesn't load or work, so no clue if this is related to e.g. rate limiting or if Volkswagen itself has issues (NL).
Errors I see in the logging:
This error originated from a custom integration.
Logger: volkswagencarnet.vw_connection
Source: custom_components/volkswagencarnet/__init__.py:541
Integration: Volkswagen We Connect (documentation, issues)
First occurred: 00:10:25 (10 occurrences)
Last logged: 08:30:29
Something went wrong when refreshing VW account tokens.
Logger: volkswagencarnet.vw_connection
Source: runner.py:188
First occurred: 01:41:21 (323 occurrences)
Last logged: 08:50:57
Could not fetch parkingposition for vin ***
Got unhandled error from server: 429
Could not fetch operation list, HTTP status code: 429
Could not fetch operation list, HTTP status code: 502
This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/volkswagencarnet/__init__.py:271
Integration: Volkswagen We Connect (documentation, issues)
First occurred: 05:43:20 (31 occurrences)
Last logged: 08:51:02
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 233, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 389, in _async_refresh
self.async_update_listeners()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 172, in async_update_listeners
update_callback()
File "/config/custom_components/volkswagencarnet/__init__.py", line 318, in async_write_ha_state
backend_refresh_time = self.instrument.last_refresh
^^^^^^^^^^^^^^^
File "/config/custom_components/volkswagencarnet/__init__.py", line 381, in instrument
return self.data.instrument(self.vin, self.component, self.attribute)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/volkswagencarnet/__init__.py", line 271, in instrument
raise ValueError(f"Instrument not found; component: {component}, attribute: {attr}")
ValueError: Instrument not found; component: binary_sensor, attribute: charging_cable_connected
@oliverrahner unfortunately have not too much time to debug it, but it seems like for the combustion cars like Touran the "fuelLevelStatus" and in general "measurements" are different.
Here the example for my Touran:
{
"access": {
"accessStatus": {
"value": {
"overallStatus": "safe",
"carCapturedTimestamp": "datetime.datetime(2023, 11, 28, 18, 50, 17, tzinfo=datetime.timezone.utc)",
"doors": [
{
"name": "bonnet",
"status": [
"closed"
]
},
{
"name": "frontLeft",
"status": [
"locked",
"closed"
]
},
{
"name": "frontRight",
"status": [
"locked",
"closed"
]
},
{
"name": "rearLeft",
"status": [
"locked",
"closed"
]
},
{
"name": "rearRight",
"status": [
"locked",
"closed"
]
},
{
"name": "trunk",
"status": [
"locked",
"closed"
]
}
],
"windows": [
{
"name": "frontLeft",
"status": [
"closed"
]
},
{
"name": "frontRight",
"status": [
"closed"
]
},
{
"name": "rearLeft",
"status": [
"closed"
]
},
{
"name": "rearRight",
"status": [
"closed"
]
},
{
"name": "roofCover",
"status": [
"unsupported"
]
},
{
"name": "sunRoof",
"status": [
"closed"
]
}
],
"doorLockStatus": "locked"
}
}
},
"userCapabilities": {
"capabilitiesStatus": {
"value": [
{
"id": "access",
"status": [
2003,
2002
],
"expirationDate": "datetime.datetime(2022, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "cubicNetwork",
"userDisablingAllowed": "False"
},
{
"id": "cubicNetworkConsumption",
"userDisablingAllowed": "False"
},
{
"id": "dealerAppointment",
"status": [
1004
],
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": true
},
{
"id": "destinations",
"status": [
2003,
2002
],
"expirationDate": "datetime.datetime(2022, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "emergencyCalling",
"expirationDate": "datetime.datetime(2031, 3, 8, 19, 24, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "fuelStatus",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "honkAndFlash",
"status": [
2003,
2002
],
"expirationDate": "datetime.datetime(2022, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "measurements",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "oilLevelStatus",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "parkingPosition",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "personalizationOnline",
"userDisablingAllowed": "False"
},
{
"id": "roadsideAssistant",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "state",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "theftWarning",
"status": [
2003,
2002
],
"expirationDate": "datetime.datetime(2022, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "transactionHistoryAntiTheftAlert",
"status": [
2003,
2002
],
"expirationDate": "datetime.datetime(2022, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "transactionHistoryAntiTheftAlertDelete",
"status": [
2003,
2002
],
"expirationDate": "datetime.datetime(2022, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "transactionHistoryHonkFlash",
"status": [
2003,
2002
],
"expirationDate": "datetime.datetime(2022, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "transactionHistoryLockUnlock",
"status": [
2003,
2002
],
"expirationDate": "datetime.datetime(2022, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "tripStatistics",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleHealth",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleHealthArchive",
"status": [
1007
],
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleHealthInspection",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleHealthSettings",
"status": [
1007
],
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleHealthTrigger",
"status": [
1007
],
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleHealthWakeUp",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleHealthWarnings",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleLights",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleWakeUp",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
},
{
"id": "vehicleWakeUpTrigger",
"expirationDate": "datetime.datetime(2051, 4, 12, 0, 0, tzinfo=datetime.timezone.utc)",
"userDisablingAllowed": "False"
}
]
}
},
"fuelStatus": {
"rangeStatus": {
"value": {
"carCapturedTimestamp": "datetime.datetime(2023, 11, 28, 18, 50, 17, tzinfo=datetime.timezone.utc)",
"carType": "gasoline",
"primaryEngine": {
"type": "gasoline",
"currentSOC_pct": 60,
"remainingRange_km": 340,
"currentFuelLevel_pct": 60
},
"totalRange_km": 340
}
}
},
"vehicleLights": {
"lightsStatus": {
"value": {
"carCapturedTimestamp": "datetime.datetime(2023, 11, 28, 18, 50, 17, tzinfo=datetime.timezone.utc)",
"lights": [
{
"name": "right",
"status": "off"
},
{
"name": "left",
"status": "off"
}
]
}
}
},
"vehicleHealthInspection": {
"maintenanceStatus": {
"value": {
"carCapturedTimestamp": "datetime.datetime(2023, 11, 28, 18, 50, 17, tzinfo=datetime.timezone.utc)",
"inspectionDue_days": 402,
"inspectionDue_km": 17500,
"mileage_km": 33652,
"oilServiceDue_days": 384,
"oilServiceDue_km": 16700
}
}
},
"measurements": {
"rangeStatus": {
"value": {
"carCapturedTimestamp": "datetime.datetime(2023, 11, 28, 18, 50, 17, tzinfo=datetime.timezone.utc)",
"gasolineRange": 340,
"totalRange_km": 340
}
},
"odometerStatus": {
"value": {
"carCapturedTimestamp": "datetime.datetime(2023, 11, 28, 18, 50, 17, tzinfo=datetime.timezone.utc)",
"odometer": 33652
}
}
}
}
Fuel status and many other params are actually in a different path.
For example: vw_vehicle.py line 2521.
Instead of: measurements.fuelLevelStatus.value.primaryEngineType
Should be: fuelStatus.rangeStatus.value.primaryEngine.type
I will try to find some time today to try to adapt it to my Touran, I will keep you posted.
@Driekes that "HTTP status code: 429" line means "Too many requests", so it seems to be related to rate limiting. Did that happen immediately or after a certain time?
Updated to latest Beta version and tried to add integration back again... it doesn't fail now logging in anymore but I see a forever spinning 'Logging in to We Connect' window... not sure how to debug as it doesn't stop!
Update: I thought nothing was to be seen in the logs but I now found it:
This error originated from a custom integration. Logger: homeassistant Source: custom_components/volkswagencarnet/config_flow.py:167 Integration: Volkswagen We Connect (documentation, issues) First occurred: 8:35:07 AM (2 occurrences) Last logged: 8:42:54 AM Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 293, in async_configure result = await self._async_handle_step( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 389, in _async_handle_step result: FlowResult = await getattr(flow, method)(user_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/volkswagencarnet/config_flow.py", line 166, in async_step_login self._init_info["CONF_VEHICLES"] = { ^ File "/config/custom_components/volkswagencarnet/config_flow.py", line 167, in <dictcomp> vehicle.vin: vehicle.dashboard().instruments for vehicle in self._connection.vehicles ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 647, in dashboard return Dashboard(self, **config) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in __init__ self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, **config)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in <listcomp> self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, **config)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 57, in setup if not self.is_supported: ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 103, in is_supported if hasattr(self.vehicle, supported): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 861, in is_oil_inspection_supported if not self.has_combustion_engine(): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 2531, in has_combustion_engine return self.is_primary_drive_combustion() or self.is_secondary_drive_combustion() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 2521, in is_primary_drive_combustion return find_path(self.attrs, "measurements.fuelLevelStatus.value.primaryEngineType") in ENGINE_TYPE_COMBUSTION ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_utilities.py", line 97, in find_path return find_path(src[path[0]], path[1:]) ~~~^^^^^^^^^ KeyError: 'measurements'
Same here.... The logging in pop up keeps spinning
@stickpin That is funny... for my 2023 Arteon (Diesel only), these properties are present under both nodes. I could just adapt both and check which one is available.
Same here at the moment(DE) [v4.4.67] with e-golf. The Volkswagen App is receiving no data. Logs: "Something went wrong when refreshing VW account tokens." Regards
Also my Audi Connect integration is not loading this morning after I restarted HA for the new VW integration. So could it be the issues are on the VW/Audi side and nothing to do with the integration itself...
Good job, the integration logs in, loads the sensors of my Polo. For maximum satisfaction, I still lack the trip sensors. Thank you to the creators of the integration.
@Driekes that "HTTP status code: 429" line means "Too many requests", so it seems to be related to rate limiting. Did that happen immediately or after a certain time?
Let me check the logging. It did work, because I did get results after installing yesterday evening.
I also had the other component the 'id' HA component running which I disabled shortly after. That component had also recommendations to only check less than e.g. every 90 seconds, so maybe that conflicted. I will await until tomorrow to see if it resolves itself.
On my side the Volkswagen app also doesn't load or work, so no clue if this is related to e.g. rate limiting or if Volkswagen itself has issues (NL).
Mine also did not work earlier today for about an hour or two but now it is back and data still also shows in HA - seems to me there was rather something on VW.
@MHerweijer @menloperk I had the same problem (endless spinning) but tried some hours later again, and now it works.
After upgrading to the beta version, I unfortunately have the same behaviour as some of the previous posters. During the login process on the integration page, the window remains permanently open with a spinning wheel. I had already noticed the same thing 12 hours earlier. Now that the login via the web and the app works, I don't think it has anything to do with too many attempts. My vehicle is a Passat Diesel model year 2019. If you need further information, I'm happy to assist.
I see the following information in the log file:
2023-11-29 13:05:25.685 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 293, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 389, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/volkswagencarnet/config_flow.py", line 166, in async_step_login
self._init_info["CONF_VEHICLES"] = {
^
File "/config/custom_components/volkswagencarnet/config_flow.py", line 167, in
KeyError: 'fuelLevelStatus'
Most of the above issues should already be fixed (for technical details, you might look at https://github.com/robinostlund/volkswagencarnet/pull/216). We are now waiting for @robinostlund to push out another beta release for you to test. In the meantime, I'm trying to get the command stuff working (stop/start charging, stop/start climatisation, stop/start window heating, lock/unlock car).
Also, the additional features now working are:
locked
entitiesparking_position
last_trip
informationUpdated to latest Beta version and tried to add integration back again... it doesn't fail now logging in anymore but I see a forever spinning 'Logging in to We Connect' window... not sure how to debug as it doesn't stop!
Update: I thought nothing was to be seen in the logs but I now found it:
This error originated from a custom integration. Logger: homeassistant Source: custom_components/volkswagencarnet/config_flow.py:167 Integration: Volkswagen We Connect (documentation, issues) First occurred: 8:35:07 AM (2 occurrences) Last logged: 8:42:54 AM Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 293, in async_configure result = await self._async_handle_step( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 389, in _async_handle_step result: FlowResult = await getattr(flow, method)(user_input) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/volkswagencarnet/config_flow.py", line 166, in async_step_login self._init_info["CONF_VEHICLES"] = { ^ File "/config/custom_components/volkswagencarnet/config_flow.py", line 167, in <dictcomp> vehicle.vin: vehicle.dashboard().instruments for vehicle in self._connection.vehicles ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 647, in dashboard return Dashboard(self, **config) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in __init__ self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, **config)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 1110, in <listcomp> self.instruments = [instrument for instrument in create_instruments() if instrument.setup(vehicle, **config)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 57, in setup if not self.is_supported: ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_dashboard.py", line 103, in is_supported if hasattr(self.vehicle, supported): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 861, in is_oil_inspection_supported if not self.has_combustion_engine(): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 2531, in has_combustion_engine return self.is_primary_drive_combustion() or self.is_secondary_drive_combustion() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_vehicle.py", line 2521, in is_primary_drive_combustion return find_path(self.attrs, "measurements.fuelLevelStatus.value.primaryEngineType") in ENGINE_TYPE_COMBUSTION ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/volkswagencarnet/vw_utilities.py", line 97, in find_path return find_path(src[path[0]], path[1:]) ~~~^^^^^^^^^ KeyError: 'measurements'
The same error here. I got a VW Passat Variant model 2018.
@MHerweijer @menloperk I had the same problem (endless spinning) but tried some hours later again, and now it works.
I ended up deleting it from hacs, rebooting, installing again and then I was able to install the integration without any spinning.
Keep up the good work guys!
Please make sure to update to the release from ~2:40 PM today before posting any further issues!
Everything should work now, apart from control stuff (stop/start charging, stop/start climatisation, stop/start window heating, lock/unlock car).
Just as a reminder, should anybody feel overwhelmingly thankful :) @robinostlund 's buymeacoffee: https://www.buymeacoffee.com/robinostlund my ko-fi: https://ko-fi.com/oliverrahner
Everything should work now, apart from control stuff (stop/start charging, stop/start climatisation, stop/start window heating, lock/unlock car).
are the device tracker also back? they do not show up in my case
They should... have you updated the integration to 4.4.68? If so, please go here: https://my.home-assistant.io/redirect/developer_states/ and filter for "position", then post a screenshot like this (with the sensistive details blurred out):
seems the first download of the new version did not worked. I downloaded it again and now it shows up. thank you so much
Great! Works so far. I'm just missing the "last connected" timestamp when the vw server did a connection to the car the last time. (and which had an car-'model' attribute as well - ah, sorry, ok I see a Model attribute on most of the sensors, got it)
Same 429 Issue for me after the integration was running fine for about 14 hours. But since this afternoonI also get the 429 Error and neither the Integration nor the iOS APP or Website are showing any results.
2023-11-29 16:10:37.950 ERROR (MainThread) [volkswagencarnet.vw_connection] Got unhandled error from server: 429 2023-11-29 16:10:37.951 WARNING (MainThread) [volkswagencarnet.vw_connection] Could not fetch operation list, HTTP status code: 429 2023-11-29 16:10:39.713 DEBUG (MainThread) [custom_components.volkswagencarnet] Updating data from volkswagen WeConnect 2023-11-29 16:10:39.715 DEBUG (MainThread) [custom_components.volkswagencarnet] Finished fetching volkswagencarnet data in 1.137 seconds (success: True) 2023-11-29 16:10:39.715 DEBUG (MainThread) [custom_components.volkswagencarnet] Async update finished for WVWZZZAAZND912345 (volkswagencarnet). Next update in 0:05:00. 2023-11-29 16:10:39.721 DEBUG (MainThread) [custom_components.volkswagencarnet.switch] Getting state of refresh_data 2023-11-29 16:10:39.722 DEBUG (MainThread) [custom_components.volkswagencarnet.binary_sensor] Getting state of request_in_progress 2023-11-29 16:10:39.723 DEBUG (MainThread) [custom_components.volkswagencarnet.sensor] Getting state of requests_remaining 2023-11-29 16:10:39.723 DEBUG (MainThread) [custom_components.volkswagencarnet.sensor] Getting state of requests_remaining 2023-11-29 16:10:39.723 DEBUG (MainThread) [custom_components.volkswagencarnet] Not changing requests remaining to '-1' 2023-11-29 16:10:39.724 DEBUG (MainThread) [custom_components.volkswagencarnet.sensor] Getting state of request_results 2023-11-29 16:10:47.414 DEBUG (MainThread) [custom_components.volkswagencarnet.util] Found VIN WVWZZZAAZND912345 2023-11-29 16:10:48.593 DEBUG (MainThread) [custom_components.volkswagencarnet.util] Found VIN WVWZZZAAZND912345 2023-11-29 16:10:48.595 INFO (MainThread) [custom_components.volkswagencarnet.config_flow] Adding resources: set(), removing resources: set()
Updated as recomended to 4.4.68 but no change, so I deactivated the Integration in HA.
How long will it be "blocked" by VW, until tomorrow?
My deepest respect to the developers involved. The details for my Passat Diesel model year 2019 are all available again. Thank you very much. Version 4.4.68
@gohakn yes, the limits seem to be reset at midnight. Thanks for the feedback, I’ll investigate this over the coming days. Unfortunately, the VW API return rate limit information only for the control APIs, so it’s a bit of try-and-error.
The app uses a „subscription“ model which seems to be built so that the server delivers updated information directly, without a need to constantly poll for updates. I haven’t investigated yet how that works, but that might considerably reduce the amount of requests.
@oliverrahner No Problem, without you and the other guy's effort I wouldn't have any information inside HA. :-) So better do a bunch of try-and-error and we'll get it reliable again.
Do you want me after midnight to keep the 4.4.68 running or should it be disabled until you had the time to make changes.?
I also tested version 4.4.68 and it seems to work for my Tiguan E-Hybrid. There is one thing I am missing, but this was also not available in the old version: I would like to be able to set the maximum charging current from Homeassistant. Currently this is just a readonly value. The reason why I would like to have this feature: I want to control the charging current dependent on the status of my photovoltaic installation via an automation in Homeassistant. Is it possible to enable this value as read/write?
There is one thing I am missing, but this was also not available in the old version: I would like to be able to set the maximum charging current from Homeassistant. Currently this is just a readonly value. The reason why I would like to have this feature: I want to control the charging current dependent on the status of my photovoltaic installation via an automation in Homeassistant. Is it possible to enable this value as read/write?
+1 for exactly the same reason. It would be great to be able control the max charge current from HA.
but this was also not available in the old version
This was available in the old version, but you had to call a service to switch between maximum and reduced. I used that setting to do what you say, successfully.
Updated to 4.4.68, and now everything is unavailable again.
VW e-UP! 2021
Updated to 4.4.68, and now everything is unavailable again.
VW e-UP! 2021
Same car, same status here, but also the Android app is not working.
Updated to 4.4.68, and now everything is unavailable again. VW e-UP! 2021
Same car, same status here, but also the Android app is not working.
Same here, but with a 2021 Tiguan Diesel.
Grand Cali showing no sensors
Range not showing for ID.3
but this was also not available in the old version
This was available in the old version, but you had to call a service to switch between maximum and reduced. I used that setting to do what you say, successfully.
@virtualdj: Thank you for the hint. Can you explain how "calling a service" has to be done in order to set the charging current?
@squonk11 In your automation, use the action Call a service and set it up like below.
Using hybrid vehicles you can only set it to max or reduced.
Getting these errors at every integration reload. Should I try manual cleanup of these entities, or is it a bug?
2023-11-30 00:00:31.375 ERROR (MainThread) [homeassistant.components.sensor] Platform volkswagencarnet does not generate unique IDs. ID MYVIN-sensor-requests_remaining already exists - ignoring sensor.e_up_requests_remaining
2023-11-30 00:00:31.375 ERROR (MainThread) [homeassistant.components.sensor] Platform volkswagencarnet does not generate unique IDs. ID MYVIN-sensor-request_results already exists - ignoring sensor.e_up_request_results
2023-11-30 00:00:31.376 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.volkswagencarnet entity: sensor.e_up_climatisation_target_temperature
2023-11-30 00:00:31.397 ERROR (MainThread) [homeassistant.components.binary_sensor] Platform volkswagencarnet does not generate unique IDs. ID MYVIN-binary_sensor-request_in_progress already exists - ignoring binary_sensor.e_up_request_in_progress
Updated to 4.4.68, and now everything is unavailable again.
VW e-UP! 2021
Scratch that, it started to work again passed midnight - probably some issue with VW servers. Does anyone know the optimal poll interval?
Bonus: position now reports back. I'm satisfied!
@enoch85 After my E-UP got locked out yesterday in the afternoon ( around 15:30 - 16:00 ) due to polling to often I changed the interval from 5 to 10 minutes after it started again this midnight. This evening I can tell if it's enough.. :-)
Only report issues here with the latest beta release and do not start any discussion here!
Thanks