Bei mir kam am Freitag die Warnung, dass meine Schlüsselbatterie leer sei und getauscht werden müsse. Nicht nur, wie bei dem climatisationOutside-Thema kam eine Fehlermeldung, sondern VWsFriend erfasste ab da überhaupt keine Daten mehr: Keine Trips, keine Ladevorgänge etc.
Lt. Log hat ihm wohl die Farbe weiß zum 'Warning Light' nicht gepasst:
2024-09-07T05:20:45+0000:WARNING:addressable:/vehicles/<FIN>/domains/vehicleHealthWarnings/warningLights/warningLights/0xA21E/iconColor: An unsupported iconColor: White was provided, known values are [Yellow, Red, ICON_NOT_FOUND, unknown color] please report this as a bug
2024-09-07T05:20:46+0000:INFO:warning_light_agent:Warning light 0xA21E in vehicle <FIN> turned on
Traceback (most recent call last):
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
cursor.execute(statement, parameters)
psycopg2.errors.InvalidTextRepresentation: invalid input value for enum category: "OTHER"
LINE 1: ...timestamptz, 18245, NULL, NULL, 'TEXT_NOT_FOUND', 'OTHER', '...
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/venv/bin/vwsfriend", line 8, in <module>
sys.exit(main())
^^^^^^
File "/opt/venv/lib/python3.12/site-packages/vwsfriend/vwsfriend_base.py", line 519, in main
weConnect.update(updateCapabilities=True, updatePictures=True, force=True, selective=[Domain.ACCESS,
File "/opt/venv/lib/python3.12/site-packages/weconnect/weconnect.py", line 197, in update
self.updateComplete()
File "/opt/venv/lib/python3.12/site-packages/weconnect/addressable.py", line 533, in updateComplete
child.updateComplete()
File "/opt/venv/lib/python3.12/site-packages/weconnect/addressable.py", line 533, in updateComplete
child.updateComplete()
File "/opt/venv/lib/python3.12/site-packages/weconnect/addressable.py", line 533, in updateComplete
child.updateComplete()
[Previous line repeated 3 more times]
File "/opt/venv/lib/python3.12/site-packages/weconnect/addressable.py", line 96, in updateComplete
observer(element=self, flags=self.onCompleteNotifyFlags)
File "/opt/venv/lib/python3.12/site-packages/vwsfriend/agents/warning_light_agent.py", line 64, in __onCarCapturedTimestampChange
with self.session.begin_nested():
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 1958, in begin_nested
return self.begin(nested=True)
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 1924, in begin
trans = trans._begin(nested=nested)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 2, in _begin
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
ret_value = fn(self, *arg, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 1045, in _begin
return SessionTransaction(
^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 960, in __init__
self._take_snapshot()
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 1089, in _take_snapshot
self.session.flush()
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 4341, in flush
self._flush(objects)
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 4476, in _flush
with util.safe_reraise():
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 4437, in _flush
flush_context.execute()
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.execute(
^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1418, in execute
return meth(
^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/sql/elements.py", line 515, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1640, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2353, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/opt/venv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input value for enum category: "OTHER"
LINE 1: ...timestamptz, 18245, NULL, NULL, 'TEXT_NOT_FOUND', 'OTHER', '...
^
[SQL: INSERT INTO warning_lights (vehicle_vin, start, start_mileage, "end", end_mileage, text, category, "messageId", priority, "serviceLead", "customerRelevance") VALUES (%(vehicle_vin)s, %(start)s, %(start_mileage)s, %(end)s, %(end_mileage)s, %(text)s, %(category)s, %(messageId)s, %(priority)s, %(serviceLead)s, %(customerRelevance)s) RETURNING warning_lights.id]
[parameters: {'vehicle_vin': '<FIN>', 'start': datetime.datetime(2024, 9, 7, 5, 18, 51, tzinfo=datetime.timezone.utc), 'start_mileage': 18245, 'end': None, 'end_mileage': None, 'text': 'TEXT_NOT_FOUND', 'category': 'OTHER', 'messageId': '0xA21E', 'priority': 114, 'serviceLead': False, 'customerRelevance': None}]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
2024-09-08T06:19:28+0000:INFO:_internal:172.18.0.1 - - [08/Sep/2024 06:19:28] "GET / HTTP/1.1" 302 -
2024-09-08T06:19:28+0000:INFO:_internal:172.18.0.1 - - [08/Sep/2024 06:19:28] "GET /status/vehicles HTTP/1.1" 302 -
...
#Ab hier nur noch access_log-Meldungen meiner Web-Zugriffe, sonst nichts
...
2024-09-09T15:49:05+0000:INFO:_internal:172.18.0.1 - - [09/Sep/2024 15:49:05] "GET /static/style.css HTTP/1.1" 304 -
Alles anzeigen
Ich habe mal das gesamte Log seitdem hier mit angefügt. Man sieht: Es kam absolut nichts an, obwohl ich eine Menge gefahren bin & 2x geladen habe. VWsFriend konnte per Web aber jederzeit aufgerufen werden, nur Daten kamen keine mehr an.
Nach einem Restart aller vier Container via Portainer (vwsfriend_grafana_1, vwsfriend_postgresdb_1, vwsfriend_vwsfriend_1, vwsfriend_watchtower_1) erscheint zumindest wieder der korrekte SOC in der Oberfläche. Gefahren bin ich jetzt noch nicht.
Das Log nach dem Restart sieht aber so aus als würde VWsFriend jetzt wieder Daten abholen & bekommen.