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

Yesterday I came across the request to re-agree on T&Cs of We Connect, as changes were applied. Only then binding was allowed to establish the bridge and things again. I was lead to this need by the binding, as items were empty, connections failed and VW’s error message suggested to approve privacy agreement.

yep, that is the intended way

  • binding detects the situation
  • thing goes offline, error description reports the problem and recommends accessing the portal
  • once the user gave consent the thing goes online after thing suspend/resume, reloading the binding or restarting OH

I‘m not a fan of auto-accepting and giving consent. The user should be aware that something has changed in the T&Cs

Accepted the new T&C

:+1:t4:

Please try the updated build, I found some minor difference
Which model are you testing? Skoda or Enyaq?

It works with a Skoda Superb iv now. Thank you, Markus!
Shall I check the validity of data in the next days and provide a feedback in order to update the list of supported vehicles? Or is that not necessary?

Bingo! I got the bridge online and my e-Citigo auto-detected.
I’m using the Skoda Connect Account (CarNet) bridge.

Thanks a bunch!

Hi Markus,

while adding all the things of interest from the channels available, I noticed 2 issues:

  1. the range group only contains the single channel “range#fuelPercentagerange” while e.g. “range#totalRange” is missing - can that be added?
  2. there seems to be a bug or typo in the binding as one group label is shown as “@text/thing-type.connectedcar.vehicle.group.“charger”.label”

This is while using the "Skoda Connect Account (CarNet)” bridge with auto-discovered CarNet Thing

Thanks again!

With the same config, I’m getting an error today:

2021-10-13 12:05:45.998 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: MAINT_OIL_LEVEL_AMOUNT=1.0l (channel status#)
2021-10-13 12:05:45.999 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: MAINT_OIL_DIPSTICK=100.0% (channel maintenance#oilPercentage)
2021-10-13 12:05:46.000 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - Updading channel connectedcar:cnvehicle:2d34eea96a:TMBJWXXXXXXXXXXXX:maintenance#oilPercentage with value 100.0
2021-10-13 12:05:46.001 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: Updating channel maintenance#oilPercentage with 100 %
2021-10-13 12:05:46.002 [DEBUG] [nectedcar.internal.util.ChannelCache] - TMBJWXXXXXXXXXXXX: Channel maintenance#oilPercentage updated with 100 % (type class org.openhab.core.library.types.QuantityType).
2021-10-13 12:05:46.003 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: MAINT_OIL_LEVEL_DISPLAY=1 (channel status#)
2021-10-13 12:05:46.004 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: MAINT_ADBLUE_DISTANCE= (channel maintenance#distanceAdBlue)
2021-10-13 12:05:46.005 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - Updading channel connectedcar:cnvehicle:2d34eea96a:TMBJWXXXXXXXXXXXX:maintenance#distanceAdBlue with value 
2021-10-13 12:05:46.006 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: Updating channel maintenance#distanceAdBlue with UNDEF
2021-10-13 12:05:46.007 [DEBUG] [nectedcar.internal.util.ChannelCache] - TMBJWXXXXXXXXXXXX: Channel maintenance#distanceAdBlue updated with UNDEF (type class org.openhab.core.types.UnDefType).
2021-10-13 12:05:46.008 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: STATE3_PARKING_LIGHT=2 (channel status#parkingLight)
2021-10-13 12:05:46.009 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - Updading channel connectedcar:cnvehicle:2d34eea96a:TMBJWXXXXXXXXXXXX:status#parkingLight with value 2
2021-10-13 12:05:46.010 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: Map STATE3_PARKING_LIGHT=2 to state OFF for channel parkingLight
2021-10-13 12:05:46.011 [DEBUG] [nectedcar.internal.util.ChannelCache] - TMBJWXXXXXXXXXXXX: Channel status#parkingLight updated with OFF (type class org.openhab.core.library.types.OnOffType).
2021-10-13 12:05:46.012 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - TMBJWXXXXXXXXXXXX: TEMPERATURE_OUTSIDE=invaliddK (channel status#tempOutside)
2021-10-13 12:05:46.013 [DEBUG] [ernal.api.carnet.CarNetServiceStatus] - Updading channel connectedcar:cnvehicle:2d34eea96a:TMBJWXXXXXXXXXXXX:status#tempOutside with value invalid
2021-10-13 12:05:46.014 [WARN ] [ar.internal.handler.ThingBaseHandler] - TMBJWXXXXXXXXXXXX: General Error: For input string: "invalid"
java.lang.NumberFormatException: For input string: "invalid"
	at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054) ~[?:?]
	at jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110) ~[?:?]
	at java.lang.Double.parseDouble(Double.java:543) ~[?:?]
	at org.openhab.binding.connectedcar.internal.api.carnet.CarNetServiceStatus.updateNumberChannel(CarNetServiceStatus.java:234) ~[?:?]
	at org.openhab.binding.connectedcar.internal.api.carnet.CarNetServiceStatus.serviceUpdate(CarNetServiceStatus.java:151) ~[?:?]
	at org.openhab.binding.connectedcar.internal.api.ApiBaseService.update(ApiBaseService.java:88) ~[?:?]
	at org.openhab.binding.connectedcar.internal.handler.ThingBaseHandler.updateVehicleStatus(ThingBaseHandler.java:456) ~[?:?]
	at org.openhab.binding.connectedcar.internal.handler.ThingBaseHandler.lambda$1(ThingBaseHandler.java:400) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
==> /var/log/openhab/events.log <==
2021-10-13 12:05:46.019 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'connectedcar:cnvehicle:2d34eea96a:TMBJWXXXXXXXXXXXX' changed from UNKNOWN: Initializing to OFFLINE (COMMUNICATION_ERROR): General Error: For input string: "invalid"

Any idea? Did I do something wrong?
@markus7017 Is it better to post issues here or on Github?

fixed, check latest build

Obviously the API returns an invalid number format
TEMPERATURE_OUTSIDE=invaliddK
I added a check for a numeric value, otherwise the channel receives UNDEF

The binding creates channels based on returned data points from the API. We could check what’s returned for your car. Enable DEBUG logging on the console and send me the complete thing initialization as text file. The binding shows alls values returned from the API and which channels are created.

Could somebody confirm that the Enyak still works with latest version (it also uses the Skoda login beside an Enyak specific)?

fyi: I started with MercedesMe integration, but don’t expect something working within a week :slight_smile:

I can test Enyaq. But I‘m not sure if you want it tested with Skoda type or Enyaq type?

With Enyaq type please (Skoda does not work, but there is a dependency on the Skoda login)

Seems to be working. Everything updates just fine (only a quick 2 minute test). Activation of climatization is still not working, but if I remember correctly you’re aware of that:

2021-10-13 21:13:12.247 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'SkodaEnyaq_control_Climater' received command ON
2021-10-13 21:13:12.251 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'SkodaEnyaq_control_Climater' predicted to become ON
2021-10-13 21:13:12.256 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SkodaEnyaq_control_Climater' changed from OFF to ON

==> /var/log/openhab/openhab.log <==
2021-10-13 21:13:12.319 [INFO ] [ar.internal.handler.ThingBaseHandler] - TMBJC9NYXNF008576: API Call failed: API call failed
2021-10-13 21:13:12.321 [WARN ] [ar.internal.handler.ThingBaseHandler] - TMBJC9NYXNF008576:

If you need a DEBUG/TRACE log let me know.

Hi, ok, this confirms that the Enyaq login works also with the new App parameters
Please provide a TRACE log and I could check control climatisation. Do the other control functions work?

Hi Markus,

latest version (_20211013xxyy) fails to login again using the “Skoda Connect Account (CarNet)” bridge:

2021-10-14 11:07:03.867 [DEBUG] [ctedcar.internal.api.IdentityManager] - VW: Login successful, grating API access
2021-10-14 11:07:03.869 [DEBUG] [nectedcar.internal.api.ApiHttpClient] - VW: HTTP POST https://mbboauth-1d.prd.ece.vwg-connect.com/mbbcoauth/mobile/oauth2/v1/token
2021-10-14 11:07:04.029 [DEBUG] [nectedcar.internal.api.ApiHttpClient] - VW: HTTP 403 Response: <!doctype html><html lang="en"><head><title>HTTP Status 403 – Forbidden</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 403 – Forbidden</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Message</b> Access Denied</p><p><b>Description</b> The server understood the request but refuses to authorize it.</p><
2021-10-14 11:07:04.037 [DEBUG] [dcar.internal.handler.AccountHandler] - VW: Initialization failed: Login failed, check credentials (Forbidden)

Going back to version _20211012xxyy it’s working again. I captures a TRACE with the data and I do see Channel range#primaryRange being created and populated. I finally found it in the GUI after selecting “Show advanced” - so all good here :+1:

Thanks!

please try updated build, I have the wrong code file in the branch

fyi: I started to integrate MercedesMe into the ConnectedCar binding. So far I implemented a different login approach using a login code. The big advantage is that the initial setup is way easier. I already saw the access_token. Next is getting vehicle list and adapt the different API calls (status & control).

Let me know if someone wants to help on initial tests and testing.

3 Likes

Hey Folks,

I´m somhow failing to install the connected car binding - I´m using the latest build from @markus7017 and placed it inside the addons folder:

My openHab Version:

image

I also tried to clean the cache:

systemctl stop openhab
openhab-cli clean-cache
systemctl start openhab

But even after that, I still can´t see the binding in the UI.

Any ideas what went wrong? Thanks! :slight_smile:

This has been answered many times before. A maually installe binding (placed in addons folder) is not shown under installed bindings. You need to go to Things configuration and hit the big blue button with the “+” symbol, select the ConnectedCar binding and then the appropriate thing type…

If you don’t see the binding listed there, please check if the binding is runnin by typing

bundle:list

on openHAB’s Karaf console.

1 Like