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

My car does not support window heat.
I have not yet tried out geo-fence nor speed alerts.

A new build fixes some issues

  • New: Channel control#setMaxCurrent is now working
  • Change: The index will be added to channel names when there is more than one channel group e.g. rluHistory1, rluHistory2ā€¦, then 1ā€¦2ā€¦ will be added to the channel name
  • Change: Last action channels receive consistent updates
  • Change: general#lastUpdate should only receive updates when any channel changes
  • Fix: parkingBreak should now work
  • Fix: Channel charger#maxCurrent fixed
  • Fix: RLU histroy channels will be updated again
  • Fix: Channel labels for windows group
  • README updated
1 Like

I decided to check if I could reproduce this on a brand new openhabian image and it turns out I can. On a new system I only installed mosquitto, picked up a temperature value, put it on the overview page, then I have up to 4 decimals: 17.6875 degrees.

Then I install the carNet jar file, and BOOM, after the restart the temperature at the overview page is 18 degrees. Surely I canā€™t be the only person who sees that? My mqtt room temperature has nothing to do with carNet and yet it somehow has an effect on it, I havenā€™t even installed the account thing yet. Just copied the jar file into the addons directory.

Iā€™m on a vanilla Pi4.

Hi Markus,
the build is broken :

2021-05-29 00:36:35.145 [INFO ] [nal.api.services.CarNetServiceStatus] - WVGZZZ5NZMM067658: KILOMETER_STATUS=826 (channel status#kilometerStatus)

2021-05-29 00:36:35.722 [WARN ] [nternal.handler.CarNetVehicleHandler] - WVGZZZ5NZMM067658: General Error: Missing label in channel definition

java.lang.IllegalArgumentException: Missing label in channel definition

	at org.openhab.binding.carnet.internal.api.CarNetIChanneldMapper$ChannelIdMapEntry.getLabel(CarNetIChanneldMapper.java:83) ~[?:?]

	at org.openhab.binding.carnet.internal.provider.CarNetChannelTypeProvider.addChannelType(CarNetChannelTypeProvider.java:107) ~[?:?]

	at org.openhab.binding.carnet.internal.handler.CarNetVehicleHandler.createChannels(CarNetVehicleHandler.java:653) ~[?:?]

	at org.openhab.binding.carnet.internal.handler.CarNetVehicleHandler.initializeThing(CarNetVehicleHandler.java:239) ~[?:?]

	at org.openhab.binding.carnet.internal.handler.CarNetVehicleHandler.lambda$1(CarNetVehicleHandler.java:585) ~[?:?]

	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) [?:?]

No channels created ā€¦

Hi, last-minute change on the windows channels while we chatted :slight_smile:
Please try again

I never heard a problem like this, no other user is reporting, no clue how to help
Please try a plain OH 3.0.2

Hi Markus. Thanks again for the update!
The set max current values can now be set and I see the corresponding value in the App.

An interesting thing I already saw is that I can set more values for the max charging current than with the original APP! Will validate with my power meter if these values also work in practice.

As @kreutzer_peter also said this is a great Api for optimally charging on solar power (or maybe also prevent overloading of your main circuit brakers).

Yes! thank you!

I found this comment in a review of VW CarNet features ā€ž VW Car-NetĀ® allows your to perform a variety of tasks remotely. These include opening and closing windows, locking or unlocking doors, and dealing with the trunk.ā€œ

Does anybody has the window control available in the App?

I have uploaded a V2 widget for testing.

Installation and config is the same, but I have added nearly all channels now, only trip data is missingā€¦
Next on my todo list is adding some more icons and coloring of the badgesā€¦

2 Likes
Brand Model Year Type Market Notes Doorlock Ventilation Preheat HonkAndFlash geo/speed Alerts
VW Passat Variant 2021 Diesel DE/DE yes no N/A yes yes

Did anybody already test the actual build with OH3.1.0.M5, released today?

There was no official announcement for M5, so it is not out yet, even if you can see the build on jfrog.

I got following error at activation

org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.carnet [294]
Unresolved requirement: Import-Package: javax.measure; version=ā€œ[1.0.0,2.0.0)ā€

As requested earlier, here a .things textual configuration example, bridge type ā€œVolkswagen CarNetā€:

Bridge carnet:volkswagen:VW-weconnect	"VW We Connect"	[user="<username>", password="<password>", , apiLevelVentilation=2, apiLevelClimatisation=2 ] {
	Thing vehicle	WVWZZZXXXXXXXXXXX	"My Car"	[ vin="WVWZZZXXXXXXXXXXX", pin="<s-pin>", pollingInterval=15, enableAddressLookup=true, numRluHistory=5, numShortTrip=5, numLongTrip=5, numDestinations=5, numSpeedAlerts=5, numGeoFenceAlerts=5 ]
}

I suggest to adopt the already available .items channel assignments example to the .things nomenclature:

{ channel="carnet:vehicle:VW-weconnect:WVWZZZXXXXXXXXXXX:general#vehicleLocked" }
...

thx, I added it to the README

  • New: Channel general#rateLimit was added to show the number of remaining API requests before API gets throttled (see below)
  • Change: Channels control#setMaxCurrent and charger#current are merged into control#maxCurrent as a r/w channel
  • Change: I managed to get access to profile data, which includes an indicator if MBB/MMI setup has been done completely
    I use this to suppress the ā€œpairing not completedā€ message, which is just wrong for some users. Maybe that helps to prevent confusion.
  • Change:
    The group index is now a prefix for the channel name (was suffix), e.g. speedAlerts1#speedAlertType gets label 1_Alert Type
    In addition groups tripShort and tripLong gets S and L as prefix, e.g. tripShort1#timestamp gets label S1_Trip Time
    this helps to build unique label names, which become the pre-defined Item names when adding the equipment to the model; @hmerk 's widget will utilize this to have a simpel setup without manual edit of the item names
  • Fix: Channel windowsClosed was always ON, fixed to be ON only if all windows are closed
  • Fix: Channel maintenanceRequired was always OFF, fixed to be ON if one of the conditions raised

Please delete and re-discover the vehicle thing

  • open thing:Channels
  • at the end you find [Unlink all and Remove Items]
  • go to Settings:Model and remove the equipment
  • delete thing
  • re-add the thing
  • add thing to model (Create Equipment from Thing)

API Throtteling
Usually the vehicle sends frequent status updates to the CarNet backend.
You have the option to request a forced update from the vehicle using the control#update channel.

The CarNet API has an integrated throttling, which protects the 12V battery to get drained from frequent status refresh requests. Once the limit is reached further API calls are rejected until the engine is started (which usually recharges the battery). Therefore be careful by using the ā€œUpdate Vehicle Statusā€ channel, each time a request is send. The channel general#rateLimit allows you to keep an eye on the remaining number of refreshes.

This is not a daily limit! Therefore if your vehicle sits for a week you have apx. 7 requests per day (50 requests/7 days).

2 Likes

Hi.

I downloaded the latest beta to test with my brand new ID.3.
I get an ā€œAPI Call failedā€ error on the carnetvwid bridge thing.
The debug log shows the following error a when trying the getVehicles call after having sucessfully authenticated and receiving the access token:

2021-05-31 21:43:08.261 [DEBUG] [carnet.internal.api.CarNetHttpClient] - HTTP GET https://msg.volkswagen.de/fs-car/usermanagement/users/v1/Id/DE/vehicles
Body/Data=
2021-05-31 21:43:08.505 [DEBUG] [ng.carnet.internal.api.CarNetApiBase] - : API call getVehicles failed: java.util.concurrent.ExecutionException: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header(org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header) GET https://msg.volkswagen.de/fs-car/usermanagement/users/v1/Id/DE/vehicles (HTTP 0 ), result = java.util.concurrent.ExecutionException: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header

Not sure if I am doing something wrong, if the vw system is having issues or if there is an issue in the binding code. Vehicle is visible when I log in manually to myvolkswagen.
Any idea or advice?

Thanks

Piggel

1 Like

Hi, no, you are doing nothing wrong, but ID is not yet supported (see initial post). I managed to get the login, but the data calls have a completely different format than CarNet (so in fact itā€™s a different API). Itā€™s on the list, but first I want to complete the CarNet implementation.

VW users: VW changed the Data Privacy Policy, you need to log in to the Web Portal (myvolkswagen.de) and accept those. I updated the binding to catch this situation and map it to a clear error message when thing goes offline. NO, Iā€™ll not implement an auto-consent :slight_smile: