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

aiohttp.client_exceptions.ClientResponseError: 404, message=‘Not Found’, url=URL(‘https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/climatisation/v1/Audi/DE/vehicles/xxxx/climater/actions’)`

i checked/traced:
i see this in httptoolkit:

https://emea.bff.cariad.digital/vehicle/v1/vehicles/xxx/climatisation/start

with request

{
  "targetTemperature": 22,
  "targetTemperatureUnit": "celsius",
  "climatisationWithoutExternalPower": true,
  "climatizationAtUnlock": false,
  "windowHeatingEnabled": false,
  "zoneFrontLeftEnabled": false,
  "zoneFrontRightEnabled": false,
  "zoneRearLeftEnabled": false,
  "zoneRearRightEnabled": false
}

for stop:

https://emea.bff.cariad.digital/vehicle/v1/vehicles/xxx/climatisation/stop

Just for Info…
It is still the problem, that the actual 4.1.2.xxxx - Bindings don’t work with audi at all.
No Errors, Things come online but get not data…

With 4.1.1.XXX build of the binding, most things work (no doors, no windows) but overall state of lock-state…and some data like km, oil, service…

There is some problem with FordPass login. I saw the posts with similar issue above, but no solution.

2024-08-01 08:42:50.314 [DEBUG] [dcar.internal.handler.AccountHandler] - 2b84c3f878: Handler disposed.
2024-08-01 08:42:55.417 [TRACE] [nectedcar.internal.api.ApiHttpClient] - : HTTP Update config from / to /
2024-08-01 08:42:55.423 [TRACE] [nectedcar.internal.api.ApiHttpClient] - : HTTP Update config from / to /
2024-08-01 08:42:55.430 [TRACE] [ctedcar.internal.api.IdentityManager] - createTokenSet d60dcd0f-a57d-46b9-b32a-19e6df997130
2024-08-01 08:42:55.436 [TRACE] [dcar.internal.handler.AccountHandler] - 2b84c3f878: New TokenSetId d60dcd0f-a57d-46b9-b32a-19e6df997130 for 9fb503e0-715b-47e8-adfd-ad4b7770f73b
2024-08-01 08:42:55.440 [TRACE] [ctedcar.internal.api.IdentityManager] - getTokenSet d60dcd0f-a57d-46b9-b32a-19e6df997130: HTTP ClientId:  API Token: 
2024-08-01 08:42:55.444 [TRACE] [nectedcar.internal.api.ApiHttpClient] - Ford: HTTP Update config from d60dcd0f-a57d-46b9-b32a-19e6df997130/9fb503e0-715b-47e8-adfd-ad4b7770f73b to d60dcd0f-a57d-46b9-b32a-19e6df997130/9fb503e0-715b-47e8-adfd-ad4b7770f73b
2024-08-01 08:42:55.491 [DEBUG] [dcar.internal.handler.AccountHandler] - 2b84c3f878: Initialize Thing (caller: initialize()
2024-08-01 08:42:55.496 [TRACE] [nectedcar.internal.api.ApiHttpClient] - Ford: HTTP Update config from d60dcd0f-a57d-46b9-b32a-19e6df997130/9fb503e0-715b-47e8-adfd-ad4b7770f73b to d60dcd0f-a57d-46b9-b32a-19e6df997130/9fb503e0-715b-47e8-adfd-ad4b7770f73b
2024-08-01 08:42:55.500 [TRACE] [ctedcar.internal.api.IdentityManager] - getTokenSet d60dcd0f-a57d-46b9-b32a-19e6df997130: HTTP ClientId: 9fb503e0-715b-47e8-adfd-ad4b7770f73b API Token: 
2024-08-01 08:42:55.505 [TRACE] [ctedcar.internal.api.IdentityManager] - Ford: refreshToken: Token for 9fb503e0-715b-47e8-adfd-ad4b7770f73b is not valid, returning false
2024-08-01 08:42:55.510 [TRACE] [ng.connectedcar.internal.api.ApiBase] - Ford: createAccessToken for d60dcd0f-a57d-46b9-b32a-19e6df997130/9fb503e0-715b-47e8-adfd-ad4b7770f73b
2024-08-01 08:42:55.514 [TRACE] [ctedcar.internal.api.IdentityManager] - Ford: createAccessToken for d60dcd0f-a57d-46b9-b32a-19e6df997130/9fb503e0-715b-47e8-adfd-ad4b7770f73b
2024-08-01 08:42:55.517 [TRACE] [ctedcar.internal.api.IdentityManager] - getTokenSet d60dcd0f-a57d-46b9-b32a-19e6df997130: HTTP ClientId: 9fb503e0-715b-47e8-adfd-ad4b7770f73b API Token: 
2024-08-01 08:42:55.520 [TRACE] [ctedcar.internal.api.IdentityManager] - Ford: try to refresh token for 9fb503e0-715b-47e8-adfd-ad4b7770f73b
2024-08-01 08:42:55.523 [TRACE] [ctedcar.internal.api.IdentityManager] - Ford: createAccessToken for 9fb503e0-715b-47e8-adfd-ad4b7770f73b - re-authenticating
2024-08-01 08:42:55.527 [DEBUG] [ctedcar.internal.api.IdentityManager] - Ford: Logging in, account=******* tokenSetId=d60dcd0f-a57d-46b9-b32a-19e6df997130 clientId=9fb503e0-715b-47e8-adfd-ad4b7770f73b
2024-08-01 08:42:55.531 [DEBUG] [nectedcar.internal.api.ApiHttpClient] - Ford: HTTP POST https://sso.ci.ford.com/oidc/endpoint/default/token
2024-08-01 08:42:55.535 [TRACE] [nectedcar.internal.api.ApiHttpClient] -   Headers: 
Accept-Encoding: gzip
User-Agent: fordpass-ap/93 CFNetwork/1197 Darwin/20.0.0
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
Content-Length: 114
2024-08-01 08:42:55.538 [TRACE] [nectedcar.internal.api.ApiHttpClient] -   Body/Data: client_id=9fb503e0-715b-47e8-adfd-ad4b7770f73b&grant_type=password&username=*******&password=*******
2024-08-01 08:42:55.690 [DEBUG] [dcar.internal.handler.AccountHandler] - Ford: Initialization failed: java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: Received fatal alert: internal_error(javax.net.ssl.SSLHandshakeException: Received fatal alert: internal_error) POST https://sso.ci.ford.com/oidc/endpoint/default/token (HTTP 0 ), result = java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: Received fatal alert: internal_error

Can somebody steer me in the right direction?

Please follow the community rules and don’t paste screenshots. Those are hard to read on mobile devices and we cannot quote.
Post your logs in code fences

I think guys from HA made it work with FordPass new API:

The question is, can somebody make similar changes for this binding and test it with FordPass? I may try to figure it out (don’t have experience with developing custom bindings or Java though), but seems like Marcus’s initial version is a little outdated, and newer versions were shared as built jar, not source.

Can you please post a link to these rules. I can’t find them here…thanks.

1 Like

Thanks…this good to read…

@fennepa was way faster than me :wink:

Hello everyone,

sorry for asking, but I am a bit confused, I am driving a ID.4 North America version, more specific the Canada version and I recognized that ID.4 do use different services in Canada and Europe. Does this binding only work with the European versions? And if the work in Canada, what connection configuration do I have to use in the GUI when configuring the binding?

Thank you so much for any input, Oliver

Hello,
Where do we track issues?

I had my CC running on openHAB 4.2.1 (Release Build) on my Raspi, everything was fine until today, no changes on my side, but since today, I am getting the following WARN/Exception whenever I put the connectedcar.things file in the things folder. I tried to elaborate by removing the car thing out of the file, so I only had the WeConnect account as a bridge, but also this gives the error:

2024-08-28 15:40:14.717 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.ClassCastException: class com.google.gson.JsonNull cannot be cast to class com.google.gson.JsonObject (com.google.gson.JsonNull and com.google.gson.JsonObject are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @6db14287)
	at com.google.gson.JsonObject.getAsJsonObject(JsonObject.java:221) ~[?:?]
	at org.openhab.binding.connectedcar.internal.api.weconnect.BrandWeConnectAudi.getVehicles(BrandWeConnectAudi.java:151) ~[?:?]
	at org.openhab.binding.connectedcar.internal.handler.AccountHandler.initializeThing(AccountHandler.java:199) ~[?:?]
	at org.openhab.binding.connectedcar.internal.handler.AccountHandler.lambda$2(AccountHandler.java:158) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
	at java.lang.Thread.run(Thread.java:840) [?:?]

The .things file is

Bridge connectedcar:myaudi:myAudiWeConnectAccount		"myAudi WeConnect Account"		@"Internet"
[
  user		= "myname@provider.com",
  password	= "mypassword"
]
{
	Thing idvehicle Audi_A6_Avant_TFSI_e				"Audi A6 Avant TFSI e"
	[
		vin				= "CRAZYLONGNUMBERWITHLETTERS"
	]
}

Edit: When I try to use a vwid thing instead of a myaudi thing, I do not get the error, but as I have an Audi, not a VW, there are no channels.

Thanks,
Stefano

I have the same problem, could you share your rule how this works?
Thanks

May be interesting for Ford/Lincoln owners. As few of posters in this thread already discovered, Ford changed authorisation for FordPass and this binding stopped working some time ago.
I couldn’t figure out how to work with custom binding and how to contribute to the work already done on this one, so I went different direction.
I use node-red as rule engine for my openhab installation and I’m more familiar with JavaScript, so I made a couple of custom nodes that allowed me to successfully get vehicle details:

There are a lot more of the API to explore, so contributions are welcome.

Quick question on the binding (I hope it’s not a stupid one): Where can I get it, and is there a documentation somewhere?

Please scroll up in this forum and find some updated and patched versions of this binding, e.g. here: ConnectedCar Binding myAudi, Volkswagen, VW ID, Skoda, Enyaq, Seat, Ford, WeCharge - #1377 by salkin. Depending on your openHAB version, location, car manufacturer and engine type needs it might be required to test different .jar files from this thread. Several channels might not receive data, though. Documentation original here, but outdated: myfiles/connectedcar at master · markus7017/myfiles · GitHub, some updates also in posts, e.g. ConnectedCar Binding myAudi, Volkswagen, VW ID, Skoda, Enyaq, Seat, Ford, WeCharge - #1327 by Wolfgang_Rosenauer.
You can use configure bridge and thing via MainUI and derive text config in the case of need.
Different solution alternatives are also discussed in this thread.

Or use the link posted in

current version ist 4.1.2

Thanks!

Is there a reason why the binding is not available through the “normal” (official / automatic) channel?

Sure :slight_smile:
The creator didn’t go the extra mile to put it into the marketplace :wink:

What’s missing to get the binding to the normal route? Is it the complexity of different edge cases, which seems to be higher than with other bindings? Would be great to offer this functionality to more users, since manual jar installations and testing of different versions without any documentations might be difficult if not impossible for many.

1 Like

Ciao

I want try to update the binding with the new Ford API, where I can find the source code of last version of this binding?

thanks

1 Like