Skip to content

fix: Retry-Wartezeit beim EVSE-Auslesen greift nur beim ersten Fehlversuch - #3845

Merged
LKuemmel merged 1 commit into
openWB:masterfrom
seaspotter:evse_retry
Aug 26, 2026
Merged

LKuemmel merged 1 commit into
openWB:masterfrom
seaspotter:evse_retry

Conversation

@seaspotter

Copy link
Copy Markdown
Collaborator

In request_and_check_hardware() (packages/modules/common/hardware_check.py) soll zwischen den Retry-Versuchen beim EVSE-Auslesen jeweils RETRY_DELAY_SECONDS gewartet werden, bevor der nächste Versuch gestartet wird. Die aktuelle Bedingung dafür ist:

if attempt < MAX_ATTEMPTS - 2 and evse_check_passed is False:
    time.sleep(RETRY_DELAY_SECONDS)

Bei MAX_ATTEMPTS = 3 ergibt MAX_ATTEMPTS - 2 = 1, die Bedingung attempt < 1 ist also nur beim allerersten Fehlschlag (attempt == 0) erfüllt. Zwischen Versuch 2 und 3 wird dadurch sofort erneut probiert, ohne Wartezeit. Der gesamte Retry-Zyklus dauert dadurch effektiv nur eine statt zwei Wartezeiten (~0,3 s statt ~0,6 s) und gibt der Hardware entsprechend weniger Zeit, sich von einem kurzen Bus-Aussetzer zu erholen, bevor EVSE_BROKEN geworfen wird.

Fix

if attempt < MAX_ATTEMPTS - 1 and evse_check_passed is False:
    time.sleep(RETRY_DELAY_SECONDS)

Damit wird nach jedem Fehlversuch außer dem letzten gewartet (bei 3 Versuchen: 2 Wartezeiten), statt nur einmal.

@LKuemmel
LKuemmel merged commit 8ed80c2 into openWB:master Aug 26, 2026
1 check passed
@seaspotter
seaspotter deleted the evse_retry branch August 26, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants