Access the REST interface of VW up! and related cars
Project description
🚗🎛️🔧 upXlink
Re-implementation of the data exchange part of maps + more. The goal is to support all settings and read out all the data, just as with the original app.
[!WARNING] Currently the application will not change the car’s configuration, unless the
postcommand is used to send a POST request. While the API exposed by the car seems to be straightforward, no “safe” write access with checking for data sanity has been implemented yet. As always, use at your own risk when experimenting.
You can check out this rather outdated document specifying the REST interface partially.
Screenshot
Installation
You can get upXlink from PyPI:
pip install upxlink
Usage
After pairing to your car, you can use your car’s MAC address with:
upxlink 12:34:56:78:90:00
Connecting for the first time requires a registration.
Just confirm the PIN shown on the cars display.
Client-side calculation of the PIN is not available (yet).
The credentials will be saved in your home directory at .upxlink_credentials
This is only necessary for the first time.
Command line
You can use upXlink directly from the command line using below commands.
Use help to get a list of commands.
Available commands are
battery: Print battery datainfo: Print car inforange: Print range infochargingmanager: Print current chargingmanager configurationget <path>: Get content from<path>, e.g.get /car/infopost <path> <content>: Post<content>to<path>
Status
What works
- Registration (albeit without PIN calculation) works.
- Authentication works.
- Accessing the REST interface using
GETandPOSTworks. - Readout works for
- Battery SoC
- Car information (VIN, region, model)
- Range
- ChargingManager (departure times, locations, charging times)
- Note: The car reports departure times in UTC.
What does not work yet (but is planned)
- More robust registration
- Certificate at first registration is not checked
- PIN calculation is not performed (we are forced to TOFU)
- ChargingManager
- Manipulation
- Note: Using the
postcommand, modifications can be made. As always, use at your own risk.
- Note: Using the
- Manipulation
- MediaControl
- WebSocket functionality (subscribing to events like button presses)
- A nice documentation
Disclaimer
This project is not associated with VWAG or its sub-brands. All trademarks are the property of their respective owners.
This program is free software: you can redistribute it and/or modify it under the terms of the European Union Public License (EUPL), version 1.2.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the European Union Public License for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file upxlink-0.1.0.tar.gz.
File metadata
- Download URL: upxlink-0.1.0.tar.gz
- Upload date:
- Size: 114.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2da336a81d90ef5d378a76d1a934e2d4afbe47e90154ff5492f8f5307039b647
|
|
| MD5 |
754c154e85e76adec5985099114361cb
|
|
| BLAKE2b-256 |
a874d1b3052eb2d65d6ecb83128825fc3c42e1dd2b5107e459b9c905de3c88ac
|
Provenance
The following attestation bundles were made for upxlink-0.1.0.tar.gz:
Publisher:
python-publish.yml on hahnworks/upXlink
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
upxlink-0.1.0.tar.gz -
Subject digest:
2da336a81d90ef5d378a76d1a934e2d4afbe47e90154ff5492f8f5307039b647 - Sigstore transparency entry: 692520691
- Sigstore integration time:
-
Permalink:
hahnworks/upXlink@6263a77056c05c42a3acfcc7317bb961430baedb -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/hahnworks
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6263a77056c05c42a3acfcc7317bb961430baedb -
Trigger Event:
release
-
Statement type:
File details
Details for the file upxlink-0.1.0-py3-none-any.whl.
File metadata
- Download URL: upxlink-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54b16d5cfa23fd28fe767c23297052cfd9530e0bac5e3f26ded163bc927bff1f
|
|
| MD5 |
093e0471cc7847a5aeddbd2ae5e6ee9d
|
|
| BLAKE2b-256 |
5b55b9912c4b1b379ac14746809f064186a4daa8ab9a802600c6a460225ee98c
|
Provenance
The following attestation bundles were made for upxlink-0.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on hahnworks/upXlink
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
upxlink-0.1.0-py3-none-any.whl -
Subject digest:
54b16d5cfa23fd28fe767c23297052cfd9530e0bac5e3f26ded163bc927bff1f - Sigstore transparency entry: 692520698
- Sigstore integration time:
-
Permalink:
hahnworks/upXlink@6263a77056c05c42a3acfcc7317bb961430baedb -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/hahnworks
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6263a77056c05c42a3acfcc7317bb961430baedb -
Trigger Event:
release
-
Statement type: