Fronius, BYD, Tecalor, Mennekes : Startschwierigkeiten

Hallo zusammen, ein frohes Neues Jahr!

Ich geb’s zu - mit ChatGPT habe ich es geschafft OpenEMS im Docker Container zum laufen zu bringen :wink: Das war für einen Laien für mich anspruchsvoll, aber es hat ja geklappt :smiley:

Leider scheitere ich nun an der Einbindung meiner Geräte :frowning:

Das Setup besteht aus:

  • Fronius Symo GEN24 12.0, Fronius Symo GEN24 10.0
  • BYD Battery-Box Premium HVM 19,3
  • Mennekes AMTRON® Charge Control 11 Bestellnr.1349401
  • Tecalor TTF 8.6 mit ISG Web Modul

Ein “nc -vz 502” liefert als Ergebnis: “Connection to port 502 [tcp/asa-appl-proto] succeeded!”

Ich habe in OpenEMS eine Modbus/TCP Bridge angelegt sowie einen “PV-Inverter Fronius” der auf die ModbusID verweist.

Die Logs sind grün:

3.1.2026, 14:38:28 INFOio.openems.edge.controller.debuglog.ControllerDebugLogImpl[ctrlDebugLog0] _sum[State:Ok] modbus0[CycleDelay:920 ms] pvInverter0[L:UNDEFINED]

3.1.2026, 14:38:28 INFOio.openems.edge.bridge.modbus.api.task.AbstractTaskExecute FC3ReadHoldingRegisters [pvInverter0;unitid=1;priority=LOW;ref=40004/0x9c44;length=66]

Mein Ziel ist erstmal die Einbindung der PV Anlage und dem Speicher als Monitoring. Langfristig möchte ich die Wärmepumpe natürlich auch steuern - aber ich robbe mich gerne langsam ran.

Ist das eine zu Basic Frage und falsch für das Forum? Mein Ziel dass auch andere von den Suchergebnissen und der möglichen Hilfe profitieren.

Viele Grüße (:

Du kannst einerseits im UI als Admin in den Einstellungen unter Channels die Komponente auswählen und diverse Kanäle hinzufügen um deren Werte zu sehen. Andererseits kannst du das Gerät direkt via GitHub - gavinying/modpoll: A New Command-line Tool for Modbus and MQTT oä. abfragen um die Werte auszulesen. Evtl. hilft dir das weiter.

Bei uns liefern zwei Fronius Symo 10.0-3-M und ein Symo Advanced 10.0-3-M Daten ins OpenEMS. Modbus Unit-ID ist 1 (glaube Standard).

Hoffe das hilft!

1 Like

Hi @sjjh , danke für deine Antwort und Ansatz zur Hilfe. Leider komme ich nicht weiter :frowning:

Ich habe mbpoll installiert und bekomme bei verschiedensten Anfragen entsprechende Werte zurück - nur eben leider nicht in der UI von OpenEMS angezeigt.

Anbei die konfigurierten Channel:

Was kann ich noch machen?

Anbei die noch erweiterten Logs vom modbus/TCP:

4.1.2026, 20:09:26 INFOio.openems.edge.controller.debuglog.ControllerDebugLogImpl[ctrlDebugLog0] _sum[State:Ok] modbus0[CycleDelay:904 ms] pvInverter0[L:UNDEFINED]

4.1.2026, 20:09:26 INFOio.openems.edge.bridge.modbus.api.task.AbstractTaskExecute FC3ReadHoldingRegisters [pvInverter0;unitid=1;priority=LOW;ref=40004/0x9c44;length=66;response=4672 6f6e 6975 7300 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5379 6d6f 2047 454e 3234 2031 302e 3000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 312e 3339 2e35 2d31 0000 0000 0000 0000 3335 3037 3731 3436 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0067]

Hier ist (bei Dunkelheit) der Kanal ActiveConsumptionEnergy auch 0 und die Kanäle L1 & L2 sind auch leer. Schau mal den Kanal ActiveProductionEnergy an, dort sollte sich die Summe der Erzeugung finden, eine Zahl ungleich 0.

Ansonsten, ich vermute, du hast noch mal doppelt geprüft, dass die Verknüpfung zwischen ModbusBridge und pvInverter stimmt.
Die WR bei uns sind ja etwas andere Modelle, so wie ich das verstehe. Du könntest evtl. noch schauen ob die Modbusregister in denen du via modpoll Daten bekommst die selben sind wie in der OpenEMS-Komponente – oder ob die verschiedenen WR verschiedene Register nutzen und die OpenEMS-Komponente somit mit deinem Modell gar nicht kompatibel ist. Ich kenne mich jedoch zu wenig mit der WR-Welt aus, als dass ich wüsste ob das erfolgversprechend ist, oder das Problem vermutlich an ganz anderer Stelle liegt.

Bei mir sehe ich im Log: ... modbus0[CycleDelay:0 ms] modbus1[CycleDelay:354 ms] modbus2[CycleDelay:0 ms] pvInverter0[L:0 W] pvInverter1[L:0 W] pvInverter2[|L:0 W] ...

Mehr weiß ich leider auch nicht, da müssten dann andere noch mal helfen.

Zeig mal , wie die Komponenten definiert sind.

Sind alle IDs eindeutig?

Hängen beide Fronius am selben DataManager?

Danke @sjjh und @s_h

Mich irritiert in meinen Logs, dass L:UNDEFINED

Ich möchte das bewusst iterativ einbauen, daher habe ich zunächst nur einen Wechselrichter integriert.

@s_h was meinst du mit dem DataManager? Ich habe den Zähler (PvInverter0) und die Geräte-Schnittstelle (modbus0) erstellt.

Anbei meine Konfigurationen:

Der sitzt im Fronius. Ohne ihn gibt es keine Kommunikation. Sind die zwei Symo miteinander verbunden, oder hat jeder sein eigenes Netzwerkkabel?

Ich würde das nicht hier machen, sondern in der Konsole, denn dort kann man auch die Geräte-IDs sehen und einstellen:

http://ip_address:8080/system/console/configMgr

Schau mal dort oder im Anlagenprofil, ob die Modbus-Bridge wirklich die ID modbus0 hat.

Danke @s_h für deine weiteren Impulse. Ich hoffe wir finden einen Weg - noch hat’s nicht geklappt. Was habe ich herausgefunden / getan:

Die haben beide eine eigene IP, wie die miteinander verbunden sind muss ich später nachschauen. Ich bin derzeit im Büro :wink:

Ich habe aber gerade über die Fronius Oberfläche vom WR festgestellt, dass der 12er wohl als “Primär WR” angelegt ist (?). Wenn ich die Fronius Web Oberfläche aufrufe, werden mir beim 12er die Batterie etc. angezeigt:

Beim 10er hingegen nicht:

Ich habe darauf hin wie von dir vorgeschlagen die Konsole aufgerufen und die Bridge und den Inverser neu angelegt:

Leider bleibt die UI in OpenEMS weiterhin leer. :frowning:

Hast du es schon mal mit dem 12er probiert?

Ist das Bild vom Solarweb Portal oder von der lokalen Web-Oberfläche?

Die meiner Symos sieht nämlich etwas anders aus. Dort gibt es im Service-Bereich den Punkt “Modbus”mit diesen Einstellungen:

@s_h Ja, auch mit dem 12er. Leider unverändert.

Das Bild ist von der lokalen Oberfläche direkt vom Fronius (nicht aus dem Solarweb). Das hat scheinbar eine UI Update bekommen :wink:

Das waren die Einstellungen:

Leider bringt die Sunspec Model Type Umstellung auf float und die Zähleradresse Offset auf 101 auch keinen Erfolg :frowning: