carconnectivity-plugin-mqtt


Namecarconnectivity-plugin-mqtt JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryCarConnectivity plugin for publishing data to MQTT
upload_time2025-02-02 21:04:38
maintainerNone
docs_urlNone
authorTill Steinbach
requires_python>=3.9
licenseMIT License Copyright (c) 2021 Till Steinbach Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            

# CarConnectivity Plugin for MQTT
[![GitHub sourcecode](https://img.shields.io/badge/Source-GitHub-green)](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/tillsteinbach/CarConnectivity-plugin-mqtt)](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/releases/latest)
[![GitHub](https://img.shields.io/github/license/tillsteinbach/CarConnectivity-plugin-mqtt)](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/blob/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/tillsteinbach/CarConnectivity-plugin-mqtt)](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/issues)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/carconnectivity-plugin-mqtt?label=PyPI%20Downloads)](https://pypi.org/project/carconnectivity-plugin-mqtt/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/carconnectivity-plugin-mqtt)](https://pypi.org/project/carconnectivity-plugin-mqtt/)
[![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/tillsteinbach/carconnectivity-mqtt?sort=semver)](https://hub.docker.com/r/tillsteinbach/carconnectivity-mqtt)
[![Docker Pulls](https://img.shields.io/docker/pulls/tillsteinbach/carconnectivity-mqtt)](https://hub.docker.com/r/tillsteinbach/carconnectivity-mqtt)
[![Donate at PayPal](https://img.shields.io/badge/Donate-PayPal-2997d8)](https://www.paypal.com/donate?hosted_button_id=2BVFF5GJ9SXAJ)
[![Sponsor at Github](https://img.shields.io/badge/Sponsor-GitHub-28a745)](https://github.com/sponsors/tillsteinbach)

## CarConnectivity will become the successor of [WeConnect-python](https://github.com/tillsteinbach/WeConnect-python) in 2025 with similar functionality but support for other brands beyond Volkswagen!

[CarConnectivity](https://github.com/tillsteinbach/CarConnectivity) is a python API to connect to various car services. If you want to publish the data collected from your vehicle in a standard protocol such as [MQTT](https://mqtt.org) this plugin will help you. This Client enables you to integrate with the [MQTT Broker](https://mqtt.org/software/) of your choice (e.g. your home automation solution such as [ioBroker](https://www.iobroker.net), [FHEM](https://fhem.de) or [Home Assistant](https://www.home-assistant.io))

## How to install

### Install using PIP
If you want to use CarConnectivity-mqtt, the easiest way is to obtain it from [PyPI](https://pypi.org/project/carconnectivity-plugin-mqtt/). Just install instead using:
```bash
pip3 install carconnectivity-plugin-mqtt
```

### Connectors & Plugins
In order to connect vehciles from various brands, you need to install connector, e.g. with:
```bash
pip3 install carconnectivity-connector-volkswagen
pip3 install carconnectivity-connector-skoda
```

### Create config file
Create a carconnectivity.json config file like this (Example if you have a Volkswagen and a MySkoda account). A documentation of all possible config options can be found [here](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/tree/main/doc/Config.md).
```json
{
    "carConnectivity": {
        "log_level": "error", // set the global log level, you can set individual log levels in the connectors and plugins
        "connectors": [
            {
                "type": "skoda", // Definition for a MySkoda account
                "config": {
                    "interval": 600, // Interval in which the server is checked in seconds
                    "username": "test@test.de", // Username of your MySkoda Account
                    "password": "testpassword123" // Password of your MySkoda Account
                }
            },
            {
                "type": "volkswagen", // Definition for a Volkswagen account
                "config": {
                    "interval": 300, // Interval in which the server is checked in seconds
                    "username": "test@test.de", // Username of your Volkswagen Account
                    "password": "testpassword123" // Username of your Volkswagen Account
                }
            }
        ],
        "plugins": [
            {
                "type": "mqtt", // Definition for the MQTT Connection
                "config": {
                    "broker": "192.168.0.123", // Broker hostname or IP address
                    "username": "testuser", // Broker username to login
                    "password": "testuser", // Broker password to login
                }
            }
        ]
    }
}
```

### Startup
When using docker-compose configure CarConnectivity-MQTT like that:
```bash
carconnectivity-mqtt carconnectivity.json
```

### Updates
If you want to update, the easiest way is:
```bash
pip3 install carconnectivity-plugin-mqtt --upgrade
pip3 install carconnectivity-connector-volkswagen --upgrade
pip3 install carconnectivity-connector-skoda --upgrade
```

## With Docker
There is also a Docker image to easily host CarConnectivity-MQTT: [See on Dockerhub](https://hub.docker.com/r/tillsteinbach/carconnectivity-mqtt)

## Other
### Times
By default the times coming from the car are UTC isoformat. You can convert times to your local timezone by adding `convert-times` to your config. Convert times will use the timezone specified in `TZ` variable.
You can format times in your local format by adding `timeformat` to your config. This will use the default Date/Time format of your locale setting (`LC_ALL` variable). If you want to set a specific format add e.g. `timeformat '%a %d %b %Y %T'` to your config.
```yml
...
  carconnectivity-mqtt:
    image: "tillsteinbach/carconnectivity-mqtt:edge"
    environment:
      - TZ=Europe/Berlin
      - LANG=de_DE
      - LC_ALL=de_DE
...
```
### Using Miles or Farenheit
CarConnectivity will guess your desired temperature or range/speed unit based on the systems locale. If it does not match what you want, you can set a different locale in your `carconnectivity.json` json config.

### Credentials
If you do not want to provide your username or password inside the configuration you have to create a ".netrc" file at the appropriate location (usually this is your home folder):
```
# For MQTT broker
machine mymqttbroker
login test@test.de
password testpassword123
```
In this case the configuration needs to look like this:
```
{
    "carConnectivity": {
        "connectors": [
            ...
        ]
        "plugins": [
            {
                "type": "mqtt",
                "config": {
                    "broker": "mymqttbroker"
                }
            }
        ]
    }
}
```

You can also provide the location of the netrc file in the configuration.
```
{
    "carConnectivity": {
        "connectors": [
            ...
        ]
        "plugins": [
            {
                "type": "mqtt",
                "config": {
                    "broker": "mymqttbroker"
                    "netrc": "/some/path/on/your/filesystem"
                }
            }
        ]
    }
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "carconnectivity-plugin-mqtt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Till Steinbach",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/39/2f/90db90b68ac2d0b6787334325aeaead82ecdb4f5966a708ae5b98785cee9/carconnectivity_plugin_mqtt-0.2.1.tar.gz",
    "platform": null,
    "description": "\n\n# CarConnectivity Plugin for MQTT\n[![GitHub sourcecode](https://img.shields.io/badge/Source-GitHub-green)](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/)\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/tillsteinbach/CarConnectivity-plugin-mqtt)](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/releases/latest)\n[![GitHub](https://img.shields.io/github/license/tillsteinbach/CarConnectivity-plugin-mqtt)](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/blob/master/LICENSE)\n[![GitHub issues](https://img.shields.io/github/issues/tillsteinbach/CarConnectivity-plugin-mqtt)](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/issues)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/carconnectivity-plugin-mqtt?label=PyPI%20Downloads)](https://pypi.org/project/carconnectivity-plugin-mqtt/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/carconnectivity-plugin-mqtt)](https://pypi.org/project/carconnectivity-plugin-mqtt/)\n[![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/tillsteinbach/carconnectivity-mqtt?sort=semver)](https://hub.docker.com/r/tillsteinbach/carconnectivity-mqtt)\n[![Docker Pulls](https://img.shields.io/docker/pulls/tillsteinbach/carconnectivity-mqtt)](https://hub.docker.com/r/tillsteinbach/carconnectivity-mqtt)\n[![Donate at PayPal](https://img.shields.io/badge/Donate-PayPal-2997d8)](https://www.paypal.com/donate?hosted_button_id=2BVFF5GJ9SXAJ)\n[![Sponsor at Github](https://img.shields.io/badge/Sponsor-GitHub-28a745)](https://github.com/sponsors/tillsteinbach)\n\n## CarConnectivity will become the successor of [WeConnect-python](https://github.com/tillsteinbach/WeConnect-python) in 2025 with similar functionality but support for other brands beyond Volkswagen!\n\n[CarConnectivity](https://github.com/tillsteinbach/CarConnectivity) is a python API to connect to various car services. If you want to publish the data collected from your vehicle in a standard protocol such as [MQTT](https://mqtt.org) this plugin will help you. This Client enables you to integrate with the [MQTT Broker](https://mqtt.org/software/) of your choice (e.g. your home automation solution such as [ioBroker](https://www.iobroker.net), [FHEM](https://fhem.de) or [Home Assistant](https://www.home-assistant.io))\n\n## How to install\n\n### Install using PIP\nIf you want to use CarConnectivity-mqtt, the easiest way is to obtain it from [PyPI](https://pypi.org/project/carconnectivity-plugin-mqtt/). Just install instead using:\n```bash\npip3 install carconnectivity-plugin-mqtt\n```\n\n### Connectors & Plugins\nIn order to connect vehciles from various brands, you need to install connector, e.g. with:\n```bash\npip3 install carconnectivity-connector-volkswagen\npip3 install carconnectivity-connector-skoda\n```\n\n### Create config file\nCreate a carconnectivity.json config file like this (Example if you have a Volkswagen and a MySkoda account). A documentation of all possible config options can be found [here](https://github.com/tillsteinbach/CarConnectivity-plugin-mqtt/tree/main/doc/Config.md).\n```json\n{\n    \"carConnectivity\": {\n        \"log_level\": \"error\", // set the global log level, you can set individual log levels in the connectors and plugins\n        \"connectors\": [\n            {\n                \"type\": \"skoda\", // Definition for a MySkoda account\n                \"config\": {\n                    \"interval\": 600, // Interval in which the server is checked in seconds\n                    \"username\": \"test@test.de\", // Username of your MySkoda Account\n                    \"password\": \"testpassword123\" // Password of your MySkoda Account\n                }\n            },\n            {\n                \"type\": \"volkswagen\", // Definition for a Volkswagen account\n                \"config\": {\n                    \"interval\": 300, // Interval in which the server is checked in seconds\n                    \"username\": \"test@test.de\", // Username of your Volkswagen Account\n                    \"password\": \"testpassword123\" // Username of your Volkswagen Account\n                }\n            }\n        ],\n        \"plugins\": [\n            {\n                \"type\": \"mqtt\", // Definition for the MQTT Connection\n                \"config\": {\n                    \"broker\": \"192.168.0.123\", // Broker hostname or IP address\n                    \"username\": \"testuser\", // Broker username to login\n                    \"password\": \"testuser\", // Broker password to login\n                }\n            }\n        ]\n    }\n}\n```\n\n### Startup\nWhen using docker-compose configure CarConnectivity-MQTT like that:\n```bash\ncarconnectivity-mqtt carconnectivity.json\n```\n\n### Updates\nIf you want to update, the easiest way is:\n```bash\npip3 install carconnectivity-plugin-mqtt --upgrade\npip3 install carconnectivity-connector-volkswagen --upgrade\npip3 install carconnectivity-connector-skoda --upgrade\n```\n\n## With Docker\nThere is also a Docker image to easily host CarConnectivity-MQTT: [See on Dockerhub](https://hub.docker.com/r/tillsteinbach/carconnectivity-mqtt)\n\n## Other\n### Times\nBy default the times coming from the car are UTC isoformat. You can convert times to your local timezone by adding `convert-times` to your config. Convert times will use the timezone specified in `TZ` variable.\nYou can format times in your local format by adding `timeformat` to your config. This will use the default Date/Time format of your locale setting (`LC_ALL` variable). If you want to set a specific format add e.g. `timeformat '%a %d %b %Y %T'` to your config.\n```yml\n...\n  carconnectivity-mqtt:\n    image: \"tillsteinbach/carconnectivity-mqtt:edge\"\n    environment:\n      - TZ=Europe/Berlin\n      - LANG=de_DE\n      - LC_ALL=de_DE\n...\n```\n### Using Miles or Farenheit\nCarConnectivity will guess your desired temperature or range/speed unit based on the systems locale. If it does not match what you want, you can set a different locale in your `carconnectivity.json` json config.\n\n### Credentials\nIf you do not want to provide your username or password inside the configuration you have to create a \".netrc\" file at the appropriate location (usually this is your home folder):\n```\n# For MQTT broker\nmachine mymqttbroker\nlogin test@test.de\npassword testpassword123\n```\nIn this case the configuration needs to look like this:\n```\n{\n    \"carConnectivity\": {\n        \"connectors\": [\n            ...\n        ]\n        \"plugins\": [\n            {\n                \"type\": \"mqtt\",\n                \"config\": {\n                    \"broker\": \"mymqttbroker\"\n                }\n            }\n        ]\n    }\n}\n```\n\nYou can also provide the location of the netrc file in the configuration.\n```\n{\n    \"carConnectivity\": {\n        \"connectors\": [\n            ...\n        ]\n        \"plugins\": [\n            {\n                \"type\": \"mqtt\",\n                \"config\": {\n                    \"broker\": \"mymqttbroker\"\n                    \"netrc\": \"/some/path/on/your/filesystem\"\n                }\n            }\n        ]\n    }\n}\n```\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2021 Till Steinbach\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.\n        ",
    "summary": "CarConnectivity plugin for publishing data to MQTT",
    "version": "0.2.1",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0268e0342df32c343d58a58414a63e66fd16029594b212f91c0220a392d404a9",
                "md5": "dc50c7db66e8b55cbc2b975d1a3401e3",
                "sha256": "ad245d4fb30e95b4aa55b46e0477c9d8307811510a2c614a5e64ae58c23e1729"
            },
            "downloads": -1,
            "filename": "carconnectivity_plugin_mqtt-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dc50c7db66e8b55cbc2b975d1a3401e3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 16795,
            "upload_time": "2025-02-02T21:04:36",
            "upload_time_iso_8601": "2025-02-02T21:04:36.546479Z",
            "url": "https://files.pythonhosted.org/packages/02/68/e0342df32c343d58a58414a63e66fd16029594b212f91c0220a392d404a9/carconnectivity_plugin_mqtt-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "392f90db90b68ac2d0b6787334325aeaead82ecdb4f5966a708ae5b98785cee9",
                "md5": "5f7f47a4c30a5337f0dd178e73b5a54a",
                "sha256": "0c40e7e920eef9a90bbd6b467817e93df441eb98096ef97a8c8579054726a57a"
            },
            "downloads": -1,
            "filename": "carconnectivity_plugin_mqtt-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "5f7f47a4c30a5337f0dd178e73b5a54a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 26856,
            "upload_time": "2025-02-02T21:04:38",
            "upload_time_iso_8601": "2025-02-02T21:04:38.304240Z",
            "url": "https://files.pythonhosted.org/packages/39/2f/90db90b68ac2d0b6787334325aeaead82ecdb4f5966a708ae5b98785cee9/carconnectivity_plugin_mqtt-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-02 21:04:38",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "carconnectivity-plugin-mqtt"
}
        
Elapsed time: 2.00488s