From 376e4e4d9d3e834981f15913d6ce6e61858f38c6 Mon Sep 17 00:00:00 2001 From: LKuemmel Date: Tue, 2 Sep 2025 13:46:55 +0200 Subject: [PATCH] improve log message --- packages/helpermodules/utils/error_handling.py | 12 +++++++++++- packages/modules/common/hardware_check.py | 3 +-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/helpermodules/utils/error_handling.py b/packages/helpermodules/utils/error_handling.py index 56e2a29bad..ee2e2810f8 100644 --- a/packages/helpermodules/utils/error_handling.py +++ b/packages/helpermodules/utils/error_handling.py @@ -11,6 +11,14 @@ CP_ERROR = ("Anhaltender Fehler beim Auslesen des Ladepunkts. Soll-Stromstärke, Lade- und Stecker-Status wird " "zurückgesetzt.") +INTERNAL_ERROR_HINT = ("Liebe Kunden, das Log ist zur Auswertung durch Support-Mitarbeiter der openWB GmbH gedacht. " + "Meldungen, die hier erscheinen können wie Fehlermeldungen aussehen, sind aber oft ganz normal. " + "Beispielsweise führen wir Abfragen der internen Hardware mehrere tausend mal pro Stunde aus " + "(wir gehen bis ans Limit der seriellen Kommunikation um eine möglichst feine Auflösung zu " + "erreichen), eine Abfrage-Fehlerquote von 1-2% ist dabei normal. Wirklich relevante " + "Fehlermeldungen erscheinen in der grafischen Nutzeroberfläche an prominenter Stelle. Bitte " + "belastet unseren Support nicht mit Fragen nach euch unbekannten Log-Meldungen.") + class ErrorTimerContext: def __init__(self, topic: str, exceeded_msg: str, timeout: int = 60, hide_exception: bool = False): @@ -28,12 +36,14 @@ def __exit__(self, exception_type, exception, exception_traceback) -> bool: if self.error_timestamp is None: self.error_timestamp = timecheck.create_timestamp() Pub().pub(self.topic, self.error_timestamp) - log.error(exception) if (self.hide_exception is False or timecheck.check_timestamp(self.error_timestamp, self.timeout + 10) is False): # Fehlermeldung als abgelaufen markieren, bevor die Exception gesetzt wird, mit der Exception werden # keine Werte mehr gepublished. return False + else: + log.error(f"{exception}\n{INTERNAL_ERROR_HINT}") + return True return True def error_counter_exceeded(self) -> bool: diff --git a/packages/modules/common/hardware_check.py b/packages/modules/common/hardware_check.py index b43d9200e6..01abc892da 100644 --- a/packages/modules/common/hardware_check.py +++ b/packages/modules/common/hardware_check.py @@ -20,8 +20,7 @@ METER_NO_SERIAL_NUMBER = ("Die Seriennummer des Zählers für das Ladelog kann nicht ausgelesen werden. Wenn Sie die " "Seriennummer für Abrechnungszwecke benötigen, wenden Sie sich bitte an unseren Support. Die " "Funktionalität wird dadurch nicht beeinträchtigt!") -EVSE_BROKEN = ("Auslesen der EVSE nicht möglich. Vermutlich ist die EVSE defekt oder hat eine unbekannte Modbus-ID. " - "(Fehlermeldung nur relevant, wenn diese auf der Startseite oder im Status angezeigt wird.)") +EVSE_BROKEN = "Auslesen der EVSE nicht möglich. Vermutlich ist die EVSE defekt oder hat eine unbekannte Modbus-ID. " def check_meter_values(counter_state: CounterState, fault_state: Optional[FaultState] = None) -> None: