carconnectivity-connector-skoda 0.2a5__tar.gz → 0.4__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.
Potentially problematic release.
This version of carconnectivity-connector-skoda might be problematic. Click here for more details.
- carconnectivity_connector_skoda-0.4/CHANGELOG.md +40 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/PKG-INFO +2 -2
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/pyproject.toml +1 -1
- carconnectivity_connector_skoda-0.4/setup_requirements.txt +6 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connector_skoda.egg-info/PKG-INFO +2 -2
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connector_skoda.egg-info/SOURCES.txt +1 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connector_skoda.egg-info/requires.txt +1 -1
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/_version.py +9 -4
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/auth/skoda_web_session.py +2 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/climatization.py +8 -6
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/command_impl.py +4 -2
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/connector.py +388 -151
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/mqtt_client.py +14 -3
- carconnectivity_connector_skoda-0.4/src/carconnectivity_connectors/skoda/ui/connector_ui.py +39 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/vehicle.py +6 -0
- carconnectivity_connector_skoda-0.2a5/CHANGELOG.md +0 -18
- carconnectivity_connector_skoda-0.2a5/setup_requirements.txt +0 -3
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/.flake8 +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/.github/dependabot.yml +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/.github/workflows/build.yml +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/.github/workflows/build_and_publish.yml +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/.github/workflows/codeql-analysis.yml +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/.gitignore +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/LICENSE +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/Makefile +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/README.md +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/doc/Config.md +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/setup.cfg +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connector_skoda.egg-info/dependency_links.txt +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connector_skoda.egg-info/top_level.txt +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/__init__.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/auth/__init__.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/auth/auth_util.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/auth/helpers/blacklist_retry.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/auth/my_skoda_session.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/auth/openid_session.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/auth/session_manager.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/capability.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/charging.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/src/carconnectivity_connectors/skoda/error.py +0 -0
- {carconnectivity_connector_skoda-0.2a5 → carconnectivity_connector_skoda-0.4}/test/integration_test/carConnectivity.json +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
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.4] - 2025-03-02
|
|
9
|
+
### Added
|
|
10
|
+
- Added better feedback when consent is needed
|
|
11
|
+
- added better access to connection state
|
|
12
|
+
- added better access to health state
|
|
13
|
+
- added attribute for vehicle in_motion
|
|
14
|
+
- added possibility to online change interval
|
|
15
|
+
- added named threads for better debugging
|
|
16
|
+
- added vehcile connection state
|
|
17
|
+
- added global vehicle state
|
|
18
|
+
- added maintainance objects
|
|
19
|
+
- added checks for min/max values with climatization temperatures
|
|
20
|
+
- improved error handling with commands
|
|
21
|
+
|
|
22
|
+
## [0.3] - 2025-02-19
|
|
23
|
+
### Added
|
|
24
|
+
- Added support for images
|
|
25
|
+
- Added tags to attributes
|
|
26
|
+
- Added support for webui via carconnectivity-plugin-webui
|
|
27
|
+
|
|
28
|
+
## [0.2] - 2025-02-02
|
|
29
|
+
### Added
|
|
30
|
+
- Wake Sleep command
|
|
31
|
+
|
|
32
|
+
## [0.1] - 2025-01-25
|
|
33
|
+
Initial release, let's go and give this to the public to try out...
|
|
34
|
+
The API is not yet implemented completely but most functions already work
|
|
35
|
+
|
|
36
|
+
[unreleased]: https://github.com/tillsteinbach/CarConnectivity-connector-skoda/compare/v0.4...HEAD
|
|
37
|
+
[0.4]: https://github.com/tillsteinbach/CarConnectivity-connector-skoda/releases/tag/v0.4
|
|
38
|
+
[0.3]: https://github.com/tillsteinbach/CarConnectivity-connector-skoda/releases/tag/v0.3
|
|
39
|
+
[0.2]: https://github.com/tillsteinbach/CarConnectivity-connector-skoda/releases/tag/v0.2
|
|
40
|
+
[0.1]: https://github.com/tillsteinbach/CarConnectivity-connector-skoda/releases/tag/v0.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: carconnectivity-connector-skoda
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4
|
|
4
4
|
Summary: CarConnectivity connector for Skoda services
|
|
5
5
|
Author: Till Steinbach
|
|
6
6
|
License: MIT License
|
|
@@ -37,7 +37,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
37
37
|
Requires-Python: >=3.8
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
39
39
|
License-File: LICENSE
|
|
40
|
-
Requires-Dist: carconnectivity>=0.
|
|
40
|
+
Requires-Dist: carconnectivity>=0.4
|
|
41
41
|
Requires-Dist: oauthlib~=3.2.2
|
|
42
42
|
Requires-Dist: requests~=2.32.3
|
|
43
43
|
Requires-Dist: jwt~=1.3.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: carconnectivity-connector-skoda
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4
|
|
4
4
|
Summary: CarConnectivity connector for Skoda services
|
|
5
5
|
Author: Till Steinbach
|
|
6
6
|
License: MIT License
|
|
@@ -37,7 +37,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
37
37
|
Requires-Python: >=3.8
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
39
39
|
License-File: LICENSE
|
|
40
|
-
Requires-Dist: carconnectivity>=0.
|
|
40
|
+
Requires-Dist: carconnectivity>=0.4
|
|
41
41
|
Requires-Dist: oauthlib~=3.2.2
|
|
42
42
|
Requires-Dist: requests~=2.32.3
|
|
43
43
|
Requires-Dist: jwt~=1.3.1
|
|
@@ -35,4 +35,5 @@ src/carconnectivity_connectors/skoda/auth/openid_session.py
|
|
|
35
35
|
src/carconnectivity_connectors/skoda/auth/session_manager.py
|
|
36
36
|
src/carconnectivity_connectors/skoda/auth/skoda_web_session.py
|
|
37
37
|
src/carconnectivity_connectors/skoda/auth/helpers/blacklist_retry.py
|
|
38
|
+
src/carconnectivity_connectors/skoda/ui/connector_ui.py
|
|
38
39
|
test/integration_test/carConnectivity.json
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# file generated by
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
3
6
|
TYPE_CHECKING = False
|
|
4
7
|
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
12
|
else:
|
|
8
13
|
VERSION_TUPLE = object
|
|
@@ -12,5 +17,5 @@ __version__: str
|
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
|
13
18
|
version_tuple: VERSION_TUPLE
|
|
14
19
|
|
|
15
|
-
__version__ = version = '0.
|
|
16
|
-
__version_tuple__ = version_tuple = (0,
|
|
20
|
+
__version__ = version = '0.4'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 4)
|
|
@@ -121,6 +121,8 @@ class SkodaWebSession(OpenIDSession):
|
|
|
121
121
|
raise RetrievalError('Temporary server error during login')
|
|
122
122
|
|
|
123
123
|
if 'Location' not in response.headers:
|
|
124
|
+
if 'consent' in url:
|
|
125
|
+
raise AuthenticationError('Could not find Location in headers, probably due to missing consent. Try visiting: ' + url)
|
|
124
126
|
raise APICompatibilityError('Forwarding without Location in headers')
|
|
125
127
|
|
|
126
128
|
url = response.headers['Location']
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Module for
|
|
2
|
+
Module for climatization for skoda vehicles.
|
|
3
3
|
"""
|
|
4
4
|
from __future__ import annotations
|
|
5
5
|
from typing import TYPE_CHECKING
|
|
6
6
|
|
|
7
7
|
from carconnectivity.climatization import Climatization
|
|
8
8
|
from carconnectivity.objects import GenericObject
|
|
9
|
-
from carconnectivity.vehicle import
|
|
9
|
+
from carconnectivity.vehicle import GenericVehicle
|
|
10
10
|
|
|
11
11
|
from carconnectivity_connectors.skoda.error import Error
|
|
12
12
|
|
|
@@ -21,13 +21,15 @@ class SkodaClimatization(Climatization): # pylint: disable=too-many-instance-at
|
|
|
21
21
|
This class extends the Climatization class and includes an enumeration of various
|
|
22
22
|
charging states specific to Skoda vehicles.
|
|
23
23
|
"""
|
|
24
|
-
def __init__(self, vehicle:
|
|
24
|
+
def __init__(self, vehicle: GenericVehicle | None = None, origin: Optional[Climatization] = None) -> None:
|
|
25
25
|
if origin is not None:
|
|
26
26
|
super().__init__(origin=origin)
|
|
27
|
-
self.settings
|
|
27
|
+
if not isinstance(self.settings, SkodaClimatization.Settings):
|
|
28
|
+
self.settings: Climatization.Settings = SkodaClimatization.Settings(parent=self, origin=origin.settings)
|
|
29
|
+
self.settings.parent = self
|
|
28
30
|
else:
|
|
29
31
|
super().__init__(vehicle=vehicle)
|
|
30
|
-
self.settings: Climatization.Settings = SkodaClimatization.Settings(
|
|
32
|
+
self.settings: Climatization.Settings = SkodaClimatization.Settings(parent=self)
|
|
31
33
|
self.errors: Dict[str, Error] = {}
|
|
32
34
|
|
|
33
35
|
class Settings(Climatization.Settings):
|
|
@@ -36,6 +38,6 @@ class SkodaClimatization(Climatization): # pylint: disable=too-many-instance-at
|
|
|
36
38
|
"""
|
|
37
39
|
def __init__(self, parent: Optional[GenericObject] = None, origin: Optional[Climatization.Settings] = None) -> None:
|
|
38
40
|
if origin is not None:
|
|
39
|
-
super().__init__(origin=origin)
|
|
41
|
+
super().__init__(parent=parent, origin=origin)
|
|
40
42
|
else:
|
|
41
43
|
super().__init__(parent=parent)
|
|
@@ -31,6 +31,8 @@ class SpinCommand(GenericCommand):
|
|
|
31
31
|
|
|
32
32
|
@value.setter
|
|
33
33
|
def value(self, new_value: Optional[Union[str, Dict]]) -> None:
|
|
34
|
+
# Execute early hooks before parsing the value
|
|
35
|
+
new_value = self._execute_on_set_hook(new_value, early_hook=True)
|
|
34
36
|
if isinstance(new_value, str):
|
|
35
37
|
parser = ThrowingArgumentParser(prog='', add_help=False, exit_on_error=False)
|
|
36
38
|
parser.add_argument('command', help='Command to execute', type=SpinCommand.Command,
|
|
@@ -55,8 +57,8 @@ class SpinCommand(GenericCommand):
|
|
|
55
57
|
raise ValueError('Invalid value for SpinCommand. '
|
|
56
58
|
f'Command must be one of {SpinCommand.Command}')
|
|
57
59
|
if self._is_changeable:
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
# Execute late hooks before setting the value
|
|
61
|
+
new_value = self._execute_on_set_hook(new_value, early_hook=False)
|
|
60
62
|
self._set_value(new_value)
|
|
61
63
|
else:
|
|
62
64
|
raise TypeError('You cannot set this attribute. Attribute is not mutable.')
|