carconnectivity-plugin-homekit 0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. carconnectivity_plugin_homekit-0.1/.flake8 +2 -0
  2. carconnectivity_plugin_homekit-0.1/.github/ISSUE_TEMPLATE/bug_report.md +33 -0
  3. carconnectivity_plugin_homekit-0.1/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  4. carconnectivity_plugin_homekit-0.1/.github/dependabot.yml +11 -0
  5. carconnectivity_plugin_homekit-0.1/.github/workflows/build.yml +53 -0
  6. carconnectivity_plugin_homekit-0.1/.github/workflows/build_and_publish.yml +37 -0
  7. carconnectivity_plugin_homekit-0.1/.github/workflows/codeql-analysis.yml +58 -0
  8. carconnectivity_plugin_homekit-0.1/.gitignore +132 -0
  9. carconnectivity_plugin_homekit-0.1/CHANGELOG.md +13 -0
  10. carconnectivity_plugin_homekit-0.1/LICENSE +21 -0
  11. carconnectivity_plugin_homekit-0.1/Makefile +18 -0
  12. carconnectivity_plugin_homekit-0.1/PKG-INFO +98 -0
  13. carconnectivity_plugin_homekit-0.1/README.md +53 -0
  14. carconnectivity_plugin_homekit-0.1/doc/Config.md +70 -0
  15. carconnectivity_plugin_homekit-0.1/pyproject.toml +50 -0
  16. carconnectivity_plugin_homekit-0.1/screenshots/homekit.jpg +0 -0
  17. carconnectivity_plugin_homekit-0.1/screenshots/homekit2.jpg +0 -0
  18. carconnectivity_plugin_homekit-0.1/screenshots/homekit3.jpg +0 -0
  19. carconnectivity_plugin_homekit-0.1/screenshots/homekit4.jpg +0 -0
  20. carconnectivity_plugin_homekit-0.1/screenshots/homekit5.jpg +0 -0
  21. carconnectivity_plugin_homekit-0.1/screenshots/homekit6.jpg +0 -0
  22. carconnectivity_plugin_homekit-0.1/setup.cfg +4 -0
  23. carconnectivity_plugin_homekit-0.1/setup_requirements.txt +3 -0
  24. carconnectivity_plugin_homekit-0.1/src/carconnectivity_homekit/__init__.py +0 -0
  25. carconnectivity_plugin_homekit-0.1/src/carconnectivity_homekit/carconnectivity_homekit_base.py +26 -0
  26. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugin_homekit.egg-info/PKG-INFO +98 -0
  27. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugin_homekit.egg-info/SOURCES.txt +44 -0
  28. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugin_homekit.egg-info/dependency_links.txt +1 -0
  29. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugin_homekit.egg-info/entry_points.txt +2 -0
  30. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugin_homekit.egg-info/requires.txt +2 -0
  31. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugin_homekit.egg-info/top_level.txt +2 -0
  32. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/__init__.py +0 -0
  33. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/_version.py +16 -0
  34. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/__init__.py +0 -0
  35. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/bridge.py +401 -0
  36. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/charging.py +191 -0
  37. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/charging_plug.py +79 -0
  38. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/climatization.py +258 -0
  39. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/custom_characteristics.py +16 -0
  40. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/dummy_accessory.py +32 -0
  41. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/flashing.py +77 -0
  42. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/generic_accessory.py +235 -0
  43. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/locking_system.py +114 -0
  44. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/outside_temperature.py +91 -0
  45. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/accessories/util.py +11 -0
  46. carconnectivity_plugin_homekit-0.1/src/carconnectivity_plugins/homekit/plugin.py +129 -0
@@ -0,0 +1,2 @@
1
+ [flake8]
2
+ max-line-length=160
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: bug
6
+ assignees: tillsteinbach
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Screenshots**
24
+ If applicable, add screenshots to help explain your problem.
25
+
26
+ **Logs**
27
+ IF applicable logs that show the problem. Please take care to remove any confidential data from the logs (e.g. your vehicles VIN number, usernames or passwords)
28
+
29
+ - OS: [e.g. Windows, Linux, MacOS, ...]
30
+ - Version used [e.g. 0.6.2]
31
+
32
+ **Additional context**
33
+ Add any other context about the problem here.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: enhancement
6
+ assignees: tillsteinbach
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,11 @@
1
+ version: 2
2
+ updates:
3
+ # Maintain dependencies for GitHub Actions
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "daily"
8
+ - package-ecosystem: "pip"
9
+ directory: "/"
10
+ schedule:
11
+ interval: "daily"
@@ -0,0 +1,53 @@
1
+ name: Build Python Package
2
+
3
+ # Controls when the action will run.
4
+ on:
5
+ # Triggers the workflow on push or pull request events but only for the master branch
6
+ push:
7
+ branches: [ main ]
8
+ tags:
9
+ - "v*"
10
+ paths:
11
+ - .github/workflows/build.yml
12
+ - '**.py'
13
+ - 'pyproject.toml'
14
+ pull_request:
15
+ paths:
16
+ - .github/workflows/build.yml
17
+ - '**.py'
18
+ - 'pyproject.toml'
19
+
20
+ jobs:
21
+ build-python:
22
+ runs-on: ubuntu-latest
23
+ strategy:
24
+ matrix:
25
+ python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
26
+
27
+ steps:
28
+ - uses: actions/checkout@v4
29
+ - name: Set up Python ${{ matrix.python-version }}
30
+ uses: actions/setup-python@v5
31
+ with:
32
+ python-version: ${{ matrix.python-version }}
33
+ - name: Install dependencies
34
+ run: |
35
+ python -m pip install --upgrade pip
36
+ if [ -f setup_requirements.txt ]; then pip install -r setup_requirements.txt; fi
37
+ python -m pip install build
38
+ - name: Build
39
+ run: |
40
+ python -m build
41
+ - name: Install built package
42
+ run: |
43
+ pip install dist/*.whl
44
+ - name: Lint
45
+ run: |
46
+ make lint
47
+ # - name: Test
48
+ # run: |
49
+ # make test
50
+
51
+
52
+
53
+
@@ -0,0 +1,37 @@
1
+ name: Build and Upload Python Package
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ pypi-publish:
10
+ runs-on: ubuntu-latest
11
+ environment:
12
+ name: pypi
13
+ url: https://pypi.org/p/carconnectivity-plugin-homekit
14
+ permissions:
15
+ id-token: write
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ with:
20
+ fetch-depth: 0
21
+ - name: Set up Python
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: "3.x"
25
+ - name: Install dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ python -m pip install build twine
29
+ - name: Build
30
+ run: |
31
+ python -m build
32
+ - name: Publish package distributions to PyPI
33
+ uses: pypa/gh-action-pypi-publish@release/v1
34
+
35
+
36
+
37
+
@@ -0,0 +1,58 @@
1
+ name: "CodeQL"
2
+
3
+ on:
4
+ pull_request:
5
+ paths:
6
+ - '**.py'
7
+ schedule:
8
+ - cron: '33 5 * * 0'
9
+
10
+ jobs:
11
+ analyze:
12
+ name: Analyze
13
+ runs-on: ubuntu-latest
14
+ permissions:
15
+ actions: read
16
+ contents: read
17
+ security-events: write
18
+
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ language: [ 'python' ]
23
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
24
+ # Learn more:
25
+ # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
26
+
27
+ steps:
28
+ - name: Checkout repository
29
+ uses: actions/checkout@v4
30
+
31
+ # Initializes the CodeQL tools for scanning.
32
+ - name: Initialize CodeQL
33
+ uses: github/codeql-action/init@v3
34
+ with:
35
+ languages: ${{ matrix.language }}
36
+ # If you wish to specify custom queries, you can do so here or in a config file.
37
+ # By default, queries listed here will override any specified in a config file.
38
+ # Prefix the list here with "+" to use these queries and those in the config file.
39
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
40
+
41
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
42
+ # If this step fails, then you should remove it and run the build manually (see below)
43
+ - name: Autobuild
44
+ uses: github/codeql-action/autobuild@v3
45
+
46
+ # ℹ️ Command-line programs to run using the OS shell.
47
+ # 📚 https://git.io/JvXDl
48
+
49
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
50
+ # and modify them (or add more) to build your code if your project
51
+ # uses a compiled language
52
+
53
+ #- run: |
54
+ # make bootstrap
55
+ # make release
56
+
57
+ - name: Perform CodeQL Analysis
58
+ uses: github/codeql-action/analyze@v3
@@ -0,0 +1,132 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ target/
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+
80
+ # IPython
81
+ profile_default/
82
+ ipython_config.py
83
+
84
+ # pyenv
85
+ .python-version
86
+
87
+ # pipenv
88
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
90
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
91
+ # install all needed dependencies.
92
+ #Pipfile.lock
93
+
94
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95
+ __pypackages__/
96
+
97
+ # Celery stuff
98
+ celerybeat-schedule
99
+ celerybeat.pid
100
+
101
+ # SageMath parsed files
102
+ *.sage.py
103
+
104
+ # Environments
105
+ .env
106
+ .venv
107
+ env/
108
+ venv/
109
+ ENV/
110
+ env.bak/
111
+ venv.bak/
112
+
113
+ # Spyder project settings
114
+ .spyderproject
115
+ .spyproject
116
+
117
+ # Rope project settings
118
+ .ropeproject
119
+
120
+ # mkdocs documentation
121
+ /site
122
+
123
+ # mypy
124
+ .mypy_cache/
125
+ .dmypy.json
126
+ dmypy.json
127
+
128
+ # Pyre type checker
129
+ .pyre/
130
+ .DS_Store
131
+
132
+ _version.py
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [Unreleased]
6
+ - No unreleased changes so far
7
+
8
+ ## [0.1] - 2025-01-25
9
+ Initial release, let's go and give this to the public to try out...
10
+
11
+ [unreleased]: https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/compare/v0.1...HEAD
12
+
13
+ [0.1]: https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/releases/tag/v0.1
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Till Steinbach
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,18 @@
1
+ BLUE='\033[0;34m'
2
+ NC='\033[0m' # No Color
3
+
4
+ test:
5
+ @pytest
6
+
7
+ lint:
8
+ @echo "\n${BLUE}Running Pylint against source and test files...${NC}\n"
9
+ @pylint ./src
10
+ @echo "\n${BLUE}Running Flake8 against source and test files...${NC}\n"
11
+ @flake8
12
+ @echo "\n${BLUE}Running Bandit against source files...${NC}\n"
13
+ @bandit -c pyproject.toml -r .
14
+
15
+ clean:
16
+ rm -rf .pytest_cache .coverage .pytest_cache coverage.xml coverage_html_report
17
+
18
+ .PHONY: clean test
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.2
2
+ Name: carconnectivity-plugin-homekit
3
+ Version: 0.1
4
+ Summary: CarConnectivity plugin for integrating the cars data into the Apple Home ecosystem
5
+ Author: Till Steinbach
6
+ License: MIT License
7
+
8
+ Copyright (c) 2021 Till Steinbach
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Classifier: Development Status :: 3 - Alpha
29
+ Classifier: License :: OSI Approved :: MIT License
30
+ Classifier: Intended Audience :: End Users/Desktop
31
+ Classifier: Intended Audience :: System Administrators
32
+ Classifier: Programming Language :: Python :: 3.9
33
+ Classifier: Programming Language :: Python :: 3.10
34
+ Classifier: Programming Language :: Python :: 3.11
35
+ Classifier: Programming Language :: Python :: 3.12
36
+ Classifier: Programming Language :: Python :: 3.13
37
+ Classifier: Topic :: Utilities
38
+ Classifier: Topic :: System :: Monitoring
39
+ Classifier: Topic :: Home Automation
40
+ Requires-Python: >=3.9
41
+ Description-Content-Type: text/markdown
42
+ License-File: LICENSE
43
+ Requires-Dist: carconnectivity~=0.1.0
44
+ Requires-Dist: HAP-python[QRCode]~=4.9.1
45
+
46
+
47
+
48
+ # CarConnectivity Plugin for Homekit
49
+ [![GitHub sourcecode](https://img.shields.io/badge/Source-GitHub-green)](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/)
50
+ [![GitHub release (latest by date)](https://img.shields.io/github/v/release/tillsteinbach/CarConnectivity-plugin-homekit)](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/releases/latest)
51
+ [![GitHub](https://img.shields.io/github/license/tillsteinbach/CarConnectivity-plugin-homekit)](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/blob/master/LICENSE)
52
+ [![GitHub issues](https://img.shields.io/github/issues/tillsteinbach/CarConnectivity-plugin-homekit)](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/issues)
53
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/carconnectivity-plugin-homekit?label=PyPI%20Downloads)](https://pypi.org/project/carconnectivity-plugin-homekit/)
54
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/carconnectivity-plugin-homekit)](https://pypi.org/project/carconnectivity-plugin-homekit/)
55
+ [![Donate at PayPal](https://img.shields.io/badge/Donate-PayPal-2997d8)](https://www.paypal.com/donate?hosted_button_id=2BVFF5GJ9SXAJ)
56
+ [![Sponsor at Github](https://img.shields.io/badge/Sponsor-GitHub-28a745)](https://github.com/sponsors/tillsteinbach)
57
+
58
+ [CarConnectivity](https://github.com/tillsteinbach/CarConnectivity) is a python API to connect to various car services. If you want to automatically integrate the data collected from your vehicle into Apple Home this plugin will help you.
59
+
60
+ <img src="https://raw.githubusercontent.com/tillsteinbach/CarConnectivity-plugin-homekit/main/screenshots/homekit.jpg" width="200"><img src="https://raw.githubusercontent.com/tillsteinbach/CarConnectivity-plugin-homekit/main/screenshots/homekit2.jpg" width="200"><img src="https://raw.githubusercontent.com/tillsteinbach/CarConnectivity-plugin-homekit/main/screenshots/homekit3.jpg" width="200"><img src="https://raw.githubusercontent.com/tillsteinbach/CarConnectivity-plugin-homekit/main/screenshots/homekit4.jpg" width="200">
61
+
62
+ ### Install using PIP
63
+ If you want to use the CarConnectivity Plugin for Homekit, the easiest way is to obtain it from [PyPI](https://pypi.org/project/carconnectivity-plugin-homekit/). Just install it using:
64
+ ```bash
65
+ pip3 install carconnectivity-plugin-homekit
66
+ ```
67
+ after you installed CarConnectivity
68
+
69
+ ## Configuration
70
+ In your carconnectivity.json configuration add a section for the homekit plugin like this. A documentation of all possible config options can be found [here](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/tree/main/doc/Config.md).
71
+ ```
72
+ {
73
+ "carConnectivity": {
74
+ "connectors": [
75
+ ...
76
+ ]
77
+ "plugins": [
78
+ {
79
+ "type": "homekit",
80
+ "config": {}
81
+ }
82
+ ]
83
+ }
84
+ }
85
+ ```
86
+
87
+ ## Adding to ios
88
+ After CarConnectivity is started the first time with the Homekit plugin enabled it will display a QR-Code and the pin-code in the console. Use the QR code or the pin to add the bridge to the Home app. Afterwards all accessories your car offers are added to the Home app.
89
+
90
+ ## A note to Docker users
91
+ CarConnectivity with Homekit will need Host or Macvlan Mode for the container. This is necessary as the bridge mode will not forward multicast which is necessary for Homekit to work. Host mode is not working on macOS. The reson is that the network is still virtualized.
92
+ If you do not like to share the host network with CarConnectivity you can use macvlan mode. In macvlan mode CarConnectivity will appear as a seperate computer in the network.
93
+
94
+ ## Updates
95
+ If you want to update, the easiest way is:
96
+ ```bash
97
+ pip3 install carconnectivity-plugin-homekit --upgrade
98
+ ```
@@ -0,0 +1,53 @@
1
+
2
+
3
+ # CarConnectivity Plugin for Homekit
4
+ [![GitHub sourcecode](https://img.shields.io/badge/Source-GitHub-green)](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/)
5
+ [![GitHub release (latest by date)](https://img.shields.io/github/v/release/tillsteinbach/CarConnectivity-plugin-homekit)](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/releases/latest)
6
+ [![GitHub](https://img.shields.io/github/license/tillsteinbach/CarConnectivity-plugin-homekit)](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/blob/master/LICENSE)
7
+ [![GitHub issues](https://img.shields.io/github/issues/tillsteinbach/CarConnectivity-plugin-homekit)](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/issues)
8
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/carconnectivity-plugin-homekit?label=PyPI%20Downloads)](https://pypi.org/project/carconnectivity-plugin-homekit/)
9
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/carconnectivity-plugin-homekit)](https://pypi.org/project/carconnectivity-plugin-homekit/)
10
+ [![Donate at PayPal](https://img.shields.io/badge/Donate-PayPal-2997d8)](https://www.paypal.com/donate?hosted_button_id=2BVFF5GJ9SXAJ)
11
+ [![Sponsor at Github](https://img.shields.io/badge/Sponsor-GitHub-28a745)](https://github.com/sponsors/tillsteinbach)
12
+
13
+ [CarConnectivity](https://github.com/tillsteinbach/CarConnectivity) is a python API to connect to various car services. If you want to automatically integrate the data collected from your vehicle into Apple Home this plugin will help you.
14
+
15
+ <img src="https://raw.githubusercontent.com/tillsteinbach/CarConnectivity-plugin-homekit/main/screenshots/homekit.jpg" width="200"><img src="https://raw.githubusercontent.com/tillsteinbach/CarConnectivity-plugin-homekit/main/screenshots/homekit2.jpg" width="200"><img src="https://raw.githubusercontent.com/tillsteinbach/CarConnectivity-plugin-homekit/main/screenshots/homekit3.jpg" width="200"><img src="https://raw.githubusercontent.com/tillsteinbach/CarConnectivity-plugin-homekit/main/screenshots/homekit4.jpg" width="200">
16
+
17
+ ### Install using PIP
18
+ If you want to use the CarConnectivity Plugin for Homekit, the easiest way is to obtain it from [PyPI](https://pypi.org/project/carconnectivity-plugin-homekit/). Just install it using:
19
+ ```bash
20
+ pip3 install carconnectivity-plugin-homekit
21
+ ```
22
+ after you installed CarConnectivity
23
+
24
+ ## Configuration
25
+ In your carconnectivity.json configuration add a section for the homekit plugin like this. A documentation of all possible config options can be found [here](https://github.com/tillsteinbach/CarConnectivity-plugin-homekit/tree/main/doc/Config.md).
26
+ ```
27
+ {
28
+ "carConnectivity": {
29
+ "connectors": [
30
+ ...
31
+ ]
32
+ "plugins": [
33
+ {
34
+ "type": "homekit",
35
+ "config": {}
36
+ }
37
+ ]
38
+ }
39
+ }
40
+ ```
41
+
42
+ ## Adding to ios
43
+ After CarConnectivity is started the first time with the Homekit plugin enabled it will display a QR-Code and the pin-code in the console. Use the QR code or the pin to add the bridge to the Home app. Afterwards all accessories your car offers are added to the Home app.
44
+
45
+ ## A note to Docker users
46
+ CarConnectivity with Homekit will need Host or Macvlan Mode for the container. This is necessary as the bridge mode will not forward multicast which is necessary for Homekit to work. Host mode is not working on macOS. The reson is that the network is still virtualized.
47
+ If you do not like to share the host network with CarConnectivity you can use macvlan mode. In macvlan mode CarConnectivity will appear as a seperate computer in the network.
48
+
49
+ ## Updates
50
+ If you want to update, the easiest way is:
51
+ ```bash
52
+ pip3 install carconnectivity-plugin-homekit --upgrade
53
+ ```
@@ -0,0 +1,70 @@
1
+
2
+
3
+ # CarConnectivity Plugin for Homekit Config Options
4
+ The configuration for CarConnectivity is a .json file.
5
+ ## General format
6
+ The general format is a `carConnectivity` section, followed by a list of connectors and plugins.
7
+ In the `carConnectivity` section you can set the global `log_level`.
8
+ Each connector or plugin needs a `type` attribute and a `config` section.
9
+ The `type` and config options specific to your connector or plugin can be found on their respective project page.
10
+ ```json
11
+ {
12
+ "carConnectivity": {
13
+ "log_level": "error", // set the global log level, you can set individual log levels in the connectors and plugins
14
+ "connectors": [
15
+ {
16
+ "type": "skoda", // Definition for a MySkoda account
17
+ "config": {
18
+ "interval": 600, // Interval in which the server is checked in seconds
19
+ "username": "test@test.de", // Username of your MySkoda Account
20
+ "password": "testpassword123" // Password of your MySkoda Account
21
+ }
22
+ },
23
+ {
24
+ "type": "volkswagen", // Definition for a Volkswagen account
25
+ "config": {
26
+ "interval": 300, // Interval in which the server is checked in seconds
27
+ "username": "test@test.de", // Username of your Volkswagen Account
28
+ "password": "testpassword123" // Username of your Volkswagen Account
29
+ }
30
+ }
31
+ ],
32
+ "plugins": [
33
+ {
34
+ "type": "homekit", //Minimal definition for Homekit
35
+ "config": {}
36
+ }
37
+ ]
38
+ }
39
+ }
40
+ ```
41
+ ### Homekit Plugin Options
42
+ These are the valid options for the Homekit plugin
43
+ ```json
44
+ {
45
+ "carConnectivity": {
46
+ "connectors": [],
47
+ "plugins": [
48
+ {
49
+ "type": "homekit", // Definition for the Homekit plugin
50
+ "disabled": false, // You can disable plugins without removing them from the config completely
51
+ "config": {
52
+ "log_level": "error", // The log level for the plugin. Otherwise uses the global log level
53
+ "address": "0.0.0.0", // IP interface address the homekit service should listen on
54
+ "port": 51234, // Port the homekit service should listen on
55
+ "pincode": "123-45-678", // Pincode for the accessory, if left out random pin will be displayed on console
56
+ "accessory_state_file": "~/.carconnectivity/homekit-accessory.state", // File for homekit to store pairing and other information
57
+ "accessory_config_file": "~/.carconnectivity/homekit-accessory.config", // File for homekit to store current configuration of services
58
+ "ignore_vins":["WZWXYZ3CZME181225", "TTGHT9NY8SF025348"], //Do not create Homekit Accessories for these VINs
59
+ "ignore_accessory_types": ["Climatization", "Charging"], //Do not create Homekti Accessories of tese types
60
+ }
61
+ }
62
+ ]
63
+ }
64
+ }
65
+ ```
66
+
67
+ ### Connector Options
68
+ Valid Options for connectors can be found here:
69
+ * [CarConnectivity-connector-skoda Config Options](https://github.com/tillsteinbach/CarConnectivity-connector-skoda/tree/main/doc/Config.md)
70
+ * [CarConnectivity-connector-volkswagen Config Options](https://github.com/tillsteinbach/CarConnectivity-connector-volkswagen/tree/main/doc/Config.md)