Hat jemand OpenEMS wirklich lauffähig?

Ich stelle mal diese ketzerische Frage, da ich nach etlichen Fehlversuchen, jetzt ein irgendwie scheinbar stabiles System habe, was Daten aus den Wechselrichtern und dem Smartmeter (gelegentlich) ausliest. Was OpeneEMS alleridngs mit diesen Daten macht schient irgendwie völliger Blödsinn zu sein! Wenn meine PV Anlage Strom produziert und dieser zum Großteil eingespeist wird, dann wird mir dies auf der Hauptseite korrekt angezeigt. Ich sehe, was erzeugt wird, was ich im Haus verbrauche und was in de Einspeisung geht. Meine Autarkie ist alleridngs IMMER 100% selbst wenn ich Strom aus dem Netz ziehe.
Auf der Seite mit der Historie allerding stimmt gar nichts. Da wir alles als VErbrauch angezeigt, egal, ob es nun in Netz ging oder im Haus real verbraucht wurde. Neben der Autarkie ist auch hier der Egenverbauch immer 100%. Netzbezug und Einspeisung haben im Diagramm mehrre KW werden abe runter dem Diagramm imme rmit 0KW angezeigt. Verbrauch ist gleich Erzeugung.
Mit so einer Bilanzierung der Energieflüsse kann man natürlich nicht arbeiten und ich habe die Befürchtung, dass sobald der Speicher noch dazu kommt, dann das System völligen Mist baut und mir womöglich noch den Speicher an die Wand fährt.
Was kann ich tun, außer noch ein modul für meine Hausautomatisierung zu schreiben, die mir das richtig macht. ich hatte echt gedacht OpenEMS ist schon in einem Zusatnd, in dem man damit arbeiten kann. Aktuell gibs nur nette Diagramme, die zudem noch falsch sind und Datenschnittstellen sind fehleranfällig und es gibt jede Menge Aussetzer, insbesondere beim ModbusTCP.

Hallo ThomasW69,

zu deiner “ketzerischen” Frage ob OpenEMS läuft. Ja das System läuft in unzähligen Installationen zuverlässig und stabil. OpenEMS ist derzeit leider noch nicht selbsterklärend. Es verlangt Programmierhintergrund um alles zu verstehen und auch einiges an Know-How um das System korrekt zu konfigurieren.

Deine Aussage “Datenschnittstellen sind fehleranfällig und es gibt jede Menge Aussetzer, insbesondere beim Modbus TCP” deutet für mich darauf hin, dass da noch ein größeres Problem im System ist. Vielleicht ein spezielles selbstgeschriebenes Bundle, welches das korrekte Event-Handling des Systems verhindert oder eine falsche Konfiguration. Ich halte es für unwarscheinlich, dass der Fehler im Modbus-Handling von OpenEMS oder sonst einer Core-Komponente liegt. Diese Komponenten sind sehr ausgereift.

Deine Beschreibung der Anzeige-Probleme deutet auf ein oder mehrere Probleme mit den Metern hin. Bei den unterschiedlichen Metern kommt es auf eine korrekte Implementierung und/oder Konfiguration an. Hierbei muss unterschieden werden zwischen der Live Ansicht (Anzeige von Leistungswerten in W (ActivePower,…)) und der historischen Ansicht (Anzeige von Energiewerten (…Energy in Wh)). Auch ist es wichtig welcher MeterType eingestellt ist. Ein Grid-Meter z.B. arbeitet bei der Leistung mit anderen Vorzeichen oder mit einer anderen Consumption/ProductionEnergy als ein Production- and Consumption Meter. Möglicherweise verwendest du eine Wandlermessung und die Messspulen sind falsch herum angebracht. Dann müssten die Leistungs- und Energiewerte invertiert werden. Wenn alles richtig konfiguriert ist, dann sollte deine UI so aussehen wie in den beiden nachfolgenden Screenshots.


VG Christian

1 Like

Hallo Christian,

ich hatte den post etwas ketzerisch verfasst, da ich die Probleme schon in diversen anderen Threads hier gepostet habe, aber darauf insbesondere in den letzten zwei Wochen keinerlei Reaktion erhielt. Ich will das Ganze mal hier zusammenfasen.

Ich verwende die Version 2022.8.0 und zwar die originale openems-edge.jar vom Github ohne Modufikationen meinerseits. Ich habe zwei Kostal Plenticore Wechselrichter und ein SDM630 Smartmeter am Einspeisepunkt per ModbusTCP angebunden. Mehr ist noch nicht da. Ich verwende auch keine Messwandler, da ich nicht so große Ströme habe. Die WR haben direkten ModuBusTCP implementiert. Der SDM630 ist über ein Modbus Gateway von Waveshare, welches mir den ModbusRTU des SDM630 auf ModbusTCP umsetzt. Auf dieses Gateway greift auch meine Hausautomatisierung (IPSymcon) zu und zwar ohne Lesefehler oder Aussetzer!
Anders verhält sich jedoch openEMS. Wenn der OpenEMS Rechner neu gestartet wurde, dann kommt zunächst nie eine Verbindung zu stande. IPSymcon hingegen liest wunderbar von Anfang an aus. Irgendwann so nach mehreren Minuten aber manchmal auch Stunden kommen erste valide Datenpakete und ich sehe im UI mal links eine Einspeisung oder Netzbezug aufblitzen. Mit der Zeit wird das Ganze immer stabiler und irgendwann läuft es dann. Das dachte ich zumindest. Heute zum Beispiel - System läuft seit gut 14 Tagen - kommt wieder gar fast nichts vom SDM630 bei openEMS an.
Ich hatte dann die Vermutung, dass es an meinem Netzwerk liegen könnte, was ja eigentlich nicht sein kann, da IPSymcon ja geht. Also habe ich alles direkt an meinen Router (ohne Zwischen-Hubs) angeschlossen. Das lief genauso wenig. Auch eine Echtzeitpriorisierung des OpenEMS-Rechners und des Modbus Gateways brachten keine Besserung.

Ja meine Screens sollten so aussehen wie in deinem Post. Tun sie aber nicht, selbst wenn der SDM630 mal so freundlich ist und Daten ankommen. Wie ich schon schrieb ist in der Histrorie mein Autarkiegrad immer 100% mein Eigenverbrauch immer 100%, meine Netzeinspeisung und Netzbezug immer 0 kWh und mein Verbrauch immer gleich der Erzeugung. Es ist, als ob im Hintergrung nichts rechnet. Daher fragte ich, ob ich da noch irgendwas installieren muss, damit openEMS auch was sinnvolltes tut, oder ob das nur mit einem Akku im System geht.

Ich hab mal ein kurzes Video gemacht, da man die Probleme hier deutlicher sehen kann, als au statischen Bildern, insbesondere die spontanen Datenpakete vom Zähler.
https://www.youtube.com/watch?v=65uBJ-c-7sI

EDIT:
Hier noch ein kurzes Video wo man schön sieht, wie sauber IPSymcon mit dem SDM630 über das gleiche Gateway, den gleichen Port usw. kommuniziert.
https://www.youtube.com/watch?v=TUGvEMUb_Jg

EDIT2:
Aktuell hat sich der Modbus mal wieder bemüht daten zu liefern. Was OpenEMS alleridngs damit macht ist nicht plausibel.
https://www.youtube.com/watch?v=2uxqxy_4EYo

Viele Modbus Geräte haben Probleme damit, wenn Abfragen von zwei unabhängigen Geräten gleichzeitig durchgeführt werden. Meine Vermutung wäre, dass IPSymcom die Verbindung zum Netzzähler “hochfrequenter” auf- und abbaut als OpenEMS dies tut. Damit kommt OpenEMS nur kurzzeitig mal dran . Kannst du mal bitte probieren, die Hausautomatisierung mit IPSymcom für einige Zeit vollständig zu deaktivieren. Dann sollten die Live Werte relativ schnell stimmen.
Für die Energiewerte in der Historie gilt gleiches. Wenn IPSymcom die Verbindung “übernimmt” wird die OpenEMS Modbus Verbindung vom Waveshare Gateway geschlossen. Damit werden die Modbus-Kanäle vom Gridzähler invalidiert (auf NULL gesetzt). Das kann die Anzeige der Energiewerte, der Autarkie und des Eigenverbrauchs stören. Du müsstest also am besten die IPSymcom mal einen vollen Tag, am besten zwei Tage deaktivieren.

Falls sich dein Problem damit erledigt hat, könntest du OpenEMS alle Werte abholen lassen, einen Controller API Modbus aktivieren und alle Werte im IPSymcom direkt aus OpenEMS auslesen. Dann würde jeweils nur ein Gerät auf ein anderes Modbus-Gerät zugreifen.

Die Idee hatte ich auch schon und hatte IPSymcon mal komplet abgeschaltet. Alledrings nur für etwa eine Stunde. Das hat leider am Problem nichts geändert. Normalerweise ruft IPS alle 10 Sekunden ab. Heute hatte ich das mal auf eine Sekunde eingestellt um zu sehen, ob IPSymcon dann Leseprobleme hat. Hatte es aber nicht. Zudem ist der verbaute Gateway so “intelligent”, dass er die Werte puffert. Kommt also eine Anfrage eines zweiten Gerätes auf die lgleiche Modbus ID während gerade eine Abfrage auf dem Modbus läuft, dann bekommt das zweite Gerät einfach das gleiche Datenpaket gesendet.
Ich schalte mal die IPS-Abfrage für mehr als einen Tag aus und melde mich.

Kurzer Zwischenstand nachdem ich IPSymcon komplett abgeschaltet habe.
Von gestern abend bis heute 14 Uhr hat openEMS daten vom Smartmeter bekommen. jetzt ist die Verbindung wieder unterbrochen und es kommen die üblichen Fehlermeldungen. Es liegt also nicht daran, dass sich OpenEMS mit IPSymcon in die Quere kommt.
Ich habe mir jetzt mal einen anderen Modbus Gateway bestellt um auch das auszuschließen. wenn das nichts hilft, dann liegt es definitiv an OpenEMS, we alles andere ausgetauscht wurde.

Ich hatte schon öfter das Problem, dass das Modbus-GW einen Socket nicht mehr aufgegeben hat. Wäre es vielleicht möglich, dass Syncom eine Verbindung zum GW aufgebaut - aber nicht mehr abgebaut hat? Wäre einfach zu überprüfen in dem man openEMS und IPSyncom abschaltet, das GW resettet und anschließend nur mal openEMS rennen lässt.
Bei meinen Siemens Logos zum Beispiel habe ich mehrere Modbus-Sockets über unterschiedliche Ports realisiert. Grund: Parallel läuft noch ein fhem welches ebenfalls Daten per Modbus von den Logos und auch vom openEMS abgreift.

Wie schon gepostet, habe ich für meine SDM630 (6 Stück) Protoss PE11 (2 Stück) im Einsatz. Sporadisch (alle 4 Wochen) steigt das PE11 (verknüpft mit 5 SDM630, WR) komplett aus. Es ist dann auch nicht mehr per Web erreichbar. Nur ein Reset belebt es wieder. Also auch nicht der Weisheit letzter Schluss…
Wie ebenfalls gepostet, kann ich Deinen Frust verstehen. Bis das System (selbst kompiliert) bei mir lief ging viel Wasser den Rhein runter. Aber jetzt will ich es nicht missen: dynamische Steuerung von Wallbox, Wärmepumpe wäre ohne openEMS schwierig bis unmöglich.
Das History-Fenster nutze ich allerdings kaum. Hier rockt ein Grafana, welches direkt auf die InfluxDB zugreift dann doch mehr…

Gruß,
Klinki

Hallo klinki,
ich hatte IPSymcon schon auer Betrieb gesetzt und das Problem bestand weiterhin. Ich denke aber ich habe enie Lösung gefunden.
Offensichtlich hatte der alte Gateway aus mir nicht erklärlichen Gtünden ein Problem mit Openems, aber nicht mit IPSymcon.
Ich habe daher einfach einen andern Gateway im Einsatz und der läuft stabil. Der passt zwar jetzt nicht mehr auf die Hutschiene, aber er hängt neben dem Kasten.

Kann viele Ursachen haben. Timing-Probleme hatte ich schon öfter - gerade bei höheren Baud-Raten auf der Modbus-Seite.
Gateways mit Adress-Mapping habe ich noch nie zum Laufen gekriegt.

Die Suche nach dem “heiligen” Gateway geht also weiter :wink:
Welches nutzt Du denn?

Ich mache mal einen eigenen Thread dazu auf…

Welche Gateway ich jetzt nutze? Das schrieb ich im vorherigen Post. Da ist ein Link zum “anderen Gateway” drin.

auf dem Tablet nicht gesehen, dass da ein Link hinter war…

Du hast es zum Laufen bekommen? Super! Ich hatte mal den Vorgänger zum Test - allerdings in einem anderen Projekt. War eine Katastrophe…

Es wäre super wenn Du irgendwann einen Satz zur Langzeitstabilität posten könntest.

Gruß,
klinki