Anbindung von OpenEMS Backend an externe Applikation

Hallo zusammen,

wir würden gerne OpenEMS nutzen um eine bidirektionale Ladesäule anzubinden und anzusteuern. Für das Scheduling des (Ent-)Ladevorgangs würden wir gerne unser eigenes Backend, das Energy Management Panel (EMP, GitHub - fzi-forschungszentrum-informatik/energy_management_panel: Grundlegende Funktionen zur Entwicklung von webbasierten User Interfaces zur Interaktion zwischen Menschen und einem Gebäudeenergiemanagementsystem), verwenden. Hierzu müsste das OpenEMS Backend Daten an das EMP schicken und Befehle vom EMP, jeweils im JSON-Format, entgegennehmen können. Gibt es hierzu evtl. bereits implementierte Klassen in OpenEMS? Falls nicht, gibt es vllt. einen guten Startpunkt, z. B. bereits vorhandene ähnliche Klassen, die entsprechend angepasst werden könnten, um eine solche Funktionalität zu implementieren?

Falls mehr Infos benötigt werden, um die Frage zu beantworten, liefere ich diese natürlich gerne nach, sofern möglich.

Vielen Dank vorab!

Viele Grüße
Mischa

Hallo Mischa,

schau doch mal auf GitHub, ob du da Klassen findest, welche dir zusagen :slight_smile:
Andere als dort gibt es nicht :slight_smile:
Grüße

Hallo Mischa,

spannend! Mit bidirektionalen Ladesäulen lässt sich einiges machen… :slight_smile:

Generell empfehle ich am Anfang immer, sich möglichst nah am OpenEMS-Stack zu halten, d.h. ich würde die Funktion mit OpenEMS UI umsetzen - einfach, weil man sich dann um vieles nicht kümmern muss (z. B. wie sende ich einen JSON-RPC-Request via Websocket an OpenEMS Edge - vielleicht sogar geroutet über OpenEMS Backend).

All das kann man natürlich aber auch ‘manuell’ machen. Im Backend gibt es dafür die Schnittstellen:

Wenn du noch etwas mehr sagen kannst, was ihr genau erreichen wollt, kann ich vielleicht noch detailliertere Infos geben.

Viele Grüße,
Stefan

Hallo Sno0w3y, hallo Stefan,

vielen Dank für die schnelle Rückmeldung und die Tipps!

@stefan.feilmeier:

Die Funktion mit OpenEMS UI umzusetzen würde bedeuten, gänzlich auf weitere Software wie das EMP zu verzichten und nur OpenEMS UI und OpenEMS Edge (+ggf. Backend) zu nutzen, oder?

Da wir bereits unsere eigenen Services für die Lastprognose unseres Gebäudes, die Erzeugungsprognose unserer PV-Anlage, und einen Ladeoptimierer für Elektrofahrzeuge entwickelt haben und betreiben, führt für uns voraussichtlich kein Weg an einer externen Kommunikation mit OpenEMS Edge oder Backend vorbei. Außerdem möchten wir Daten aus dem Fahrzeug bzw. von der/dem Fahrer*in (SoC, geplante Abfahrtszeit) über das Robot Operation System (ROS 2.0) beziehen.
Daher schaue ich mir die Backend-to-Backend-APIs jetzt mal genauer an, vielen Dank für den Hinweis!

Zu dem was wir genau geplant haben: Wir möchten gerne einen Demonstrator aufbauen, der den (Ent-)Ladevorgang eines Elektrofahrzeugs entsprechend variabler Stromtarife, variabler Einspeisvergütung, Lastprognosen für unser Bürogebäude und Erzeugungsprognosen
für unsere PV-Anlage vorab optimiert und dann entsprechend umsetzt. Hier noch ein Schaubild, wie wir uns den Aufbau vorgestellt haben, wahrscheinlich ist das aufschlussreicher als eine rein schriftliche Beschreibung: Schaubild Demonstrator bidirektionales Laden ver2.pdf | DocDroid

Als potentielle Ladesäulen haben wir mehrere im Blick, z.B. die sospeso&charge bidirektional von EVTEC.

Viele Grüße
Mischa