ConnectedCar Binding myAudi, Volkswagen, VW ID, Skoda, Enyaq, Seat, Ford, WeCharge

Name of openHAB Binding hasn’t changed yet. :slight_smile:

Since 4 days I do only got empty responses. Is this my special problem, or is it generally?

I am using ID.Buzz and ID.4

I haven’t really touched any Audi stuff because it highly confuses me how the models are using the API.
So the change for Audi to use a different API (like etron) even for non BEV vehicles is older than my participation in development and I’m “suffering” from the same limitations for Audi right now.
Why things have changed earlier I do not know and I don’t really have sufficient information to turn it around right now.

@Udo_Hartmann: I love your comments, they have helped me many times. And yes
 I didn’t mean the binding, but the selectable connection to VW within the binding. :smile:
Merry Christmas :christmas_tree:

Hi all,

since today, my ConnectedCar Binding does not work anymore.
Both Things (account & car) are going online, but the channels dont deliver any values to the items.

I use OpenHAB 4.1 M4/M5 and the binding 4.0.2 from August 2023

Release ConnectedCar Snapshot 20230803 · HSorgYves/openhab-addons · GitHub

Does anybody else have this problem ?

ralph

yes. I also have online status for account and car. When I set the channel “control_UpdateVehicleStatus” to on, I got a new accessToken, but never the less the response is empty:

2023-12-22 00:22:32.428 [DEBUG] [ctedcar.internal.api.IdentityManager] - WVGZZZXXXXXXXXXXX: accessToken was created, valid for 2880sec

2023-12-22 00:22:32.429 [DEBUG] [nectedcar.internal.api.ApiHttpClient] - WVGZZZXXXXXXXXXXX: HTTP GET https://emea.bff.cariad.digital/vehicle/v1/vehicles/WVGZZZXXXXXXXXXXX/selectivestatus?jobs=all

2023-12-22 00:22:32.523 [DEBUG] [nectedcar.internal.api.ApiHttpClient] - WVGZZZXXXXXXXXXXX: HTTP 207 Response: null

VW/Audi changed there API to ID structure.
Maybe this will help someone.

Sorry discussion in german

ok, it sounds, that the binding needs a change.

I applied the mentioned change to a new test package.
Please grab it from here and report back:

1 Like

Hi Wolfgang,

thanks for your update.
The things are coming online and they provide TotalRange and RemainingFuel Channels.
But all other channels like Doors, Windows, LockState and so on are not visible.

In my case I use an Audi Q3.

Ralph

Hi Wolfgang,

same here with audi e-tron.
Got General, Charger and Range Channels.

Patrick

Hmm, the referenced patch uses
charging,fuelStatus,climatisation,measurements
which roughly seems to match your experience.

Problem is that I do not know what other keywords are required for the other status items.

@bigl : was there any more information in the debug logs as response to the selectivestatus?jobs=all ?

Hi Wolfgang, I updated the binding for a few minutes. I will make some tests an will give an update tomorrow, ok later this day :wink:

So here is the first update:

after unlinking and deleting all items for my actual id.4 thing and delete the thing itself my ID.4 appears in the new things overview immediately. I added it and these channels will be available also in a very short time: (I write this, because discovering Cars and Channels uses a long time in the past.)

So some known channels from before are missing.

Analysing the debugging information from console i get this:

2023-12-23 09:43:21.985 [DEBUG] [ctedcar.internal.api.IdentityManager] - WVGZZZXXXXXXXXXXX: accessToken was created, valid for 2880sec

2023-12-23 09:43:21.987 [DEBUG] [nectedcar.internal.api.ApiHttpClient] - WVGZZZXXXXXXXXXXX: HTTP GET https://emea.bff.cariad.digital/vehicle/v1/vehicles/WVGZZZXXXXXXXXXXX/selectivestatus?jobs=charging,fuelStatus,climatisation,measurements

2023-12-23 09:43:22.893 [DEBUG] [nectedcar.internal.api.ApiHttpClient] - WVGZZZXXXXXXXXXXX: HTTP 207 Response: {“charging”:{“batteryStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:23:29Z”,“currentSOC_pct”:62,“cruisingRangeElectric_km”:243}},“chargingStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:23:29Z”,“remainingChargingTimeToComplete_min”:0,“chargingState”:“notReadyForCharging”,“chargeMode”:“manual”,“chargePower_kW”:0,“chargeRate_kmph”:0,“chargeType”:“invalid”,“chargingSettings”:“profile”}},“chargingSettings”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:22:13Z”,“maxChargeCurrentAC”:“maximum”,“autoUnlockPlugWhenCharged”:“off”,“autoUnlockPlugWhenChargedAC”:“off”,“targetSOC_pct”:100}},“plugStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:22:12Z”,“plugConnectionState”:“disconnected”,“plugLockState”:“unlocked”,“externalPower”:“unavailable”,“ledColor”:“none”}},“chargeMode”:{“value”:{“preferredChargeMode”:“manual”,“availableChargeModes”:[“manual”,“preferredChargingTimes”]}}},“climatisation”:{“climatisationSettings”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:22:13Z”,“targetTemperature_C”:22,“targetTemperature_F”:72,“unitInCar”:“celsius”,“climatizationAtUnlock”:true,“windowHeatingEnabled”:true,“zoneFrontLeftEnabled”:false,“zoneFrontRightEnabled”:false}},“climatisationStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:22:13Z”,“remainingClimatisationTime_min”:0,“climatisationState”:“off”}},“windowHeatingStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:22:13Z”,“windowHeatingStatus”:[{“windowLocation”:“front”,“windowHeatingState”:“off”},{“windowLocation”:“rear”,“windowHeatingState”:“off”}]}}},“fuelStatus”:{“rangeStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:23:29Z”,“carType”:“electric”,“primaryEngine”:{“type”:“electric”,“currentSOC_pct”:62,“remainingRange_km”:243},“totalRange_km”:243}}},“measurements”:{“rangeStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:22:04.88Z”,“electricRange”:243,“totalRange_km”:243}},“odometerStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:22:06.42Z”,“odometer”:10313}},“fuelLevelStatus”:{“value”:{“carCapturedTimestamp”:“2023-12-22T23:22:06.899Z”,“currentSOC_pct”:62,“primaryEngineType”:“electric”,“carType”:“electric”}}}}

2023-12-23 09:43:22.894 [DEBUG] [api.weconnect.WeConnectServiceStatus] - WVGZZZXXXXXXXXXXX: Vehicle Status:

org.openhab.binding.connectedcar.internal.api.weconnect.WeConnectApiJsonDTO$WCVehicleStatusData@16e24f3

2023-12-23 09:43:22.895 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → range#totalRange = 243

2023-12-23 09:43:22.897 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → range#primaryRange = 243

2023-12-23 09:43:22.898 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → control#charge = OFF

2023-12-23 09:43:22.899 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#chargingState = notReadyForCharging

2023-12-23 09:43:22.900 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#chargingMode = manual

2023-12-23 09:43:22.901 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#remainingChargingTime = 0

2023-12-23 09:43:22.902 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#chargingPower = 0

2023-12-23 09:43:22.904 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#chargingRate = 0

2023-12-23 09:43:22.905 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#targetChgLvl = 100

2023-12-23 09:43:22.906 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#maxCurrent = 255

2023-12-23 09:43:22.907 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#chargingLevel = 62

2023-12-23 09:43:22.909 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#lockState = OFF

2023-12-23 09:43:22.910 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → charger#plugState = disconnected

2023-12-23 09:43:22.911 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → climater#climatisationState = off

2023-12-23 09:43:22.912 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → climater#remainingClimatisation = 0

2023-12-23 09:43:22.913 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → control#targetTemperature = 22.0

2023-12-23 09:43:22.915 [DEBUG] [ar.internal.handler.ThingBaseHandler] - WVGZZZXXXXXXXXXXX: updateChannel → control#windowHeat = OFF

Looking into the json result I can see also some measurements values at the end of the result, but they do not appear in the channel list (is there a better way to format json?):

2023-12-23 09: 43: 22.893 [DEBUG
] [nectedcar.internal.api.ApiHttpClient
] - WVGZZZXXXXXXXXXXX: HTTP 207 Response: {
“charging”: {
“batteryStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:23:29Z”,
“currentSOC_pct”: 62,
“cruisingRangeElectric_km”: 243
}
},
“chargingStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:23:29Z”,
“remainingChargingTimeToComplete_min”: 0,
“chargingState”: “notReadyForCharging”,
“chargeMode”: “manual”,
“chargePower_kW”: 0,
“chargeRate_kmph”: 0,
“chargeType”: “invalid”,
“chargingSettings”: “profile”
}
},
“chargingSettings”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:22:13Z”,
“maxChargeCurrentAC”: “maximum”,
“autoUnlockPlugWhenCharged”: “off”,
“autoUnlockPlugWhenChargedAC”: “off”,
“targetSOC_pct”: 100
}
},
“plugStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:22:12Z”,
“plugConnectionState”: “disconnected”,
“plugLockState”: “unlocked”,
“externalPower”: “unavailable”,
“ledColor”: “none”
}
},
“chargeMode”: {
“value”: {
“preferredChargeMode”: “manual”,
“availableChargeModes”: [
“manual”,
“preferredChargingTimes”
]
}
}
},
“climatisation”: {
“climatisationSettings”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:22:13Z”,
“targetTemperature_C”: 22,
“targetTemperature_F”: 72,
“unitInCar”: “celsius”,
“climatizationAtUnlock”: true,
“windowHeatingEnabled”: true,
“zoneFrontLeftEnabled”: false,
“zoneFrontRightEnabled”: false
}
},
“climatisationStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:22:13Z”,
“remainingClimatisationTime_min”: 0,
“climatisationState”: “off”
}
},
“windowHeatingStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:22:13Z”,
“windowHeatingStatus”: [
{
“windowLocation”: “front”,
“windowHeatingState”: “off”
},
{
“windowLocation”: “rear”,
“windowHeatingState”: “off”
}
]
}
}
},
“fuelStatus”: {
“rangeStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:23:29Z”,
“carType”: “electric”,
“primaryEngine”: {
“type”: “electric”,
“currentSOC_pct”: 62,
“remainingRange_km”: 243
},
“totalRange_km”: 243
}
}
},
“measurements”: {
“rangeStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:22:04.88Z”,
“electricRange”: 243,
“totalRange_km”: 243
}
},
“odometerStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:22:06.42Z”,
“odometer”: 10313
}
},
“fuelLevelStatus”: {
“value”: {
“carCapturedTimestamp”: “2023-12-22T23:22:06.899Z”,
“currentSOC_pct”: 62,
“primaryEngineType”: “electric”,
“carType”: “electric”
}
}
}
}

Just created a new candidate to the same location with a snapshot date of today. Please feel free to give this a try. Based on guesswork and my own older logs.
So in case you get most of the channels back now but not all, please report back what exactly is missing (hopefully just a few ones from electric or hybrid models). And in case anyone (missing channels) has DEBUG logs from the binding from before 2023-12-18 please let me know because I have questions :wink:

Edit: Seems that the last change might break status data. I’m not sure if it’s the API request or me right now though. So if anyone still feels adventurous please let me know how it works for you.
Haha, I’m stupid. My Audi Connect subscription expired yesterday or two days ago.
So you might be much more lucky.

Hi Wolfgang,

thank you for the update.
With the new version most of the channels are back again :+1:

What I am missing are the following 3 channels:

parkingPosition
parkingTime
parkingAddress

Sorry, but I have no debug logs before 2023-12-18


Perhaps you can find them without logs


Ralph

Uploaded yet another version org.openhab.binding.connectedcar-4.0.4-SNAPSHOT-20231223-2.jar

I’m optimistic that it will bring back the position data.

Yes
position-channels are back.

for me - all is back in function now
many many thanks for your work!

Let’s hope they don’t change anything at VW soon

Because when I access the myAudi website, the following message is displayed:

merry christmas!
Ralph

I fear that it will be harder and harder to implement their API and get access to it. It seems they are struggling with those services in general and they go into the wrong direction to not scale up their architecture but to close down access (which does not exist officially anyway).

1 Like

You’re right.
Unfortunately, German car companies in particular have not yet understood that this will be a reason for their downfall.

In the future, people will place more and more value on integration into existing ecosystems and not on closed, proprietary things, which are usually far behind in terms of technology anyway


The MyAudi app, for example, has terrible performance and the operation is rubbish