Fehlende Websocket Verbindung nach "Getting Started"

Hallo zusammen,

ich habe mir OpenEMS Edge, Backend und UI vom Release 2026.8.0 heruntergeladen und gemäß Getting Started :: Open Energy Management System versucht auf einem RPi in Betrieb zu nehmen. Nach ein paar kleinen Anpassungen bei den OpenEMS config Pfaden, laufen Edge und Backend jetzt zumindest und ich kann mittels Apache Felix auch auf die Config zugreifen. Die Ports habe ich alle gemäß Anleitung eröffnet:

  • Edge.Manager 8081
  • Ui.Websocket 8082
  • Controller Api Backend ws://localhost:8081
  • Controller Api Websocket 8085

Ich bekomme gefühlt aber keinerlei Websocket Verbindung hergestellt. Bei der Firewall habe ich all diese Ports geöffnet. Hier die 3 konkreten Probleme, die ich beobachte:

  • Im Log des Backends sehe ich:
    • WARN [Edge.Manager] Error during OnOpen of EdgeManager.WsData [0]
    • INFO [Edge.Manager] Backend.Edge.Client [null] disconnected
  • Im Log des Edges sehe ich:
    • ERROR Disconnected from OpenEMS Backend [ws://localhost:8081]:
    • INFO [ctrlBackend0] Websocket [ws://localhost:8081] closed. Code [1006] Reason []
    • image
  • nginx habe ich minimal nach Beispiel für Port 4200 aufgesetzt ohne Reverse Proxy oder gesonderten Einträgen für websockets. In der UI sehe ich im Browser Debug lediglich, dass auf Port 8075 nichts ankommt. D.h. für mich, dass die UI weiterhin versucht die edge-prod.ts zu nutzen, obwohl sie eigentlich die backend-prod.ts auf Port 8082 nutzen sollte. Das Browserfenster zeigt keinen Login sondern lediglich ein paar HTML Header

Sind diese Fehlermeldungen jmd hier bekannt? Liegt es an fehlenden Rechten des ausführenden Users? Nach meinem Verständnis sollten die Websocket Ports von keiner Firewall blockiert werden und auch nginx sollte mit den Websocket Ports nichts machen.

Vielen Dank vorab für jede Hilfe und jeden Tipp!

Benötigst du wirklich ein Backend?

  • Edge: Enthält die eigentliche EMS Logik, wird normalerweiße auf einem Raspberry installiert. Unterstützt eine lokale Timescale Datenbank und eine lokale UI
  • Backend: Dienst, der die Daten der verbundenen Edge Systeme sammelt und selbst in eine Timescale Datenbank einfügt. Untersützt ebenfalls UI, aber mit einem Benutzer- und Rechtesystem

Normalerweiße sollte es reichen, einfach nur Edge zu starten und in der Apache Felix Konfiguration vom Edge den Websocket für die UI zu starten.

Die UI muss dann natürlich auch Zugriff auf diesen Websocket Port haben.

Wenn du wirklich ein Backend betreiben willst, braucht du zwischen Edge und Backend eine weitere Software: Den BackendEdge. Die Edge-Systeme verbinden sich zu BackendEdge und dieser wiederrum zu Backend. Eine direkte Verbindung wird nicht mehr unterstützt.

Danke für die schnelle Antwort @Howaner !

Seit welchem Release benötigt man denn die BackendEdge Komponente und warum ist sie nicht Teil der neuen Releases?

Was genau meinst du mit “die UI benötigt Zugriff auf die Websocket Ports”? Wie stellt man das denn sicher?

Edge und Backend werden ja mittels Apache Felix konfiguriert, aber wie gelangt diese Info zur UI? Woher weiß die UI auf welchen Ports sie horchen soll?

Danke & Grüße