Welche Komponenten werden für eine Wallbox benötigt?

Hallo,
ich versuche gerade, eine Wallbox zu konfigurieren, im GUI wird aber immer angezeigt “Diese Ladesäule kann nicht gesteuert werden.”.
Welche Komponenten müssen konfiguriert werden?
Diese habe ich aktiviert:

  • Electric Vehicle (evseElectricVehicle0)
  • Controller Electric Vehicle Charging Station [ctrlEvcs0] (Evcs-ID: evcs0)
  • Controller EVSE: Single Charge-Point [ctrlEvseSingle0] (Charge-Point-ID : ctrlEvcs0, Electric-Vehicle-ID: evseElectricVehicle0)
  • Den Wallbox Controller (evcs0)
    Irgendetwas fehlt, denn ich bekomme im Log:
_componentManager[Defective:ctrlEvseSingle0[Unsatisfied reference for chargePoint ((enabled=true))]|State:FAULT: A configured OpenEMS Component was not activated]

Was fehlt oder ist falsch konfiguriert?

Stefan

Bitte verwende NICHT die EVSE Komponenten, da sich diese aktuell noch in Entwicklung befinden - Controller EVCS etc. sind die Komponenten, die du benötigst :wink:

OK, danke, dann war also zu viel konfiguriert und diese Beiden reichen:

Ich versuche gerade, meine OpenWB zu implementieren, und es scheint zu funktionieren.

1 Like

Toll, kannst du das als PR stellen? :slight_smile: Eventuell davor hier den Link zu deinem Repo posten, dann kann @stefan.feilmeier einen Blick darauf werfen, bevor wir einen PR machen :slight_smile:

Bitte verwende NICHT die EVSE Komponenten, da sich diese aktuell noch in Entwicklung befinden - Controller EVCS etc. sind die Komponenten, die du benötigst :wink:

Mit EVSE wäre die Implementierung vermutlich (hoffentlich) einfacher; allerdings kann es sein, dass sich da die API noch ändert, weil das stark in Entwicklung ist. Außerdem ist das UI noch sehr basic. Andererseits wird dort schon an coolen neuen Features gearbeitet - siehe Keba C-Series/X-Series (OpenEMS Ready: Basic) - #29 by BETON

Das ältere EVCE ist stabiler, allerdings ggf. auch komplexer zu implementieren.

Gruß,
Stefan

Ja, natürlich, es kann aber noch etwas dauern. Ist viel Neuland dabei und ein paar Dinge fehlen noch. Meine Test-WB hat (noch) nicht alle Funktionen, vor allem keine Phasenumschaltung, aber da bin ich dran.

Ist nicht schlimm, es geht mir auch darum, zu verstehen, und nicht nur die Funktionalität zu haben.

1 Like

Mir stellt sich jetzt die Frage, wie ich weiter mache. Die OpenWB funktioniert grundsätzlich in OpenEMS, es gibt aber noch ein paar Kleinigkeiten, wie z.B. die geladene Energie wird von der Box nicht richtig übergeben, es ist immer die gesamte Energie. Da muss also noch gerechnet werden.
Ansonsten wird sie gesteuert, Status und aktuelle Leistung werden im GUI angezeigt.
Phasenumschaltung oder Nachkommastellen bei der Ladestrom-Vorgabe werden wohl noch nicht von EVCS unterstützt, wobei das natürlich nice to have wäre.
Bereit für einen PR ist das alles aber eigentlich noch nicht, da muss erst mal aufgeräumt und die ganzen überflüssigen Channels plus weiterer Code entfernt werden.
Wäre es sinnvoller, zu waren, bis EVSE in einem fortgeschritteneren Stadium ist?

Stefan

…wie z.B. die geladene Energie wird von der Box nicht richtig übergeben, es ist immer die gesamte Energie. Da muss also noch gerechnet werden.

Das ist bei vielen Ladesäulen so, deshalb habe ich diese Berechnung bei EVSE in den Controller verschoben und die Ladesäule selbst muss nur die Gesamtenergie (als ElectricityMeter bereitstellen): openems/io.openems.edge.controller.evse/src/io/openems/edge/controller/evse/single/SessionEnergyHandler.java at develop · OpenEMS/openems · GitHub

Mir stellt sich jetzt die Frage, wie ich weiter mache.

Ich kann das auch gerade schwer beantworten. Wärst du ein Mitarbeiter in unserem Team, würde ich dir vorschlagen eine Nur-Lesende Implementierung mit EVCS zu machen (so wie bei Mennekes: openems/io.openems.edge.evcs.mennekes at develop · OpenEMS/openems · GitHub), diese dafür aber sauber fertigzustellen, inkl. umfangreicher JUnit-Tests etc.

Auf der Basis kann man dann in einem zweiten PR die Erweiterungen machen - entweder auf EVCS oder EVSE.

Gruß,
Stefan

Danke, dann sehe ich mir das noch mal an. In der derzeitigen Version rechne ich die Energie selbst aus. Beim Anstecken des Fahrzeuges wird der aktuelle Zählerstand geholt und bei jedem Update die Differenz mit _setEnergySession() übergeben. Funktioniert gut.
Edit: im Prinzip habe ich es genau so gemacht, wie in deinem SessionEnergyHandler.

Nur lesend geht leider nicht, da die Box nur im “secondary” Modus die Schnittstellen aktiviert. Dann muss sie aber auch vollständig darüber gesteuert werden.

Hier ist der PR:
https://github.com/OpenEMS/openems/pull/3058

1 Like