Skip to content

acfischer42/CarConnectivity-connector-audi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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.

About

Carconnectivity Connector for Audi

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •