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

Add battery settings UI #7802

Merged
merged 8 commits into from
May 8, 2023
Merged

Add battery settings UI #7802

merged 8 commits into from
May 8, 2023

Conversation

naltatis
Copy link
Member

@naltatis naltatis commented May 3, 2023

  • 🔋 Add battery settings dialog
  • 🪫 prioritySoc and bufferSoc can be changed
  • 💽 changes are written to database and restored on restart (also added for smartCostLimit)

fixes #7669

In the future: Changing values is done via system select dropdowns (easy things first). Being able do vertically slide the limits could be an improvement later.

👉 try it here https://demo-next.evcc.io/

Todos

  • proper en translation
  • animation glitches in dark mode
  • fix unreliable selects in desktop safari
  • capacity infos, multiple batteries
  • deal with initial empty prioritySoc and bufferSoc values
  • de translation

Screenshots

large screen
Bildschirmfoto 2023-05-03 um 18 01 09

small screen
Bildschirmfoto 2023-05-03 um 18 02 17

video

battery.ui.mp4

@naltatis naltatis added the enhancement New feature or request label May 3, 2023
@naltatis naltatis requested review from premultiply and andig May 3, 2023 16:12
@Hofyyy
Copy link
Contributor

Hofyyy commented May 3, 2023

IDEE:
Können wir "Bad Weather" und "Allowed for Charging" tauschen?
Ich musste ehrlich gesagt lange drüber nachdenken und ich glaube genau das war der Grund.

Oben:

  • Volle Geschwindigkeit (Allowed for Charing)

Mitte:

  • 6A safety

Unten:

  • 0A

Edit:
Er würde doch bei 100% Akku auch erst sagen wir mal 33% (Allowed for Chargeing) leer laden, dann z.b. noch 33% bei 6A halten, weil die Sonne weg ist. und bei den letzten 33% den Akku in Ruhe lassen und das laden Stoppen ... oder?

@andig
Copy link
Member

andig commented May 3, 2023

Sehr cool. Vllt könnten wir das gleich noch mit Ladestart ja/nein, ggf sls zweitem soc Wert ergänzen? Find nur grad die Discussion dazu nicht :/. Pr gab es ist aber wieder closed.

@naltatis
Copy link
Member Author

naltatis commented May 3, 2023

Vllt könnten wir das gleich noch mit Ladestart ja/nein

Davon weiß ich nichts. Ich würd erstmal den status quo (buffer/priority) abbilden.

Wenn du mir nen Link zur Diskussion schickst schau ich mir das aber gerne an.

@naltatis
Copy link
Member Author

naltatis commented May 3, 2023

@Hofyyy das was du beschreibst ist aber doch nicht das Verhalten was buffer/priority Soc heute abbilden sondern ein alternatives, oder? Hier gehts ja erstmal "nur" darum die aktuelle Mechanik zu visualisieren bzw. in die UI zu heben.

@premultiply
Copy link
Member

premultiply commented May 3, 2023

Die Beschreibungen finde ich noch nicht so richtig treffend.

Wie wäre es mit

  • Bad weather reserve
    avoid interruption
  • Battery reserve
    prioritize battery charging over vehicle charging
    ?

Den mittleren Bereich dann einfach freilasssen.

@premultiply premultiply closed this May 3, 2023
@premultiply premultiply reopened this May 3, 2023
@VolkerK62
Copy link
Contributor

Vllt könnten wir das gleich noch mit Ladestart ja/nein, ggf sls zweitem soc Wert ergänzen? Find nur grad die Discussion dazu nicht :/.

Coole Idee, dann hätte sich das Namensthema erledigt :-)
Hier die Diskussion bzgl Start bei buffersoc #7191

@StevieC121176
Copy link

Wie ist das dann mit der tooltip Anzeige für die Battieriekapazität. In der Demo funktioniert die auf der mobilen Version nicht mehr, da man ja durch tippen auf die Prozentanzeige nun den Einstelldialog bekommt.

IMG_0352

@naltatis
Copy link
Member Author

naltatis commented May 4, 2023

@StevieC121176 Guter Punkt. Auf Touch Geräten klappt der tooltip jetzt natürlich nicht mehr.

Ich würde die Infos aus dem tooltip in den Dialog übernehmen.

@naltatis
Copy link
Member Author

naltatis commented May 4, 2023

@premultiply ich fänd gut wenn wir alle drei Bereiche beschriften damit klar ist wie sich evcc verhält wenn sich der Speicher in einen bestimmten soc Bereich befindet.

Da eine griffige Beschreibung zu finden ist nicht leicht. Die Texte aus unserer Doku dazu sind kompliziert, lang und erklären die Regeltechnik. Ich würd aber hier gerne klar machen was es für eine praktische Auswirkung hat wenn man bspw den mittleren Bereich größer oder kleiner macht. Aber lass uns gerne alternative Beschreibungen sammeln.

@naltatis
Copy link
Member Author

naltatis commented May 4, 2023

avoid interruption

Find ich gut

@naltatis
Copy link
Member Author

naltatis commented May 4, 2023

prioritize battery charging over vehicle charging

Find ich nicht so gut weil das beschreibt was die Regelung technisch tut. Ich würd hier gerne stehen haben wofür das in der Praxis gut ist. Hauptgrund (sicher nicht der einzige) ist hierfür doch abends noch genug für die Nacht über zu lassen, oder?

@StevieC121176
Copy link

Ich würde die Infos aus dem tooltip in den Dialog übernehmen.

Sehr gute Idee.

@Hofyyy
Copy link
Contributor

Hofyyy commented May 4, 2023

Ich habe das jetzt noch mal hoch und runter gelesen.

  • prioritySOC ist verstanden und passt zum Bild und das versteht jeder Kunde
  • bufferSOC ist mir ein Rätzel, auch nach mehrmaligem lesen der techn. Beschreibung. Soll ich dazu einmal eine separate Discussion öffnen?

prioritySOC funktioniert immer von 0 bis prioritySOC also if(SOC < prioritySOC)
bufferSOC funktioniert immer von bufferSOC -bis 100 also if(SOC > bufferSOC)

Das Veralten bei prioritySOC 50% und bufferSOC 51% ist also beschrieben in der Doku.
Was ist aber wenn bufferSOC 70% ist. Dann ist unklar was bei 51% bis 69% passiert.

@VolkerK62
Copy link
Contributor

VolkerK62 commented May 4, 2023

gar nicht so einfach :) Ich versuch es mal. (edit: mit Ladestart)

  • Ladung wird automatisch gestartet
  • Batterie wird bei Bedarf entladen
  • Auto wird vorrangig geladen
  • Batterie wird vorrangig geladen

@Hofyyy

This comment was marked as off-topic.

@andig
Copy link
Member

andig commented May 4, 2023

Können wir bitte mal zum Thema zurück kommen? Die Socdiskussion gehört nicht hier her. Danke :)

@andig
Copy link
Member

andig commented May 4, 2023

Der mittlere Bereich ist "Fahrzeugladen hat Prio vor Hausbatterie, Hausbatterie unterstützt EV-laden nicht". Der obere Bereich ist "Hausbatterie unterstützt EV-laden falls notwendig". Die Grafik zeigt aber auch schön, dass noch ein Soc (siehe OT-Diskussion) das Ganze nicht verständlicher macht...

@andig
Copy link
Member

andig commented May 4, 2023

multiple batteries

@naltatis das ist kein Todo- die Prio gibts ja nur aufs Total

@naltatis
Copy link
Member Author

naltatis commented May 4, 2023

@andig ist sehr wohl ein Todo.
Siehe #7802 (comment)
Die Infos aus dem Tooltip müssen in den Dialog damit sie auch auf Touch Devices noch verfügbar sind.

@naltatis naltatis marked this pull request as draft May 4, 2023 18:09
@11-Andreas
Copy link

Vorschlag für Benennung der 3 Bereiche von oben nach unten:

  • Puffer
    ( erlaubt Nutzung der Hausbatterie zum Laden des Autos)

  • Auto priorisiert
    ( Bei vorhandenem Überschuss wird das Autoladen gegenüber Hausbatterie bevorzugt)

  • Hausbatterie priorisiert
    ( Bei vorhandenem Überschuss wird das Laden der Hausbatterie gegenüber dem Auto bevorzugt)

@andig
Copy link
Member

andig commented May 4, 2023

Im oberen Bereich „Ladeunterstützung“? Puffer ist sehr neutral?

@naltatis
Copy link
Member Author

naltatis commented May 6, 2023

in Safari scheinen die Menüs noch etwas hakelig

Ist bekannt. Siehe Todo ganz weit oben :D

Bleibt die Frage, ob die Tinkerer damit einverstanden sind, dass es nur 3 Einstellungen gibt und der Prozentsatz nicht auf 2 Nachkommastellen einstellt werden kann :)

Ja, werden wir sehen. Aktuell kann man gar nichts einstellen und über die API hat man, wenn man sie wirklich braucht, auch heute schon feinere Kontrolle und der Wert würde in der UI korrekt angezeigt werden.

Ich würde allerdings auch die Position Autostart nach oben setzen, das Icon dann nicht eingerückt.

Kann ich gut verstehen. Ich probiere hier noch mal rum. Vorteil von dem Eindrückten ist, dass dann sofort klar ist auf was sich low/medim/high bezieht und warum das nur erscheint wenn der obere Bereich da ist. Wenn man die linke Seite als Legende sieht (was sie ja ist) ist natürlich auch charmant wenn die Icons in der gleichen Reihenfolge erklärt werden wie sie auf im Diagramm verwendet werden.

@andig
Copy link
Member

andig commented May 7, 2023

Ich ergänze den bufferStartSoc aus #7703 wenns ok ist?

@naltatis
Copy link
Member Author

naltatis commented May 7, 2023

Iteration 3

Erstmal danke an alle für das produktive Feedback. Glaube das wird richtig gut :D
Hier noch mal eine Überarbeitung.

Drei Bereiche, drei Icons, alle auf gleicher Ebene
Ich habe das seitliche Blitz-Icon für den Ladestart entfernt und auch den eingerückten zweiten Eintrag in der Legende rausgenommen. Stattdessen sind die Icons nun noch mal angepasst. Alle Bereiche haben jetzt wieder ein Icon: Haus > Auto > Blitz. Die Erklärung für alle Bereiche ist auch immer sichtbar. Das ist näher in Iteration 1 und sieht mMn auch deutlich harmonischer aus. Zudem erübrigt sich die Frage was eigentlich im mittleren Bereich passiert.

Automatischer Start
Der obere Bereich bekommt, wenn er existiert, im Subtext eine Auswahlnavigation in der man den automatischen Ladestart einstellen kann. Neben "etwas, halb und fast voll" habe ich die "kein Autostart" Option umbenannt sodass klar wird, dass der Ladevorgang in dem Bereich durchaus automatisch starten kann wenn genug Überschuss existiert (heutiges Verhalten). Im Gegensatz zu den viel klickbaren Links aus dem vorherigen Entwurf braucht man hier jetzt einen Klick mehr zum Verstellen, allerdings hat das auch den Vorteil, dass wir mehr Freiheit für einen gut erklärenden Text haben.

Kapazität & mehrere Batterien
Die Batteriedetails aus dem Tooltip sind jetzt im Dialog direkt drin. Siehe Screenshots.

Texte
Ich hab die englischen Texte noch mal anhand der Kommentare hier überarbeitet und geschärft. Gerne Feedback wenn ihr knappere und präzisere Formulierungen findet.

Einige kleine technische Dinge sind auch behoben. Dark-Mode sieht nun sauber aus. Im Safari läuft die Soc Auswahl korrekt. Edgecases wie prioritySoc == bufferSoc sind besser umgesetzt. Wenns keine strukturelle Kritik mehr gibt würde ich mit diesem Stand erstmal ins Rennen gehen. Wenn wir in der Praxis merken, dass Leute das nicht oder falsch verstehen können wir immer noch nachjustieren.

Demo ist aktualisiert 👉 https://demo-next.evcc.io/


Video

battery.3.mp4

eine Batterie
Bildschirmfoto 2023-05-07 um 14 55 34

mehrere Batterien
Bildschirmfoto 2023-05-07 um 14 54 15

@StevieC121176
Copy link

StevieC121176 commented May 7, 2023

Ich habe gerade die aktualisierte Demo ausprobiert und muss sagen ich bin begeistert. Das Feature bietet Mehrwert ohne ständiges anpassen der yaml.
Die Texte sind kurz und bündig, jeder sollte verstehen was gemeint ist.
Die Bedienung ist schlüssig und in sich rund.
Und das ganze sieht auch noch toll aus.

@Hofyyy
Copy link
Contributor

Hofyyy commented May 7, 2023

Dito. Mega!

@11-Andreas
Copy link

Perfekt!

@wiggal
Copy link

wiggal commented May 7, 2023

Sieht wirklich super aus

@andig
Copy link
Member

andig commented May 7, 2023

bufferStartSoc ist drin, DELETE api fehlt noch.

@naltatis
Copy link
Member Author

naltatis commented May 7, 2023

bufferStartSoc ist drin

UI spricht nun auch korrekt mit den Werten. Demo ist aktualisiert. Wer diese Branch lokal testen mag kann das jetzt gerne machen.

@StevieC121176
Copy link

Da ich leider keine Ahnung vom Kompilieren hab, werde ich auf das Nightly warten.

@naltatis naltatis marked this pull request as ready for review May 7, 2023 19:06
@andig andig added the ux User experience/ interface label May 8, 2023
@andig andig merged commit 9b282e6 into master May 8, 2023
@andig andig deleted the feature/battery-settings branch May 8, 2023 16:11
@naltatis
Copy link
Member Author

naltatis commented May 9, 2023

@StevieC121176 Hab gesehen, dass du hier noch nen Bug gefunden hast. Danke! Der ist im Master jetzt gefixt. Allerdings sehe ich deinen Kommentar nicht mehr, hab das nur als Notification.

@StevieC121176
Copy link

@StevieC121176 Hab gesehen, dass du hier noch nen Bug gefunden hast. Danke! Der ist im Master jetzt gefixt. Allerdings sehe ich deinen Kommentar nicht mehr, hab das nur als Notification.

Ich hatte gedacht ich mach lieber ein Issue auf und hab den Beitrag deshalb hier gelöscht gehabt.

@StevieC121176
Copy link

StevieC121176 commented May 9, 2023

Ich habe heute beim Auto Laden die Batterieeinstellungen etwas testen wollen. Ich habe das Gefühl als wenn die Einstellungen nicht berücksichtigt werden. Ich hatte 2 Szenarien.

  1. Fall: Auto hat mit 7kw Überschuss angefangen zu laden. Modus PV. Hausakku war voll. Als der Überschuss unter 2,7 kw sank, kam dann die Meldung zu wenig Überschuss, pausiere Ladung in x min. Obwohl eingestellt ist das er bis 50% das Hausakku nutzen soll , hat er die Ladung pausiert. (Auto lädt 2phasig)

  2. Fall Überschuss bei 2,2kw. Hausakku voll. Automatisch starten war auf „wenn etwas voll“ eingestellt. Modus auf PV. Ich hätte gedacht das er anfängt zu laden da der Hausakku voll war.
    kann es damit zusammen hängen das ich in der yaml noch buffersoc und prioritysoc definiert habe?
    Wie kann ich hier aussagekräftige logs bekommen. ?
    IMG_0392

IMG_0393
IMG_0391

@horst789github
Copy link

horst789github commented May 9, 2023

kurze frage, wie stelle ich die Akku größe ein? bei mir steht in der 117 version:
0,0 kWh von 0,0 kWh
grafik

neue frage hier gestellt: #7883

@teslajoshi
Copy link

Hallo, das interessiert mich auch. Sind die neuen Funktionen irgendwo beschrieben?

@andig
Copy link
Member

andig commented May 9, 2023

Akkugröße siehe Doku- am Akku konfigurieren. Sonst bitte neue Diskussion dazu.

@wiggal
Copy link

wiggal commented May 9, 2023

Akkugröße siehe Doku- am Akku konfigurieren. Sonst bitte neue Diskussion dazu.

in der Dokumentation ist leider hierüber noch nichts drin.

@andig
Copy link
Member

andig commented May 9, 2023

Nach capacity suchen, dann brauchts keine downvotes: https://docs.evcc.io/docs/reference/configuration/meters/#capacity

@evcc-io evcc-io locked as resolved and limited conversation to collaborators May 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request ux User experience/ interface
Projects
Development

Successfully merging this pull request may close these issues.

Vorschlag: Akku Min SoC Ladung in GUI ändern
10 participants