carconnectivity-connector-skoda 0.4a7__tar.gz → 0.4a8__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.4a7 → carconnectivity_connector_skoda-0.4a8}/PKG-INFO +1 -1
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connector_skoda.egg-info/PKG-INFO +1 -1
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/_version.py +1 -1
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/connector.py +20 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/mqtt_client.py +7 -2
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/.flake8 +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/.github/dependabot.yml +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/.github/workflows/build.yml +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/.github/workflows/build_and_publish.yml +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/.github/workflows/codeql-analysis.yml +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/.gitignore +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/CHANGELOG.md +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/LICENSE +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/Makefile +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/README.md +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/doc/Config.md +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/pyproject.toml +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/setup.cfg +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/setup_requirements.txt +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connector_skoda.egg-info/SOURCES.txt +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connector_skoda.egg-info/dependency_links.txt +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connector_skoda.egg-info/requires.txt +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connector_skoda.egg-info/top_level.txt +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/__init__.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/auth/__init__.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/auth/auth_util.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/auth/helpers/blacklist_retry.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/auth/my_skoda_session.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/auth/openid_session.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/auth/session_manager.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/auth/skoda_web_session.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/capability.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/charging.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/climatization.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/command_impl.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/error.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/ui/connector_ui.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/src/carconnectivity_connectors/skoda/vehicle.py +0 -0
- {carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/test/integration_test/carConnectivity.json +0 -0
|
@@ -83,6 +83,8 @@ class Connector(BaseConnector):
|
|
|
83
83
|
|
|
84
84
|
self.connection_state: EnumAttribute = EnumAttribute(name="connection_state", parent=self, value_type=ConnectionState,
|
|
85
85
|
value=ConnectionState.DISCONNECTED, tags={'connector_custom'})
|
|
86
|
+
self.rest_connected: bool = False
|
|
87
|
+
self.mqtt_connected: bool = False
|
|
86
88
|
self.interval: DurationAttribute = DurationAttribute(name="interval", parent=self, tags={'connector_custom'})
|
|
87
89
|
self.interval.minimum = timedelta(seconds=180)
|
|
88
90
|
self.interval._is_changeable = True # pylint: disable=protected-access
|
|
@@ -201,25 +203,43 @@ class Connector(BaseConnector):
|
|
|
201
203
|
raise
|
|
202
204
|
except TooManyRequestsError as err:
|
|
203
205
|
LOG.error('Retrieval error during update. Too many requests from your account (%s). Will try again after 15 minutes', str(err))
|
|
206
|
+
self.connection_state._set_value(value=ConnectionState.ERROR) # pylint: disable=protected-access
|
|
207
|
+
self.rest_connected = False
|
|
204
208
|
self._stop_event.wait(900)
|
|
205
209
|
except RetrievalError as err:
|
|
206
210
|
LOG.error('Retrieval error during update (%s). Will try again after configured interval of %ss', str(err), interval)
|
|
211
|
+
self.connection_state._set_value(value=ConnectionState.ERROR) # pylint: disable=protected-access
|
|
212
|
+
self.rest_connected = False
|
|
207
213
|
self._stop_event.wait(interval)
|
|
208
214
|
except APIError as err:
|
|
209
215
|
LOG.error('API error during update (%s). Will try again after configured interval of %ss', str(err), interval)
|
|
216
|
+
self.connection_state._set_value(value=ConnectionState.ERROR) # pylint: disable=protected-access
|
|
217
|
+
self.rest_connected = False
|
|
210
218
|
self._stop_event.wait(interval)
|
|
211
219
|
except APICompatibilityError as err:
|
|
212
220
|
LOG.error('API compatability error during update (%s). Will try again after configured interval of %ss', str(err), interval)
|
|
221
|
+
self.connection_state._set_value(value=ConnectionState.ERROR) # pylint: disable=protected-access
|
|
222
|
+
self.rest_connected = False
|
|
213
223
|
self._stop_event.wait(interval)
|
|
214
224
|
except TemporaryAuthenticationError as err:
|
|
215
225
|
LOG.error('Temporary authentification error during update (%s). Will try again after configured interval of %ss', str(err), interval)
|
|
226
|
+
self.connection_state._set_value(value=ConnectionState.ERROR) # pylint: disable=protected-access
|
|
227
|
+
self.rest_connected = False
|
|
216
228
|
self._stop_event.wait(interval)
|
|
217
229
|
except Exception as err:
|
|
218
230
|
LOG.critical('Critical error during update: %s', traceback.format_exc())
|
|
231
|
+
self.connection_state._set_value(value=ConnectionState.ERROR) # pylint: disable=protected-access
|
|
232
|
+
self.rest_connected = False
|
|
219
233
|
self.healthy._set_value(value=False) # pylint: disable=protected-access
|
|
220
234
|
raise err
|
|
221
235
|
else:
|
|
236
|
+
self.rest_connected = True
|
|
237
|
+
if self.mqtt_connected:
|
|
238
|
+
self.connection_state._set_value(value=ConnectionState.CONNECTED) # pylint: disable=protected-access
|
|
222
239
|
self._stop_event.wait(interval)
|
|
240
|
+
# When leaving the loop, set the connection state to disconnected
|
|
241
|
+
self.connection_state._set_value(value=ConnectionState.DISCONNECTED) # pylint: disable=protected-access
|
|
242
|
+
self.rest_connected = False
|
|
223
243
|
|
|
224
244
|
def persist(self) -> None:
|
|
225
245
|
"""
|
|
@@ -22,6 +22,7 @@ from carconnectivity.util import robust_time_parse, log_extra_keys
|
|
|
22
22
|
from carconnectivity.charging import Charging
|
|
23
23
|
from carconnectivity.climatization import Climatization
|
|
24
24
|
from carconnectivity.units import Speed, Power, Length
|
|
25
|
+
from carconnectivity.enums import ConnectionState
|
|
25
26
|
|
|
26
27
|
from carconnectivity_connectors.skoda.vehicle import SkodaVehicle, SkodaElectricVehicle
|
|
27
28
|
from carconnectivity_connectors.skoda.charging import SkodaCharging, mapping_skoda_charging_state
|
|
@@ -77,6 +78,7 @@ class SkodaMQTTClient(Client): # pylint: disable=too-many-instance-attributes
|
|
|
77
78
|
Returns:
|
|
78
79
|
MQTTErrorCode: The result of the connection attempt.
|
|
79
80
|
"""
|
|
81
|
+
self._skoda_connector.connection_state._set_value(value=ConnectionState.CONNECTING) # pylint: disable=protected-access
|
|
80
82
|
return super().connect(*args, host='mqtt.messagehub.de', port=8883, keepalive=60, **kwargs)
|
|
81
83
|
|
|
82
84
|
def _on_pre_connect_callback(self, client: Client, userdata: Any) -> None:
|
|
@@ -312,7 +314,9 @@ class SkodaMQTTClient(Client): # pylint: disable=too-many-instance-attributes
|
|
|
312
314
|
# reason_code 0 means success
|
|
313
315
|
if reason_code == 0:
|
|
314
316
|
LOG.info('Connected to Skoda MQTT server')
|
|
315
|
-
self._skoda_connector.
|
|
317
|
+
if self._skoda_connector.rest_connected:
|
|
318
|
+
self._skoda_connector.connection_state._set_value(value=ConnectionState.CONNECTED) # pylint: disable=protected-access
|
|
319
|
+
self._skoda_connector.mqtt_connected = True
|
|
316
320
|
observer_flags: Observable.ObserverEvent = Observable.ObserverEvent.ENABLED | Observable.ObserverEvent.DISABLED
|
|
317
321
|
self._skoda_connector.car_connectivity.garage.add_observer(observer=self._on_carconnectivity_vehicle_enabled,
|
|
318
322
|
flag=observer_flags,
|
|
@@ -385,7 +389,8 @@ class SkodaMQTTClient(Client): # pylint: disable=too-many-instance-attributes
|
|
|
385
389
|
del properties
|
|
386
390
|
del flags
|
|
387
391
|
|
|
388
|
-
self._skoda_connector.
|
|
392
|
+
self._skoda_connector.connection_state._set_value(value=ConnectionState.DISCONNECTED) # pylint: disable=protected-access
|
|
393
|
+
self._skoda_connector.mqtt_connected = False
|
|
389
394
|
self._skoda_connector.car_connectivity.garage.remove_observer(observer=self._on_carconnectivity_vehicle_enabled)
|
|
390
395
|
|
|
391
396
|
self.subscribed_topics.clear()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/CHANGELOG.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/doc/Config.md
RENAMED
|
File without changes
|
{carconnectivity_connector_skoda-0.4a7 → carconnectivity_connector_skoda-0.4a8}/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|