Skip to content

chargepoint: identification with wildcards#2654

Merged
benderl merged 1 commit intoopenWB:masterfrom
ndrsnhs:chargepoint-identification-with-wildcards
Aug 28, 2025
Merged

chargepoint: identification with wildcards#2654
benderl merged 1 commit intoopenWB:masterfrom
ndrsnhs:chargepoint-identification-with-wildcards

Conversation

@ndrsnhs
Copy link
Contributor

@ndrsnhs ndrsnhs commented Aug 12, 2025

@benderl
Copy link
Contributor

benderl commented Aug 12, 2025

Analog zu #2630 sollte der alte Code beibehalten werden, um eine exakte Übereinstimmung zu bevorzugen. Erst im zweiten Schritt soll auf passende Muster geprüft werden.

Da die beiden Stellen nahezu identisch sind, sollte man über eine globale Methode nachdenken, die ein Tag mit einer Liste von Tags oder Mustern abgleicht.

@ndrsnhs
Copy link
Contributor Author

ndrsnhs commented Aug 18, 2025

Analog zu #2630 sollte der alte Code beibehalten werden, um eine exakte Übereinstimmung zu bevorzugen. Erst im zweiten Schritt soll auf passende Muster geprüft werden.

Das ist für mich so erstmal nicht nachvollziehbar. In #2630 geht es um die Zuordnung eine konkreten Fahrzeugs. Ein Fahrzeug mit exakter Übereinstimmung bevorzugt zu behandeln ergibt absolut Sinn (um zB bei konkurrierender Zuordnung immer gleiches Verhalten zu haben).

Im vorliegenden Fall geht es aber rein um die Entsperrung des Ladepunktes. Exakte Matches und Mustererkennung werden nicht unterschieden. Wird eine Übereinstimmung gefunden (egal welcher Art), wird der Ladepunkt entsperrt.

Eine vorherige Prüfung auf exakte Matches bietet rein funktional keinen Mehrwert. Wird Sie zuerst durchgeführt wird der Ladepunkt entsprechend entsperrt oder eben nicht.
Danach wird nochmal (je nach Art der gespeicherten tag_id) auf Muster/ exakte Treffer geprüft und falls übereinstimmend ebenfalls entsperrt...

@benderl
Copy link
Contributor

benderl commented Aug 19, 2025

Ok, kann hier Sinn machen, wenn mehrere Ladepunkte entsperrt werden sollen. Trotzdem fände ich ein einheitliches Verhalten besser nachvollziehbar. Ist aber nur meine Meinung dazu.

Was mir gerade aber noch aufgefallen ist: Du hast aus dem elif (Z. 159) ein if (Z. 167) gemacht. Dadurch ändert sich die Logik! Der Code wurde vorher nur ausgeführt, wenn kein Treffer gefunden wurde. Jetzt fällt das Kriterium weg und die Prüfung auf disable_after_unplug und plug_state wird immer ausgeführt. Ist das beabsichtigt?

@ndrsnhs
Copy link
Contributor Author

ndrsnhs commented Aug 19, 2025

Ist Absicht, mag aber sein, dass ich hier einen Denkfehler habe. In Z.153 steht folgender Kommentar:

# Die Pro schickt je nach Timing auch nach Abstecken noch ein paar Zyklen den Tag. Dann darf der Ladepunkt
# nicht wieder entsperrt werden.

In der darauffolgenden Zeile wird als Kriterium zur Entsperrung jedoch nur auf Erkennung eines Tags/ID geprüft. Das Verhalten widerspricht damit der Beschreibung. (Ladepunkt entsperrt solange Tag gesendet wird)
Die Prüfung ob ein Ladepunkt gesperrt wird (Prüfung disable_after_unplug und plug_state) erfolgt also nur/erst sobald kein Tag mehr erkannt wird.
Das dennoch nicht versucht wird zu laden liegt daran, dass in der Funktion is_charging_possible in Z. 187 nochmal zusätzlich geprüft wird ob überhaupt ein Fahrzeug angeschlossen ist.

Die vorliegende Implementierung prüft jedesmal ob der Ladepunkt zu sperren ist(disable_after_unplug und plug_state), sperrt den Ladepunkt also direkt nach Abstecken.

@benderl benderl added this to the 2.1.8 milestone Aug 25, 2025
@benderl benderl merged commit af0b2c8 into openWB:master Aug 28, 2025
1 check passed
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.

3 participants