Volkswagen Carnet
Information
Retrieve statistics about your Volkswagen from the Volkswagen Carnet online service
No licence, public domain, no guarantees, feel free to use for anything. Please contribute improvements/bugfixes etc.
Thanks to
For supporting and helping in this project.
Other related repositories
- HomeAssistant Component a custom component for Home Assistant
- VolkswagenCarnetClient a cli version of this library
Installation
[venv-python3] user@localhost:~
$ pip install volkswagencarnet
Example
#!/usr/bin/env python3
import volkswagencarnet
import pprint
import asyncio
import logging
from aiohttp import ClientSession
logging.basicConfig(level=logging.DEBUG)
VW_USERNAME='test@example.com'
VW_PASSWORD='mysecretpassword'
COMPONENTS = {
'sensor': 'sensor',
'binary_sensor': 'binary_sensor',
'lock': 'lock',
'device_tracker': 'device_tracker',
'switch': 'switch',
'climate': 'climate'
}
RESOURCES = [
'position',
'distance',
'electric_climatisation',
'combustion_climatisation',
'window_heater',
'combustion_engine_heating',
'charging',
'adblue_level',
'battery_level',
'fuel_level',
'service_inspection',
'oil_inspection',
'last_connected',
'charging_time_left',
'electric_range',
'combustion_range',
'combined_range',
'charge_max_ampere',
'climatisation_target_temperature',
'external_power',
'parking_light',
'climatisation_without_external_power',
'door_locked',
'trunk_locked',
'request_in_progress',
'windows_closed',
'sunroof_closed',
'trip_last_average_speed',
'trip_last_average_electric_consumption',
'trip_last_average_fuel_consumption',
'trip_last_duration',
'trip_last_length'
]
def is_enabled(attr):
"""Return true if the user has enabled the resource."""
return attr in RESOURCES
async def main():
"""Main method."""
async with ClientSession(headers={'Connection': 'keep-alive'}) as session:
connection = volkswagencarnet.Connection(session, VW_USERNAME, VW_PASSWORD)
if await connection._login():
if await connection.update():
# Print overall state
pprint.pprint(connection._state)
# Print vehicles
for vehicle in connection.vehicles:
pprint.pprint(vehicle)
# get all instruments
instruments = set()
for vehicle in connection.vehicles:
dashboard = vehicle.dashboard(mutable=True)
for instrument in (
instrument
for instrument in dashboard.instruments
if instrument.component in COMPONENTS
and is_enabled(instrument.slug_attr)):
instruments.add(instrument)
# Output all supported instruments
for instrument in instruments:
print(f'name: {instrument.full_name}')
print(f'str_state: {instrument.str_state}')
print(f'state: {instrument.state}')
print(f'supported: {instrument.is_supported}')
print(f'attr: {instrument.attr}')
print(f'attributes: {instrument.attributes}')
if __name__ == "__main__":
loop = asyncio.get_event_loop()
# loop.run(main())
loop.run_until_complete(main())
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
volkswagencarnet-4.4.23.tar.gz
(21.5 kB
view details)
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 volkswagencarnet-4.4.23.tar.gz.
File metadata
- Download URL: volkswagencarnet-4.4.23.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32b18746219d13eb953e4b2f25e56d5d4ad0e725cdc3d8244cc35d7ad54f9fd2
|
|
| MD5 |
b7cadb0d43bd1310f25f8b7d3b7c70c5
|
|
| BLAKE2b-256 |
bebd256c9084cf0bc4d70987b9d968cd44e89d3bb5eae4c6f7cc6191cdb59558
|
File details
Details for the file volkswagencarnet-4.4.23-py3-none-any.whl.
File metadata
- Download URL: volkswagencarnet-4.4.23-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70d89eb6e5823984afe3c34128189e7f86e4a1eefe51e391946325b8506773ba
|
|
| MD5 |
490638b8f87bf38cdb3efaea1b3ecad4
|
|
| BLAKE2b-256 |
f66e63abbd56f7ab7743f63cd9e5ba8a62fef66a24073c76f6ec0801984d2f0d
|