[APP][Pro] myAudi - Connect your Audi EV or PHEV

Hi Andi.

Is this expected behaviour, seems my system is no longer updating, even though it is connected/polling…

Could you please check the API Helper, the Debug Log - are there warnings or errors?

…and send a Diagnostic Report?

In these warm days, the Audi servers obtaining data sometimes fail. Then there is no data to be obtained from the car. In such case a black bar is shown on the website support.audi.nl.

I see sometimes the app after such occurrance losses it’s connection entirely. Rebooting the app helps.
Would it be possible to add a variable to the list checking if there is a known error in the connections (this especially happens in very warm and cold days, when lots of people use times to set fi cabin temperatures I have been told by Audi)? This way we can see whether the data from the car is stable / correct or not. Issue is that when the servers fail, the last data is shown in the homey app.

what I indeed also monitor, as loosing connection happens way more often now a days:

Great; what do you use to monitor this?

debug log

Summary

Connecting to API…

Starting OAuth authentication…

Login in with audietron

Login URL: xx

Waiting for vehicle list… (1s)

{“client_id”:“09b6cbec-cd19-4589-82fd-363dfa8c24da@apps_vw-dilab_com”,“grant_type”:“authorization_code”,“code”:"eyJraWQi

Login successful

Waiting for vehicle list… (2s)

{“data”:[{“vin”:“WAUZZZGE1RB029153”,“role”:“PRIMARY_USER”,“userRoleStatus”:“ENABLED”,“enrollmentStatus”:“COMPLETED”,"nic

Found 1 vehicles

Create vehicle WAUZZZGE1RB029153

getHomeRegion

WAUZZZGE1RB029153: {“homeRegion”:{“baseUri”:{“systemId”:“ICTO-25343”,“content”:"https://mal-3a.prd.eu.dp.vwg-connect.com

✓ Found 1 vehicle(s) — loading status data…

{“access”:{“accessStatus”:{“value”:{“overallStatus”:“safe”,“carCapturedTimestamp”:“2026-06-30T08:18:43Z”,“doors”:[{"name

[getIdStatus] honkAndFlash detected via general capabilities fallback

Set is car moving to false

{“data”:{“lon”:5.580334,“lat”:51.634011,“carCapturedTimestamp”:“2026-06-30T08:18:50Z”}}

✓ Status data loaded — preparing result…

13:34:11.101[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - setCapabilityValues

13:34:11.102[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - setCapabilityValues - forceUpdate

13:34:16.237[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - state update wait timed out after 5000 ms

13:34:16.241[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - setCapabilityValues - capabilityMapData audi-ev-audietron {“remote_battery_charge”:“status.chargingStatus.chargingState”,“locked”:“status.accessStatus.doorLockStatus”,“measure_battery”:“status.batteryStatus.currentSOC_pct”,“measure_charge_target”:“status.chargingSettings.targetSOC_pct”,“is_plug_connected”:“status.plugStatus.plugConnectionState”,“is_home”:{“latitude”:“parkingposition.lat”,“longitude”:“parkingposition.lon”},“measure_lat”:“parkingposition.lat”,“measure_lng”:“parkingposition.lon”,“get_location_url”:“parkingposition.lon”,“measure_range”:“status.rangeStatus.totalRange_km”,“measure_distance_driven”:“status.odometerStatus.odometer”,“measure_remaining_charge_time”:“status.chargingStatus.remainingChargingTimeToComplete_min”,“measure_remaining_climate_time”:“status.climatisationStatus.remainingClimatisationTime_min”,“target_temperature”:“status.climatisationSettings.targetTemperature_C”,“is_moving”:“position.isMoving”,“is_climating”:“status.climatisationStatus.climatisationState”}

13:34:16.243[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - vinData missing — adapter reconnecting (keys: [info]), retry in 5 min

13:34:16.244[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - _getAdaptiveIntervalMs - transient reconnect detected → retry in 5 min

13:34:16.245[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - setCapabilityValuesInterval - next poll in 5min

13:34:40.872[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - setCapabilityValues

13:34:40.873[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - setCapabilityValues - updateStatus

13:34:46.005[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - state update wait timed out after 5000 ms

13:34:46.006[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - setCapabilityValues - capabilityMapData audi-ev-audietron {“remote_battery_charge”:“status.chargingStatus.chargingState”,“locked”:“status.accessStatus.doorLockStatus”,“measure_battery”:“status.batteryStatus.currentSOC_pct”,“measure_charge_target”:“status.chargingSettings.targetSOC_pct”,“is_plug_connected”:“status.plugStatus.plugConnectionState”,“is_home”:{“latitude”:“parkingposition.lat”,“longitude”:“parkingposition.lon”},“measure_lat”:“parkingposition.lat”,“measure_lng”:“parkingposition.lon”,“get_location_url”:“parkingposition.lon”,“measure_range”:“status.rangeStatus.totalRange_km”,“measure_distance_driven”:“status.odometerStatus.odometer”,“measure_remaining_charge_time”:“status.chargingStatus.remainingChargingTimeToComplete_min”,“measure_remaining_climate_time”:“status.climatisationStatus.remainingClimatisationTime_min”,“target_temperature”:“status.climatisationSettings.targetTemperature_C”,“is_moving”:“position.isMoving”,“is_climating”:“status.climatisationStatus.climatisationState”}

13:34:46.007[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - vinData missing — adapter reconnecting (keys: [info]), retry in 5 min

13:34:46.008[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - _getAdaptiveIntervalMs - transient reconnect detected → retry in 5 min

13:34:46.009[_WAUZZZGE1RB029153][Device] _Audi - WAUZZZGE1RB029153 - setCapabilityValuesInterval - next poll in 5min

{

“info”: {

"connection": true

},

“WAUZZZGE1RB029153”: {

"general": {

  "vin": "WAUZZZGE1RB029153",

  "role": "PRIMARY_USER",

  "userRoleStatus": "ENABLED",

  "enrollmentStatus": "COMPLETED",

  "nickname": "WAUZZZGE1RB029153",

  "access": {

    "id": "access",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "bluetoothIdent": {

    "id": "bluetoothIdent",

    "expirationDate": "2122-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "car2Phone": {

    "id": "car2Phone",

    "expirationDate": "2122-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "charging": {

    "id": "charging",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "chargingProfiles": {

    "id": "chargingProfiles",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "chargingTimers": {

    "id": "chargingTimers",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "cityModels": {

    "id": "cityModels",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "climatisation": {

    "id": "climatisation",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "climatisationTimers": {

    "id": "climatisationTimers",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "controlWindows": {

    "id": "controlWindows",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "capabilities": {

    "cubicNetwork": false,

    "hybridRadio": false,

    "mapUpdateSd": false,

    "plugAndCharge": true,

    "residualCapacityHVBattery": true,

    "wifiHotspot": true

  },

  "dataPlan": {

    "id": "dataPlan",

    "expirationDate": "2122-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "dealerAppointment": {

    "id": "dealerAppointment",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "destinationSync": {

    "id": "destinationSync",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "eRoutePlanner": {

    "id": "eRoutePlanner",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "emergencyCalling": {

    "id": "emergencyCalling",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "engineType": {

    "id": "engineType",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "fuelStatus": {

    "id": "fuelStatus",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "functionOnDemand": {

    "id": "functionOnDemand",

    "expirationDate": "2122-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "googleEarth": {

    "id": "googleEarth",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "gracenote": {

    "id": "gracenote",

    "expirationDate": "2122-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "honkAndFlash": {

    "id": "honkAndFlash",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "hybridRadioRange": {

    "id": "hybridRadioRange",

    "expirationDate": "2122-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "localHazards": {

    "id": "localHazards",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "mapUpdate": {

    "id": "mapUpdate",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "measurements": {

    "id": "measurements",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "news": {

    "id": "news",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "onStreetParking": {

    "id": "onStreetParking",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "onlineCarCare": {

    "id": "onlineCarCare",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "onlineLogBook": {

    "id": "onlineLogBook",

    "status01": 2003,

    "userDisablingAllowed": false

  },

  "onlineSpeech": {

    "id": "onlineSpeech",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "onlineTraffic": {

    "id": "onlineTraffic",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "onlineTrafficPlus": {

    "id": "onlineTrafficPlus",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "parkingPosition": {

    "id": "parkingPosition",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "poiSearch": {

    "id": "poiSearch",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "predictiveRouting": {

    "id": "predictiveRouting",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "rewardChallenges": {

    "id": "rewardChallenges",

    "status01": 1003,

    "status02": 1004,

    "userDisablingAllowed": true

  },

  "roadsideAssistant": {

    "id": "roadsideAssistant",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "state": {

    "id": "state",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "theftWarning": {

    "id": "theftWarning",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "theming": {

    "id": "theming",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "trafficLights": {

    "id": "trafficLights",

    "status01": 2003,

    "userDisablingAllowed": true

  },

  "trafficSigns": {

    "id": "trafficSigns",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "transactionHistoryAntiTheftAlert": {

    "id": "transactionHistoryAntiTheftAlert",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "transactionHistoryAntiTheftAlertDelete": {

    "id": "transactionHistoryAntiTheftAlertDelete",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "transactionHistoryHonkFlash": {

    "id": "transactionHistoryHonkFlash",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "transactionHistoryLockUnlock": {

    "id": "transactionHistoryLockUnlock",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "tripStatistics": {

    "id": "tripStatistics",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "vehicleHealthCampaigns": {

    "id": "vehicleHealthCampaigns",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "vehicleHealthInspection": {

    "id": "vehicleHealthInspection",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "vehicleHealthWakeUp": {

    "id": "vehicleHealthWakeUp",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "vehicleHealthWarnings": {

    "id": "vehicleHealthWarnings",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "vehicleLights": {

    "id": "vehicleLights",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "vehicleWakeUp": {

    "id": "vehicleWakeUp",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "vehicleWakeUpTrigger": {

    "id": "vehicleWakeUpTrigger",

    "expirationDate": "2033-10-06T00:00:00Z",

    "userDisablingAllowed": false

  },

  "webAppPoiSearch": {

    "id": "webAppPoiSearch",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "webAppWeather": {

    "id": "webAppWeather",

    "expirationDate": "2026-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "webRadio": {

    "id": "webRadio",

    "expirationDate": "2122-10-06T00:00:00Z",

    "userDisablingAllowed": true

  },

  "devicePlatform": "MBB_ODP",

  "E": "EUDA_SCOPED"

},

"status": {

  "accessStatus": {

    "overallStatus": "safe",

    "carCapturedTimestamp": "2026-06-30T08:18:43Z",

    "doors01": {

      "name": "bonnet",

      "status": {

        "closed": "closed"

      }

    },

    "doors02": {

      "name": "frontLeft",

      "status": {

        "locked": "locked",

        "closed": "closed"

      }

    },

    "doors03": {

      "name": "frontRight",

      "status": {

        "locked": "locked",

        "closed": "closed"

      }

    },

    "doors04": {

      "name": "rearLeft",

      "status": {

        "locked": "locked",

        "closed": "closed"

      }

    },

    "doors05": {

      "name": "rearRight",

      "status": {

        "locked": "locked",

        "closed": "closed"

      }

    },

    "doors06": {

      "name": "trunk",

      "status": {

        "locked": "locked",

        "closed": "closed"

      }

    },

    "windows01": {

      "name": "frontLeft",

      "status": {

        "closed": "closed"

      }

    },

    "windows02": {

      "name": "frontRight",

      "status": {

        "closed": "closed"

      }

    },

    "windows03": {

      "name": "rearLeft",

      "status": {

        "closed": "closed"

      }

    },

    "windows04": {

      "name": "rearRight",

      "status": {

        "closed": "closed"

      }

    },

    "windows05": {

      "name": "roofCover",

      "status": {

        "unsupported": "unsupported"

      }

    },

    "windows06": {

      "name": "sunRoof",

      "status": {

        "unsupported": "unsupported"

      }

    },

    "windows07": {

      "name": "sunRoofRear",

      "status": {

        "unsupported": "unsupported"

      }

    },

    "doorLockStatus": "locked"

  },

  "batteryStatus": {

    "carCapturedTimestamp": "2026-06-30T08:20:38Z",

    "currentSOC_pct": 65,

    "cruisingRangeElectric_km": 235

  },

  "chargingStatus": {

    "carCapturedTimestamp": "2026-06-30T08:20:38Z",

    "chargingState": "notReadyForCharging",

    "chargeMode": "manual",

    "chargePower_kW": 0,

    "chargeRate_kmph": 0,

    "chargeType": "off"

  },

  "chargingSettings": {

    "carCapturedTimestamp": "2026-06-30T08:18:20Z",

    "autoUnlockPlugWhenChargedDC": "off",

    "targetSOC_pct": 100

  },

  "plugStatus": {

    "carCapturedTimestamp": "2026-06-30T08:20:38Z",

    "plugConnectionState": "disconnected",

    "plugLockState": "unlocked",

    "externalPower": "unavailable",

    "ledColor": "none"

  },

  "chargeMode": {

    "preferredChargeMode": "invalid"

  },

  "chargingProfilesStatus": {

    "carCapturedTimestamp": "2026-06-30T08:18:13Z",

    "nextChargingTimer": {

      "id": 0,

      "targetSOCreachable": ""

    },

    "profiles": ""

  },

  "climatisationStatus": {

    "carCapturedTimestamp": "2026-06-30T08:18:13Z",

    "remainingClimatisationTime_min": -256,

    "climatisationState": "off"

  },

  "windowHeatingStatus": {

    "carCapturedTimestamp": "2026-06-30T13:34:05Z",

    "windowHeatingStatus01": {

      "windowLocation": "front",

      "windowHeatingState": "invalid"

    },

    "windowHeatingStatus02": {

      "windowLocation": "rear",

      "windowHeatingState": "invalid"

    }

  },

  "climatisationTimersStatus": {

    "carCapturedTimestamp": "2026-06-30T08:18:13Z",

    "timers01": {

      "id": 1,

      "enabled": false,

      "singleTimer": {

        "startDateTimeLocal": "2026-06-30T14:15:00",

        "targetDateTimeLocal": "2026-06-30T14:15:00"

      }

    },

    "timers02": {

      "id": 2,

      "enabled": false,

      "singleTimer": {

        "startDateTimeLocal": "2026-06-30T12:00:00",

        "targetDateTimeLocal": "2026-06-30T12:00:00"

      }

    }

  },

  "rangeStatus": {

    "carCapturedTimestamp": "2026-06-30T08:20:38Z",

    "carType": "electric",

    "primaryEngine": {

      "type": "electric",

      "currentSOC_pct": 65,

      "remainingRange_km": 235

    },

    "totalRange_km": 235

  },

  "measurements_rangeStatus": {

    "carCapturedTimestamp": "2026-06-30T08:20:38Z",

    "electricRange": 235,

    "totalRange_km": 235

  },

  "odometerStatus": {

    "carCapturedTimestamp": "2026-06-30T08:18:43Z",

    "odometer": 66901

  },

  "fuelLevelStatus": {

    "carCapturedTimestamp": "2026-06-30T08:20:38Z",

    "currentSOC_pct": 65,

    "primaryEngineType": "electric",

    "carType": "electric"

  },

  "lightsStatus": {

    "carCapturedTimestamp": "2026-06-30T08:18:43Z",

    "lights01": {

      "name": "right",

      "status": "off"

    },

    "lights02": {

      "name": "left",

      "status": "off"

    }

  },

  "maintenanceStatus": {

    "carCapturedTimestamp": "2026-06-30T08:18:50Z",

    "inspectionDue_days": 695,

    "inspectionDue_km": 26100,

    "mileage_km": 66901

  }

},

"remote": {

  "climatisationv3": false,

  "flash": false,

  "honk": false,

  "windowheating": false,

  "charging": false,

  "batterycharge": false,

  "access": false

},

"position": {

  "isMoving": false

},

"parkingposition": {

  "lon": 5.580334,

  "lat": 51.634011,

  "carCapturedTimestamp": "2026-06-30T08:18:50Z"

},

"climater": {

  "settings": {

    "targetTemperature": {

      "timestamp": "2026-06-25T15:30:25Z",

      "content": 2830

    },

    "climatisationWithoutHVpower": {

      "timestamp": "2026-06-25T15:30:25Z",

      "content": true

    },

    "heaterSource": {

      "timestamp": "2026-06-25T15:30:25Z",

      "content": "electric"

    }

  },

  "status": {

    "climatisationStatusData": {

      "climatisationState": {

        "timestamp": "2026-06-30T08:18:13Z",

        "content": "off"

      },

      "climatisationStateErrorCode": {

        "timestamp": "2026-06-30T08:18:13Z",

        "content": 0

      },

      "remainingClimatisationTime": {

        "timestamp": "2026-06-30T08:18:13Z",

        "content": -256

      },

      "climatisationReason": {

        "timestamp": "2026-06-30T08:18:13Z",

        "content": "immediate"

      }

    },

    "vehicleParkingClockStatusData": {

      "vehicleParkingClock": {

        "timestamp": "2026-06-30T08:18:43Z",

        "content": "2026-06-30T08:18:50Z"

      }

    }

  }

}

}

}

please try new test version: 1.0.81

Fixed: vehicle status no longer shows ‘data missing’ on slow network connections. The state-update wait window was extended from 5s to 25s so the Audi API has enough time to respond before the poll gives up.


Hi , I missing this Card in the App , how can I actived this card ?

Do you have such a setting in your normal Audi app?
What are the options there?

No , i don’t have these settings in the Audi App

In that case, it will as well not work with my app. Sorry

Hi , If I select ‘start preheating’ and want to set the temp. to 25 degrees, the car starts the forced air conditioning and switches on the seat ventilation.

Hi Danny

What are the options in the normal Audi App? Are they different?

What is the reason to send those 3 actions? Start climatisation with 25 degrees is not working alone?

For troubleshooting you can check the debug topics under the app settings for the logging. If there are issues I recommend to run the commands, check the logs and finally as well send the Diagnostic report directly after issues occur.

BR
Andi

Hi Andi
I started the action " climatisation with 22 degrees "
the car starts the forced air conditioning & in the Audi App the settings stayed on 21 degrees

Diagnostic report :
c64c62ff-8f87-45fe-a6f2-0c404ad7c013

myAudi App – What’s new since v1.0.83

v1.0.84 — “Set max. charge current” flow action The flow action card to set the maximum AC charge current is now available for Hybrid / PHEV vehicles. It uses the Cariad API values Maximum and Reduced (instead of Ampere values). Existing devices are migrated automatically on first start. Please let me know if it works - otherwise I’ll remove the card.

v1.0.85 — Pure petrol & diesel Audi support The Hybrid driver now also supports pure combustion engine Audis (petrol and diesel). EV-specific tiles (battery %, charging state, plug status, electric range) are automatically hidden based on the engine type the API reports — no manual setup needed.

v1.0.86 — Fix: updates stopped after a Cariad API outage After a temporary API outage (e.g. a 502 error), vehicle data sometimes stopped updating permanently until the app was restarted. Three root causes were fixed:

  • A 502 response left a network call hanging forever instead of failing fast
  • Every failed poll spawned a new concurrent token refresh, stacking multiple restart timers on top of each other
  • Auth failures were misclassified as connectivity errors, so the correct recovery path never ran

v1.0.87 — Fix: battery % missing on some PHEV models On certain PHEV / Hybrid vehicles the battery state of charge always showed no value. The Cariad API reports the electric SOC at a different path for these models (rangeStatus.secondaryEngine / fuelLevelStatus). Fallback paths are now in place so the correct value is picked up automatically.