Skip to main content

Library to read data from the BMW Connected Drive portal

Project description

bimmer_connected

https://badge.fury.io/py/bimmer-connected.svg https://pepy.tech/badge/bimmer-connected/week https://pepy.tech/badge/bimmer-connected/month https://pepy.tech/badge/bimmer-connected https://travis-ci.com/bimmerconnected/bimmer_connected.svg?branch=dev https://readthedocs.org/projects/bimmer-connected/badge/?version=latest https://coveralls.io/repos/github/bimmerconnected/bimmer_connected/badge.svg?branch=master

This is a simple library to query and control the status of your BMW or Mini vehicle from the ConnectedDrive portal.

Installation

bimmer_connected requires Python 3.6 or above but should also run with Python 3.5. Just install the latest release from PyPI using pip3 install --upgrade bimmer_connected.

Alteratively, clone the project and execute pip install -e . to install the current master branch.

Usage

After installation, execute bimmerconnected from command line for usage instruction or see the full CLI documentation.

The description of the modules can be found in the module documentation.

This library is written to be included in Home Assistant.

Compatibility

This works with BMW (and Mini) vehicles with a ConnectedDrive account. So far it is tested on vehicles with a ‘MGU’, ‘NBTEvo’, ‘EntryEvo’, ‘NBT’, or ‘EntryNav’ navigation system. If you have any trouble with other navigation systems, please create an issue with your server responses (see next section).

To use this library, your BMW (or Mini) must have the remote services enabled for your vehicle. You might need to book this in the ConnectedDrive/Mini Connected portal and this might cost some money. In addition to that you need to enable the Remote Services in your infotainment system in the vehicle.

Different models of vehicles and infotainment systems result in different types of attributes provided by the server. So the experience with the library will certaily vary across the different vehicle models.

Data Contributions

If some features do not work for your vehicle, we would need the data returned form the server to analyse this and potentially extend the code. Different models and head unit generations lead to different responses from the server.

If you want to contribute your data, perform the following steps:

# get the latest version of the library
pip3 install --upgrade bimmer_connected

# run the fingerprint function
bimmerconnected fingerprint <username> <password> <region>

This will create a set of log files in the “vehicle_fingerprint” folder. Before sending the data to anyone please check for any personal data such as dealer name or country.

The following attributes are by default replaced with anonymized values:

  • vin (Vehicle Identification Number)

  • lat and lon (GPS position)

  • licensePlate

  • information of dealer

Create a new fingerprint data contribution and add the files as attachment to the discussion.

Please add your model and year to the title of the issue, to make it easier to organize. If you know the “chassis code” of your car, you can include that too. (For example, googling “2017 BMW X5” will show a Wikipedia article entitled “BMW X5 (F15)”. F15 is therefore the chassis code of the car.)

Note: We will then use this data as additional test cases. So we will publish (parts of) it (after checking for personal information again) and use this as test cases for our library. If you do not want this, please let us know in advance.

Code Contributions

Contributions are welcome! Please make sure that your code passed the tox checks. We currently test against flake8, pylint and our own pytest suite. And please add tests where it makes sense. The more the better.

See the contributing guidelines for more details.

Thank you

Thank you to all contributors for your research and contributions! And thanks to everyone who shares the fingerprint data of their vehicles which we use to test the code.

This library is basically a best-of of other similar solutions, yet none of them provided a ready to use library with a matching interface to be used in Home Assistant and is available on pypi.

Thank you for your great software!

License

The bimmer_connected library is licensed under the Apache License 2.0.

Disclaimer

This library is not affiliated with or endorsed by BMW Group.

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

bimmer_connected-0.8.0.0b7.tar.gz (61.8 kB view details)

Uploaded Source

Built Distribution

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

bimmer_connected-0.8.0.0b7-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

Details for the file bimmer_connected-0.8.0.0b7.tar.gz.

File metadata

  • Download URL: bimmer_connected-0.8.0.0b7.tar.gz
  • Upload date:
  • Size: 61.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for bimmer_connected-0.8.0.0b7.tar.gz
Algorithm Hash digest
SHA256 6a991fc810915d67daf15add5f4c5ad9ef27e565e4eece592f5346881a1059a6
MD5 a0552d226d27239a993dfa6bb7ac9d49
BLAKE2b-256 f7582971587387a005f9fb9580f7a2aa8e734c57c2bf6a1898dfcf3fed98d7bf

See more details on using hashes here.

File details

Details for the file bimmer_connected-0.8.0.0b7-py3-none-any.whl.

File metadata

  • Download URL: bimmer_connected-0.8.0.0b7-py3-none-any.whl
  • Upload date:
  • Size: 31.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for bimmer_connected-0.8.0.0b7-py3-none-any.whl
Algorithm Hash digest
SHA256 40667d343b0ca4dd568dc0c68580173385f1aa55f1c09ca0a6ca8ad0cdab6539
MD5 cf5b5b79fa30887cdf557dbb540f7f45
BLAKE2b-256 5c7f05f9212cbf2a5ef70d3106c71296c20b7da62461cb6220e45964da8a547b

See more details on using hashes here.

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