Skip to main content

CarConnectivity connector for Audi services - integrates with Till Steinbach's CarConnectivity framework

Project description

CarConnectivity Connector for Audi

A Python connector for Audi vehicles that integrates with the CarConnectivity framework by Till Steinbach, allowing you to interact with your Audi vehicle's data and controls through a standardized API.

About CarConnectivity

This connector is built for the CarConnectivity framework, which provides a unified interface for connecting to various car manufacturers' APIs. CarConnectivity is developed and maintained by Till Steinbach.

Features

  • 🚗 Vehicle Status: Access battery/fuel levels, range, odometer readings
  • 🔐 Remote Control: Lock/unlock doors, start/stop charging and climatization
  • 📍 Location Services: Get vehicle position and parking information
  • 🔧 Maintenance: Check inspection and service due dates
  • 🌡️ Climate Control: Remote climate control and window heating
  • 💡 Vehicle Lights: Monitor and control vehicle lighting
  • Charging: Monitor and control electric vehicle charging

Installation

Install the connector using pip:

pip install carconnectivity-connector-audi

You'll also need the CarConnectivity CLI:

pip install carconnectivity-cli

For more information about the CarConnectivity framework, visit:

Configuration

Quick Start with Template

  1. Copy the provided template and customize it with your credentials:

    cp audi_config_template.json audi_config.json
    # Edit audi_config.json with your actual Audi credentials
    
  2. Or create a configuration file manually (e.g., audi_config.json) with your Audi credentials:

{
    "carConnectivity": {
        "connectors": [
            {
                "type": "audi",
                "config": {
                    "username": "your.email@example.com",
                    "password": "your_password"
                }
            }
        ]
    }
}

Usage

List all available resources

carconnectivity-cli audi_config.json list

Get vehicle state

carconnectivity-cli audi_config.json get /garage/YOUR_VIN/state

Get battery/fuel level

carconnectivity-cli audi_config.json get /garage/YOUR_VIN/drives/primary/level

Get vehicle position

carconnectivity-cli audi_config.json get /garage/YOUR_VIN/position/latitude
carconnectivity-cli audi_config.json get /garage/YOUR_VIN/position/longitude

Control charging (for electric vehicles)

carconnectivity-cli audi_config.json set /garage/YOUR_VIN/charging/commands/start-stop start

Control climatization

carconnectivity-cli audi_config.json set /garage/YOUR_VIN/climatization/commands/start-stop start

Lock/unlock doors

carconnectivity-cli audi_config.json set /garage/YOUR_VIN/doors/commands/lock-unlock lock

Running with Docker

You can run the Audi connector using Docker with the CarConnectivity-MQTT image made by Till. This allows you to publish vehicle data to an MQTT broker for integration with home automation systems.

Docker Compose Setup

Create a docker-compose.yml file:

services:
  carconnectivity-mqtt:
    image: "tillsteinbach/carconnectivity-mqtt:latest"
    environment:
      - ADDITIONAL_INSTALLS=carconnectivity-connector-audi
      - TZ=Europe/Berlin  # Set your timezone
    volumes:
      - ./carconnectivity.json:/carconnectivity.json
    restart: unless-stopped

Configuration for Docker

Create a carconnectivity.json configuration file:

{
    "carConnectivity": {
        "log_level": "info",
        "connectors": [
            {
                "type": "audi",
                "config": {
                    "interval": 600,
                    "username": "your.email@example.com",
                    "password": "your_password"
                }
            }
        ],
        "plugins": [
            {
                "type": "mqtt",
                "config": {
                    "broker": "192.168.1.100",
                    "port": 1883,
                    "username": "mqtt_user",
                    "password": "mqtt_password"
                }
            }
        ]
    }
}

Running the Container

docker-compose up -d

For detailed Docker configuration options, refer to the CarConnectivity-MQTT Docker documentation.

Development

Building from source

  1. Clone the repository:
git clone https://github.com/acfischer42/CarConnectivity-connector-audi.git
cd CarConnectivity-connector-audi
  1. Create a virtual environment:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:
pip install build
  1. Build the package:
python -m build
  1. Install locally:
pip install dist/carconnectivity_connector_audi-*.whl

Requirements

Related Projects

This connector is part of the CarConnectivity ecosystem:

Supported Vehicles

This connector works with Audi vehicles that support myAudi connected services, including:

  • Electric vehicles (e-tron models)
  • Hybrid vehicles
  • Modern ICE vehicles with connectivity features

Security

  • Credentials are securely handled through OAuth2 authentication
  • Tokens are cached locally and refreshed automatically
  • No credentials are stored in plain text after initial setup

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Credits

  • Till Steinbach for creating the CarConnectivity framework
  • Based on authentication patterns from the broader CarConnectivity ecosystem

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This is an unofficial connector not affiliated with Audi AG or Till Steinbach's original CarConnectivity project. Use at your own risk and ensure you comply with your vehicle's terms of service.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

carconnectivity_connector_audi-0.3.0.tar.gz (80.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file carconnectivity_connector_audi-0.3.0.tar.gz.

File metadata

File hashes

Hashes for carconnectivity_connector_audi-0.3.0.tar.gz
Algorithm Hash digest
SHA256 294c469c7c41aff9e8e5601463f5380a3dbfb0d44bb55b529c8f6a042348b5de
MD5 c898bd159d1e946fc2722bc2d1136d5d
BLAKE2b-256 17dbd9866edc3fdea49f4ea0c2373c4b0d3a36da690865feefc4fc6ed753f2c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for carconnectivity_connector_audi-0.3.0.tar.gz:

Publisher: publish.yml on acfischer42/CarConnectivity-connector-audi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file carconnectivity_connector_audi-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for carconnectivity_connector_audi-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc75f934aa00bb3617a5d9acdf0bfb9345e108fc2c0172293bc09f989c5707cb
MD5 19524d46eb30b232e957056ee525e88d
BLAKE2b-256 1c22313608323d2eca756e6b07c804849124857aa6ab07e4b0631ddf5bfc6aa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for carconnectivity_connector_audi-0.3.0-py3-none-any.whl:

Publisher: publish.yml on acfischer42/CarConnectivity-connector-audi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page