8000 Planner: add precondition phase before departure by andig · Pull Request #20431 · evcc-io/evcc · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Planner: add precondition phase before departure #20431

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

Merged
merged 23 commits into from
Apr 25, 2025
Merged

Planner: add precondition phase before departure #20431

merged 23 commits into from
Apr 25, 2025

Conversation

andig
Copy link
Member
@andig andig commented Apr 6, 2025

Fix #19690, replace #20409

This PR modifies the planner for "late start". If late start is enabled, the plan will always include the latest possible slot. Planner will ensure this simply by marking the latest slot as having zero price.

Note: Planner does not take into account how long this latest slot lasts.

TODO

@andig andig added enhancement New feature or request prio Priority needs documentation Triggers issue creation in evcc-io/docs labels Apr 6, 2025
@andig andig marked this pull request as ready for review April 6, 2025 09:35
@naltatis
Copy link
Member
naltatis commented Apr 10, 2025

Hier ein erster Entwurf für die Precondition Anzeige.

Ich bin damit noch nicht 100% happy (Doppel Switch Elemente sehen komisch aus). Aber der Entwurf erfüllt schonmal folgende Anforderungen.

  1. Feature ist eher ein "Randfeature" und soll daher nicht zu viel Platz einnehmen.
  2. Im Gegensatz zu den anderen Feldern (Tag, Zeit, ...) braucht es Erklärung damit klar wird was da passiert.

Daher hier die Kombination aus einer einfachen Aktivierung, die dann Erklärung und Zusatzoptionen erscheinen lässt. Sinnvolle Iconsprache habe ich nicht gefunden. Daher lieber unmissverständlicher Text.
Wenn es keinen dynamischen Tarif oder CO2 gibt, würde ich diese Option gar nicht anzeigen, da unser Standardverhalten bereits "spät laden" ist.

Der Titel "Pflege" sehr kompakt (weil 1.) und alleine nicht verständlich. In Kombination mit "Akkupflege" sollte das aber klar genug sein. Englische Übersetzung "Care" / "Battery care".

Inhaltlich passt das Wording auf die Anwendungsfälle "Auf 100% Laden aber den Wagen nicht lange voll stehen lassen wollen" und "Nicht mit kaltem Akku starten".
Diese Funktion wird vmtl. auch aus der Motivation "Klimatisierung" genutzt werden. Also eher Komfort bzw. nicht aus Akku klimatisieren. Das steckt im Namen nicht direkt drin, ist aber mMn. ein ok'er Tradeoff.

Mich nervt auch noch, dass der Dialog springt weil eine Zeile dazukommt. Würde das aber hier erst einmal in Kauf nehmen und später noch mal drüber nachdenken ob nicht das Plan-Diagramm eigentlich nach ganz oben gehört.

precondition.webm

@andig in der HTTP-API wurde precondition als Path-Var erwartet, existiert aber nicht in dem Mappings. Ich hab das jetzt zu nem Query-Param gemacht. Hier müssen wir entscheiden ob das so bleibt oder ob wir es (optional?) in den Pfad aufnehmen wollen.

@naltatis
Copy link
Member

\fyi @marq24 @Maschga

@andig
Copy link
Member Author
andig commented Apr 10, 2025

@naltatis ich finde "Pflege" gar nicht so prägnant. Wie wäre es alternativ mit "Spät" oder "Warm"? Die Pflegedauer wollten wir ja egtl. gar nicht raus reichen, spricht aber nix dagegen- auch die 2te Zeile sieht für mich gut aus.

Inhaltlich passt das Wording auf die Anwendungsfälle "Auf 100% Laden aber den Wagen nicht lange voll stehen lassen wollen" und "Nicht mit kaltem Akku starten".

Charge-and-go :O

@naltatis
Copy link
Member

Ja "Spät" / "Spät laden:" finde ich auch eine gute Idee.

Da wir die Zeit ja kommunizieren müssen damit dass Feature verständlich würd hab ich's gleich bearbeitbar gemacht. Nennen wir die Zeit nicht entstehen beim Nutzer vmtl Fragezeichen im Kopf > Doku erforderlich.

@Maschga
Copy link
Contributor
Maschga commented Apr 10, 2025

Danke für den Ping.

Ohne deinen ganzen Entwurf kaputt machen zu wollen:
Es wird wahrscheinlich nicht bei dem einen Spezialfall bleiben.
Deshalb braucht man hier vielleicht eine Lösung, mit der man auch noch andere solche Einstellungen im UI kompakt anzeigen kann.
Wenn wir immer wieder einen Toggle einbauen, wird das UI irgendwann sehr voll 8000 sein.

@naltatis
Copy link
Member

@Maschga ja, sehe ich auch so. Habe auch Entwürfe gehabt wo das noch etwas abstrakter war: „Ladestrategie“. Wenn das noch weiter wachsen soll, werden wir da mehr Struktur brauchen. Aber Schritt für Schritt 😄

@andig
Copy link
Member Author
andig commented Apr 12, 2025

@naltatis rein damit und Wording später anpassen?

@naltatis naltatis marked this pull request as draft April 15, 2025 06:23
@naltatis
Copy link
Member

@naltatis rein damit und Wording später anpassen?

Die UI ist aktuell wirklich nur ein "first shot". Das funktioniert nur auf großem Breakpoint wenns keine Repeating Plans gibt. Hier muss ich noch etwas Arbeit reinstecken.

@andig
Copy link
Member Author
andig commented Apr 15, 2025

Das funktioniert nur auf großem Breakpoint wenns keine Repeating Plans gibt

Mhhm. Gäbe es eine low-effort Variante, die neuen Einstellungen bei kleinen Breakpoints z.B. hinter [...] Button zuverstecken und nur bei Bedarf ein zweizeiligesLayout aufzumachen? Ich fürchte ganz ohne gibts zuviele Rückfragen.

@naltatis
Copy link
Member

Lass mich doch erstmal den kleinen Breakpoint bauen 😂

@andig
Copy link
Member Author
andig commented Apr 15, 2025

Achso. Ich dacht wir diskutieren releasen or not. Ich wollte nur sagen: sollten wir nicht releasen ;)

@naltatis
Copy link
Member
Bildschirmfoto 2025-04-19 um 16 40 36 Bildschirmfoto 2025-04-19 um 16 38 16 Bildschirmfoto 2025-04-19 um 16 38 46 Bildschirmfoto 2025-04-19 um 16 38 02 Bildschirmfoto 2025-04-19 um 16 37 53

@andig
Copy link
Member Author
andig commented Apr 19, 2025

Top!

@naltatis
Copy link
Member
  • using checkbox instead of switch to avoid enable/disable confusion
Bildschirmfoto 2025-04-24 um 13 06 20 Bildschirmfoto 2025-04-24 um 13 06 01 Bildschirmfoto 2025-04-24 um 13 03 18 Bildschirmfoto 2025-04-24 um 13 03 03

@naltatis naltatis marked this pull request as ready for review April 25, 2025 08:51
@naltatis
Copy link
Member

@andig all done from my side. Rein damit?

@andig andig merged commit 832012e into master Apr 25, 2025
6 checks passed
@andig andig deleted the feat/planner-3 branch April 25, 2025 12:10
@StefanSchoof
Copy link
Contributor

Planner will ensure this simply by marking the latest slot as having zero price.

Klappt das auch wenn es für viele Stunden einen negativen Strompreise gibt?

@andig
Copy link
Member Author
andig commented Apr 28, 2025

Ups, nein... aber wir können schnell 0 durch -Inf ersetzen ;)

StarF666 pushed a commit to StarF666/evcc that referenced this pull request Apr 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs documentation Triggers issue creation in evcc-io/docs prio Priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Planner: enable charger before target time
4 participants
0