NEWS
[Frage] Realisierung Adapter UDP Keba Wallbox
-
@Sneak-L8
Hallo Sneak-L8
Ich habe Adapter Version 0.2.3 ebenfalls installiert und etwas getestet. (1phasige Ladung)
Aktualisierungsintervall 15s. PV Regelung und Gesamtleistungsbegrenzung nicht verwendet.
Für die Tests verwende ich den UDP PacketSender.
Damit generiere ich eine Sollwertvorgabe mit "currtime". Der Wert "currentUser" und "maxCurrent" wird darauf hin korrekt eingestellt. Nach dem zweiten Aktualisierungsintervall springen die Werte zurück auf den Wert von "currentHardware" (bei mir 32000mA).
Der Ladevorgang oszilliert zwischen dem eingestellten Wert und dem maximalen Wert.
Wenn ich jetzt den kecontact Adapter pausiere tritt dieser Effekt nicht auf. Die eingestellten Werte verändern sich nicht.
Frage: Reinitialisierst du die Wallbox zyklisch? Mit welchem UDP Befehl setzt du die Ladestrom Sollwertvorgabe für die Wallbox?
Gruß
Hans -
Hallo Hans,
hier mal eine Antwort von einem User, der ein ähnliches Problem hatte. Er lud auch nur einphasig:
@Thomas-Geigl sagte in [Frage] Realisierung Adapter UDP Keba Wallbox:
Die Ursache der Veränderungen an den Ladewerten hat sich geklärt, am Adapter und der Firmware liegt es nicht.
Antwort Keba-Support:
Aufgrund von Schieflastregelungen ist die einphasige Aufnahmeleistung für Privatkunden in DE/AT/CH gesetzlich auf 3,7 kW begrenzt, d.h. Sie können Ihr Fahrzeug mit max, 3,7 kW (16A, 1-phasig) laden.
Das ist der Grund warum sich der Wert immer ändert.Der Wert wird vom Adapter auch mit "curr <n>" gesetzt.
-
@Sneak-L8
Hallo Sneak-L8
Dein Problem-User meldet sich wieder.
Wir hatten mit unserem Golf GTE in den letzten Monaten einige Probleme. Immer wieder Fehler im Hybridsystem, eine neue Autobatterie, ein neues Relais, ein neues Ladegerät.
Letztes Wochenende war das Auto wieder in einem Tiefschlaf. Es lässt sich in diesem Zustand erst einschalten, wenn direkt an der Autobatterie ein Starthilfekabel angelegt wird. Danach sind alle Batteriespeicher voll und verwendbar. VW steht derzeit vor einem Rätsel. Ich vermute nun, nachdem die Probleme erst nach Installation des Keba-Adapters V.0.2.0 begonnen haben, dass die Steuerung im Adapter schuld ist. Um dies über einen längeren Zeitraum zu evaluieren, habe ich wieder das alte Script mit der Ladestromsteuerung eingerichtet.
Nun meine eigentliche Frage/mein Problem:
Mit den letzten Versionen hast du ja die Anzeige (volle Ladeleistung/PV opt. Ladung) eingebaut. Jetzt kommt diese Meldung an der Wallbox immer noch nach dem Ladebeginn, obwohl ich den alten Adapter verwende. Das System am Pi habe ich vollständig neu aufgesetzt, die Firmware der Wallbox ist auf eine ältere Version rückgesetzt. Trotzdem kommt weiter die Displaymeldung.Kannst du dir dies erklären?
Wie bekomme ich das System sauber?
LG
Thomas -
Hallo Thomas,
ich habe die Anzeige der Ladeart schon vorher drin gehabt. Auch beim Anstecken des Fahrzeugs. Nur war noch keine Verzögerung von 8 Sekunden drin.
Außerdem war sie bereits da, wenn man von Automatik auf volle Leistung bzw. umgekehrt umschaltet.
In Version 0.2.2 kam dazu, dass bei Beginn der Ladung (also wenn z.B. bei Automatik genug PV-Strom ankommt) auch eine Anzeige erfolgt und bei 0.2.3, dass beim Anstecken die Anzeige um 8 Sekunden verzögert wird.Aber dass die Ladung das Auto so durcheinander bringt kann ich mir eigentlich nicht vorstellen. Ich hatte das ganz zu Beginn meiner Bemühungen, als die Ladesteueurng noch per eigenem Skript außerhalb des Adapters passierte. Da war mein Fehler, dass ich immer sofort auf jede Änderung reagiert habe. Wurde die Sonne einen Tick schwächer und fiel unter das Lademinimum schaltete ich sofort ab, war ich wieder drüber schaltete ich sofort wieder an. Das konnte dann auch innerhalb von einer Sekunde passieren. Und die Ladeleistung wurde auch immer sofort angepasst. Und der Stromverbrauch schwankt im Haushalt ja immer, da wurden die Keba mehrmals pro Sekunde mit Anpassung der Ladeleistung befeuert.
Da hatte ich dann auch mal eine Fehlermeldung im Auto, dass etwas mit dem Bordstrom nicht passt. Aber seit dem ich nun deutlich langsamer reagiere (Anpassung immer nur nach 30 Sekunden, An-/Abschalten nur nur Mindestzeiten) war das nicht mehr.Bei mir macht das Auto (E-Golf) aber leider auch immer Mucken. Vor ein paar Monaten war die Front-Kamera defekt, jetzt muss ein Steuergerät getauscht werden, weil Klimaanlage ausgefallen und Display währen der Fahrt extrem dunkel... Eine Verbindung zur Steuerung der Wallbox kann ich mir aber nicht vorstellen. Die muss ja mit genormten Wertn ans Fahrzeug ran ...
-
@Sneak-L8
Bei mir ist es umgekehrt, ich hatte mit dem Adapter V 0.1.0 und deinem Script keinerlei Probleme, sie sind erst bei Integration der Steuerung in den Adapter aufgetreten.
Sofern ich mich richtig erinnere hatte der Adapter in der v 0.1.0 noch keine Displayanzeige an der Wallbox, meine zeigt aber noch immer die Ladevariante, das (dein) Script schickt ja auch nur mit den Funktionen regulateWallbox und switchWallbox Steuersignale - oder bin ich da am Holzweg? -
@Sneak-L8 wenn es an der Schieflast Begrenzung liegen würde, dann würde der Wert mit dem laufenden kecontact Adapter nicht auf 32000mA hoch springen. Daher war meine Vermutung, dass im Adapter der maxCurrent oder currentUser zyklisch auf volle Ladung gesetzt wird. (vielleicht über curr n?), auch wenn die PV Regelung nicht aktiviert wurde. Gruß Hans
-
@gto Die Wallbox selbst wird über den Adapter weiterhin wie in der Urpsrungsversion (Skript) angesprochen. Es sind dieselben Berechnungen angestellt worden, um die Ladeleistung zu setzen (Ok, manche Berechnung wurde mit der Zeit noch optimiert).
Und richtig, nur regulate und switch ändern den Ladevorgang. Beim Skript hab es noch keine Möglichkeit, eine Meldung anzuzeigen.
Die Möglichkeit über einen neuen State Text an der Wallbox anzuzeigen kam erst in einer späteren Version des Adapters hinzu, der dann bereits selbst die PV-abhängige Ladesteuerung implementiert hatte. -
@Haki Hallo Hans,
Max Current ändere ich nicht. Das lese ich nur aus. Ich meine, der ist sowieso read-only, weil "max curr" über Dip-Schalter ander Wallbox eingestellt wird.
Ich nutze nur "enable" und "curr".
Zum Testen kann man den Adapter gerne im Debug-Modus betreiben. Dann gibt er relativ viel aus. Vor allem auch, wenn er die Ladeleistung der Box ändert oder die Ladung startet/beendet.
Ich vermute, dass sich die Ladeleistung ändert, ohne dass es zu einem Debug-Log kommt. Dann wird die Ladeleistung durch andere Umstände verändert. Was für eine P30 ist es denn genau (c-Serie, x-Serie, ...)? -
@Sneak-L8 es ist die b-series
KC-P30-EC240122-E00
Firmware P30 v 3.10.7 (191213-101735) .
Wird bei dir curr n gesetzt, selbst wenn die PV Regelung abgeschaltet ist?
Falls ja auf welchen Wert? Und könnte man diesen Wert vielleicht als Objekt während der Laufzeit im Adapter einstellbar machen?
Gruß Hans -
@Sneak-L8
Danke für deine Antwort. Ich glaube meinen Fehler gefunden zu haben:
Als dein Adapter neu war konnte dieser ja nicht korrekt gestartet werden. Daher hatte ich am Laptop eine iobroker-Versioin zum Testen installiert. Diese war nicht beendet, also haben 2 iobroker die Wallbox gesteuert, das muss schief gehen. Entschuldige die Umstände die ich dir bereitet habe. -
@gto kein Problem. Ist doch super, wenn die Ursache gefunden wurde. So ist nun auch die Lösung dokumentiert und es bleibt keine Frage offen, ob der Adapter korrekt funktioniert.
-
@Haki nein, curr regelt nur die Leistung, mit enable wird die Ladung aktiviert und beendet.
Wenn keine lastabhängigen Werte hinterlegt sind, dann sollte auch kein curr gesendet werden. Wenn Du "nur" maximale Leistung wählst, dann wird curr mit dem Wert max curr gesendet -
@Sneak-L8
Bin jetzt wieder zuhause und habe festgestellt, dass das Laderelais des Passat GTE wohl zum 2. Mal hinüber ist.
Ich glaube jetzt auch die Ursache gefunden zu haben.
Zum Hintergrund:
Ich habe bisher immer über einen Solarlog die Laderegelung durchgeführt. Keba und Solarlog arbeiten eng zusammen und in der Applikation vom Solarlog gibt es die Unterstützung der Keba Wallbox:- Immer Laden
- Überschuss / Minimalladung
- Überschuss
- Keine Steuerung
Jetzt ist im kecontact Adapter ebenfalls die Laderegelung verfügbar (was toll ist!). Um aber Konflikte mit anderen Reglern zu vermeiden, sollte der kecontact Adapter auch in einen reinen passiven Modus zu schalten sein. (nur die Reports abfragen, in die Objekte eintragen und keinen curr Sollwert setzen)
Durch die unterschiedlichen Ladestrom Vorgaben wurde der Ladevorgang immer wieder nach der einstellbaren Abschaltverzögerung unterbrochen und wieder neu gestartet. Dieses oszillieren der Ladestromvorgaben muss verhindert werden.Außerdem wird in der neuesten Version des Keba UDP Programmers Guide V 2.01 darauf hingewiesen, dass der Stromwert während der Ladung mit currtime geändert werden soll. Das haben sie jetzt erheblich besser beschrieben, als in der alten Doku.
Unter 3.3.2 UDP command: curr steht z.B. "The only option to remove a curr setting without a restart is to over-
write it with a currtime command. In general, it is not recommended to use the curr command, since the current
can be easily controlled via the non-permanent currtime."Es wäre toll, wenn du die currtime Anforderung von Keba noch mal checken könntest.
Außerdem wären Einstelloptionen für den Adapter super:- einstellbare Leistung (als veränderbares Objekt - deckt maximale Leistung mit ab)
- PV geregelt
- keine Steuerung (nur Reports auslesen)
Gruß Hans
-
Hallo Hans,
so hatte ich das bisher noch nicht gesehen. Aber Du hast recht, solange ein Fahrzeug angesteckt ist, wird alle 30 Sekunden nachgeregelt. Entweder PV-abhängig von 0 (aus) bis maiximum oder einfach immer auf Maximum.
Da könnte ich tatsächlich noch einen Schalter einbauen (ich tendiere dazu, ihn der Konfigursation zu setzen und nicht als State), der dafür sorgt, dass grundsätzlich nichts geregelt wird und die Box sich passiv erhält.
Mir ist allerdings nicht klar, warum man immer currtime anstelle curr benutzen soll. Beide Kommandos führen doch zum selben Ergebnis und regeln auf dieselbe Art die Ladeleistung des Fahrzeugs.
Doku:
P30 complies with IEC 61851-1. This international standard requires a minimum
waiting time between two consecutive current changes. To fulfill this requirement,
all P30 will delay the execution of UDP commands requesting a
current change during a charging session. The affected commands are currtime
and curr. The request to stop charging via currtime 0 1 will not be
delayed and executed as soon as possible.Damit sollten zu viele Umschaltvorgänge o.ä. eigentlich ausgeschlossen sein.
Aber ich kann in der nächsten Version einfach anstelle curr currtime benutzen. Sollte ja dasselbe bewirken.Edit: V0.2.4 ist zum Testen online: https://github.com/Sneak-L8/ioBroker.kecontact
Viele Grüße
Sneak-L8 -
So, ich habe leider mit V0.2.5 wieder auf curr zurückwechseln müssen. Bei currtime wurde das minimale Laden nicht nach der eingestellten Mindesladedauer pausiert, weil der Ladebginn immer wieder neu gesetzt wurde. Ich vermute, weil eine Rückmeldung von der Wallbox mit 1 Sekunde Verzögerung kommt und aktuell noch ein Laden erkannt wird.
Vielleicht schreibe ich auch mal Keba direkt an und frage nach, warum man currtime vorziehen sollte.
Das muss ich mir genauer ansehen. Macht die Programmierung aber komplizierter. Aber der passive Modus ist jetzt möglich. -
Hallo Sneak-L8
die einzige Erklärung die mir dafür einfällt ist, das bei curr anders als bei currtime der Wert gespeichert wird und das wahrscheinlich zu einem Schreibvorgang auf einem internen Speicher führt. Je nach dem was hier verwendet wird (SD,SSD), kann man diese nicht unbegrenzt beschreiben. Wenn man jetzt aber ständig curr verwendet, wird dieser Speicher frühzeitig ausfallen.
Ist aber nur eine Vermutung von mir.
Wenn meine Vermutung richtig ist müsste currtime ständig neu gesendet werden, auch wenn sich der Wert nicht ändert. -
Hallo ArnoD,
ich glaube nicht, dass das Schreiben in einen SSD/SD-Speicher das Problem ist. Die Menge ist so klein und die Schreibzyklus nicht so exorbitant hoch, dass durch die autoamtische Verteilung auf den gesamten Speicher oft derselbe Bereich überschrieben wird.
Es ging hier ja auch eher un konkrete Fehler beim Fahrzeug bzw. dessen Bordlader. Das soltle man erst nehmen.
Ich habe Keba bereits angeschrieben und bin gespannt auf die Antwort. -
@Sneak-L8
Danke für die Einführung des passiven Modus. Jetzt funkt der kecontact Laderegler nicht mehr dazwischen, wenn ich mit dem Solarlog die Laderegelung realisiere.
Bin gerade dabei die PV Regelung des kecontact Adapters ausprobieren. Habe es bisher noch nicht hinbekommen.
Wird hier ein bestimmtes Energy-Meter benötigt?
Welche Einheit wird beim Objekt "Name des States für Netzbezug/Netzeinspeisung" verwendet, mW oder W?Wird bei der Stromvorgabe mit curr bei einer Wertänderung der Ladevorgang neu gestartet (Relaisklappern)?
Gruß Hans -
Hallo Hans,
Du kannst die Daten eines beliebigen EnergyMeters (EM) nehmen. Die erwartete Einheit sind Watt. Liefert Dein EM poitive und negative Werte, dann musst Du es nur einmal eintragen. Hat Dein EM getrennte State für positive und negative Werte (Netzbezug/Einspeisung), dann musst du beide angeben.
Mit dem curr-Kommando solltest Du keine Relasie hören, es ändert nur die Modulation des Signals, das ans Auto übertragen wird und mit dem mitgeteilt wird, wieviel Ampere sich das Fahrzeug an der Wallbox genehmigen darf.
Viele Grüße
Sneak-L8 -
Heute ist bereits die Antwort vom Keba-Support eingetroffen:
da der Befehl „curr“ permanent an der Wallbox gilt, sollte zum dynamischen regeln der Wallbox der Befehl „currtime“ benutzt werden.
Zu Problemen an der Fahrzeugelektronik sollte es nicht kommen.
Jedoch reagieren verschiedene Fahrzeugtypen bei zu häufiger Leistungsanpassung unterschiedlich bzw. reagiert das Fahrzeug darauf nicht mehr.Dann werden noch Mindestwartezeiten für Kommandos angegeben:
- 100ms zwischen zwei UDP-Kommandos
- 5s für die Wiederholung desselben Kommandos
- 2s nach dem Abschalten der Wallbox (z.B. ena 0)
Da ich nur alle 30 Sekunden eine neue Berechnung starte und max. zwei verschiedene Kommandos auf einmal sende (der Adapter verschickte dies dann immer in Abständen von 300ms), kann diese Anforderugn als eingehalten betrachtet werden.
D.h. so eine zwingende Begründung für currime anstelle curr gibt es nicht.
Daher lasse ich es erst mal bei 0.2.4a (sorry, ist nicht 0.2.5) bei der wieder curr benutzt wird. currtime kann ich mir mal noch genauer ansehen, sehe da jetzt aber keine Dringlichkeit.