Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plan: improve next plan selection #18212

Closed
naltatis opened this issue Jan 13, 2025 · 5 comments · Fixed by #18211
Closed

Plan: improve next plan selection #18212

naltatis opened this issue Jan 13, 2025 · 5 comments · Fixed by #18211
Labels
enhancement New feature or request

Comments

@naltatis
Copy link
Member

Currently the next plan is picked by plan time. This is suboptimal, when a plan with low target (30% at 8:00) is followed by a higher plan (100% at 9:00).

Originally posted by @Balujuhu in #17746

@andig
Copy link
Member

andig commented Jan 13, 2025

Wie realistisch ist das? Tatsächlich müssten alle Pläne evaluiert werden um dann den mit dem frühesten Start auszuwählen. Das könnte evtl. auch der Algorithmus für den übergelaufenen Plan sein. Da gilt es analog. Falls aber der „nächste“ Plan noch nicht begonnen hat (erster Slot in der Zukunft) und das Ladeziel noch nicht erreicht ist dann gilt weiter der letzte Plan als „laufend“.

@naltatis
Copy link
Member Author

Wie realistisch ist das?

Ist durchaus realistisch. Siehe verlinkte Diskussion. Ist mir in den letzten Wochen auch schon mehrfach passiert, wenn man an einem morgen dann doch weiter fahren möchte.

Das könnte evtl. auch der Algorithmus für den übergelaufenen Plan sein. Da gilt es analog.

Das verstehe ich noch nicht. Das mit dem Überlauf ist ja etwas anderes. Da ist ja unser Problem, dass wir Pläne deren Zielzeit überschritten wurde einfach nicht mehr betrachten.

@andig
Copy link
Member

andig commented Jan 14, 2025

Ist durchaus realistisch

I see. Passiert wohl am ehesten, wenn sie wiederkehrende und Einzelpläne überschneiden?

Das verstehe ich noch nicht.

Das Problem "welcher Plan ist der nächste" (Algovorschlag oben) haben wir "rückwärts" für die übergelaufenen Pläne auch, also "welcher Plan ist eigentlich übergelaufen"?

Hier müssen wir uns den aktiven Plan entweder merken oder (mein Favorit) könnten wir es uns einfacher machen und schlicht sagen "wenn der letzte Plan nicht erfüllt wurde und kein neuer (zukünftiger) Plan aktiv ist, dann wählen wir den zeitlich (!) letzten Plan als aktiven, übergelaufenen Plan aus". Dieser Plan bestimmt dann das Planziel.

Es kann dann aber- wie in die Zukunft auch- passieren, dass z.B. ein 80% Plan bis 7:00 Uhr durch einen 20% Plan bis 7:30 übersteuert wird und wir damit bei einem Ladeziel von 20% landen. Das richtig zu machen geht nur wenn wir uns das alte Ladeziel merken (dann kennen wir aber nicht die Ursprungszeit für die Anzeige) oder den alten Plan selbst.

@andig andig added the enhancement New feature or request label Jan 14, 2025
@andig
Copy link
Member

andig commented Jan 14, 2025

Ich habe mal versucht, die Szenarien aufzumalen (Planfortschritt 10% pro Stunde):

Screenshot 2025-01-14 at 10 46 03

@naltatis
Copy link
Member Author

Find ich eine guten Idee weil wir dann nicht zusätzlichen State brauchen.
Wir könnten auch ein festes Interval (max 1-2h) in die Vergangenheit schauen, wenn wir uns im "Overrun" Zustand befinden.
Diese Diskussion gehört aber hier ins Ticket: #17704

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants