-
-
Notifications
You must be signed in to change notification settings - Fork 720
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 loadpoint config api (BC) #12958
Conversation
@andig die APIs sehen gut aus. Funktioniert alles wie es soll. Wir hatten ja gesagt, wir wollten den Scope klein halten und Vehicle/Charger erstmal ausklammern. Ich glaub es ist doch ne gute Idee, wenn wir die Referenz-Felder hier gleich mit aufnehmen. Sonst haben wir einen komischen Zwischenstand den man schwer releasen kann. Magst du die beiden Felder ergänzen? |
Mache ich. Am Fahrzeug könnten wir dann noch |
So, jetzt nochmal langsam. Was meinst Du damit konkret? Phases z.B. ist doch drin? |
Mit Referenz Felder meine ich:
Da stehen dann die 'name's der am loadpoint verknüpften devices drin und sind darüber auch änderbar. |
Ah, ok. Aber erstmal ohne Updatefähigkeit? |
Wie es passt. Update wäre cool (bspw default Fahrzeug). Lesen wäre aber auch ein Fortschritt. |
@andig wollen wir, wo wir gerade dabei sind, nicht auch gleich
|
Die Refs sind drin (read-only). |
Mein eigentlicher Gedanke war, dass wir, wenn wir soc/enable/disable mit dazunehmen eine einfach verständliche Story für den Anwender haben: "Alle Loadpoint Einstellungen sind jetzt im UI." Deutlich einfacher zu verstehen als ein Misch-Setup wo sich von Release zu Release die Verhältnisse verändern.
Wäre für mich bspw. ein Deal Breaker. Ich nutze hier für das Zusammenspiel von EV und Heizstab bewusst nicht die Defaults. Soc-Settings ans Fahrzeug migrieren find ich auch gut, aber würde ich in einem separaten Schritt machen. Hier wäre mein Fokus erstmal "nur" yaml-Einstellungen zu UI-Einstellungen konvertieren. |
@andig Wenn Das eigentliche Problem ist, dass Speichern von Priority != 0 funktioniert. Schaust du da noch mal rein? |
Verstehe ich nicht. Dir LPs brauchts weiter in der yaml, also sind auch die Settings noch da? |
Ja, mir ging es ja um diesen Punkt:
|
Yoah, aber breaking ist da nix. Schöner wärs. |
@naltatis ist behoben- auch 0 wird jetzt ausgegeben. Spannend ist allerdings auch |
Das Problem hat smartCostLimit ja in der aktuellen api auch schon. 0 bedeutet "aus". Negative Werte sind erlaubt und auch gewünscht. |
@naltatis soc ist auch drin. Du müsstest rebasen ;) |
@andig Ich hab jetzt die UI für das Hinzufügen und Entfernen von Ladepunkten hinzugefügt. Die entsprechenden Endpunkte (POST, DELETE) habe ich beispielhaft angelegt. |
Anlegen schlägt fehl:
|
@naltatis das CircuitRef string `mapstructure:"circuit"` // Circuit reference
ChargerRef string `mapstructure:"charger"` // Charger reference
VehicleRef string `mapstructure:"vehicle"` // Vehicle reference
MeterRef string `mapstructure:"meter"` // Charge meter reference |
@andig magst du dir hier mal die Lint/Test Fehler anschauen, dass wir den Branch wie der Grün bekommen. Circuit Umbau |
Wir haben hier noch ein Datenproblem. Im UI kann der Nutzer zwischen auto/1p/3p auswählen. Die Auto-Option (0) funktioniert aber nur, wenn der initialisierte Charger am Ladepunkt auch 1p3p Capability hat. Sonst schlägt das Speichern fehl. Aktuell hat die UI keinen Weg das rauszufinden. Hier brauchen wir eine Lösung. Als schnelle Lösung würde ich vorschlagen, dass wir Langfristig müssen wir hier a) die Info ans UI transportieren damit auch die Auto-Option nur angeboten wird, wenns möglich ist und b) auch bei Szenarien wie "Charger ändern am LP ändern" sicher stellen, dass wir dieses Setting dann entsprechend mit korrigieren. |
🍕 One of the last puzzle pieces. Add.Loadpoint.webm |
@andig Der generelle Round-Trip mit Anlegen, Neustarten, Bearbeiten, Löschen funktioniert. Beim Anlegen gibts aber noch ein generelles Problem. Hier scheinen die Settings-Daten nicht persistiert zu werden. Nach einem Neustart fehlt bspw. der Title des Ladepunktes. In der Datenbank (settings) sind die Werte auch nicht drin. Späteres bearbeiten funktioniert und behält auch die Daten. |
im Video ganz am Schluss ist bei dem neuen Loadpoint KEIN Lademodus markiert. |
@naltatis wir haben noch ein anderes Problem mit Loadpointnamen die auch der Logger braucht. Diese können nicht mehr aus der Reihenfolge in der YAML abgeleitet werden sondern müssten jetzt explizit konfiguriert werden- wiederum aber nur für interne Zwecke. Da bräuchten wie eine schlaue Idee. Vmtl. klappt deshalb auch das Speichern nicht da der Name Teil des Settings-Keys ist. |
Ja, wird der gleiche Grund sein, wieder fehlende Namen beim ersten Anlegen. |
@andig Anlegen von Ladepunkten führt aktuell zu einem Memory Error Request
Log
|
f2755f5
to
419c9f0
Compare
56fd7d9
to
a086289
Compare
@andig Ich hab einen Failing-Test hinzugefügt, der das Problem beim Aktualiseren eines angelegten Ladepunkts verdeutlicht. Aktualisiert man bspw. die Priorität, lässt aber den Titel gleich, verlieren wir den Titel. |
@andig Die Initialisierung der Loadpoints schlägt fehl, wenn man einen LP konfiguriert hat und das Sponsortoken löscht (vmtl. auch wenns abläuft)
Aktuell werden in diesem Fall gar keine LPs mehr angezeigt. Heißt man kann den betroffenen LP auch nicht entfernen um einen validen Zustand herzustellen. Magst du da mal reinschauen? |
fd7e1e3
to
32550fe
Compare
Setup von evcc mit einer leeren setup.webm |
@andig ich hab gerade noch mal ausprobiert wie sich die Einstellungen von UI-konfigurierten Fahrzeugen an UI-konfigurierten Ladepunkten verhalten. Das sieht alles korrekt, bzw. wie erwartet aus. Die fahrzeugspezifischen Werte (bspw. Dementsprechend steht hier nur noch eine gute Lösung für den Demo-Modus aus. Hier tendiere ich gerade dazu das aktuelle Verhalten erst einmal zu belassen:
Ein explizites Anwählen des Demo Modus (bspw. durch CLI Param) würd ich erst dann machen, wenn wir Config UI nicht mehr hinter experimental Flag haben. |
core/keys/loadpoint.go
Outdated
EnableThreshold = "enableThreshold" | ||
DisableThreshold = "disableThreshold" | ||
EnableDelay = "enableDelay" | ||
DisableDelay = "disableDelay" | ||
BatteryBoost = "batteryBoost" | ||
|
||
PhasesConfigured = "phasesConfigured" // configured phases (1/3, 0 for auto on 1p3p chargers, nil for plain chargers) | ||
Phases = "phases" // configured phases (1/3, 0 for auto on 1p3p chargers, nil for plain chargers) | ||
PhasesConfigured = "phasesConfigured" // TODO mirrors "phases" for UI purposes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zur Diskussion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Depends on #18062
a835bfc
to
54b6b91
Compare
Fix #12903
This PR deprecates the following yaml loadpoint settings:
TODO
evcc migrate
?) @andig @naltatisevcc migrate --reset
removes all ui configured entities (vehicles, meters, chargers, loadpoints)