Skip to content

force_soc_update: keinen Retry-Loop bei dauerhaft veraltetem EV-SoC - #4036

Merged
LKuemmel merged 2 commits into
openWB:masterfrom
seaspotter:fix-soc-force-update-loop
Oct 15, 2026
Merged

LKuemmel merged 2 commits into
openWB:masterfrom
seaspotter:fix-soc-force-update-loop

Conversation

@seaspotter

Copy link
Copy Markdown
Collaborator
  • cp.soc_timestamp > ev.soc_timestamp löste force_soc_update bisher jeden Zyklus neu aus, nicht nur beim Wechsel wie die beiden anderen Bedingungen daneben. Bleibt der EV-seitige SoC dauerhaft veraltet (zB API-Fehler, Tageslimit erschöpft), entsteht daraus ein Retry-Loop, der das konfigurierte Intervall umgeht und selbst das Limit weiter befeuert.
  • Tracking erfolgt jetzt pro (CP-SoC-Timestamp, EV), damit ein EV-Wechsel am selben Ladepunkt weiterhin die eine legitime Aktualisierung auslöst, auch wenn der CP-Timestamp dabei unverändert bleibt.
  • Zusätzlich: soc/soc_timestamp wurden beim Publish nie auf None geprüft, anders als imported/exported/plug_state/rfid/phases_in_use in derselben Methode. Ohne frische HLC-Werte in einem Poll wurde dadurch der zuletzt bekannte SoC-Wert mit None überschrieben statt erhalten zu bleiben - das war die Ursache des abwechselnden Wert/None-Musters im Log.

#4029

@seaspotter
seaspotter requested a review from LKuemmel September 29, 2026 19:11
Comment thread packages/control/chargepoint/chargepoint_data.py

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Two moderate issues remain involving duplicate updates and unsupported metadata topics.

2 open findings
What changed in this PR

This PR prevents repeated stale EV SoC updates and preserves existing SoC values when fresh data is unavailable.

Changes:

  • Tracks force-update requests by CP timestamp and EV.
  • Skips publishing None SoC values.
  • Adds force-update tracking state.
File Summary
packages/​modules/​common/​store/​_chargepoint.py Preserves SoC values when incoming data is missing.
packages/​control/​chargepoint/​chargepoint.py Suppresses repeated force-update requests.
packages/​control/​chargepoint/​chargepoint_data.py Adds force-update tracking fields.

🧠 Review effort: Lite


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/control/chargepoint/chargepoint.py
Comment thread packages/control/chargepoint/chargepoint_data.py
@LKuemmel
LKuemmel merged commit 8f72351 into openWB:master Oct 15, 2026
1 check passed
@seaspotter
seaspotter deleted the fix-soc-force-update-loop branch October 20, 2026 18:58
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