[FEMS] Fenecon Goodwe Modbus TCP

Hallo zusammen,

ich habe eine Fenecon-Home 10 Anlage bei mir neu installiert.
Der Wechselrichter ist über Modbus RTU mit dem FEMS verbunden, was auch funktioniert.
Nur ich möchte gerne vom Wechselrichter die Daten der PV-Strings auslesen.
Ist das über Modbus TCP direkt am Wechselrichter möglich?
Oder gibt es eine andere Möglichkeit die Daten abzugreifen?

1 Like

Bitte melde dich bei FENECON selbst.

Diesen erreichen Sie telefonisch unter: +49 9903 6280-0 oder per E-Mail unter: service@fenecon.de.

Falls du nach der API der FEMS suchst

https://docs.fenecon.de/_/de/fems/fems-app/OEM_App_Modbus_TCP.html
https://docs.fenecon.de/_/de/fems/fems-app/OEM_App_REST_JSON.html

Bitte versteht, dass das hier das OpenEMS Forum ist und nicht in direkter Verbindung mit FENECON steht.

Grüße

:laughing:
Die Fenecon Hotline hat mich an dieses Forum verwiesen

1 Like

Na dann siehe oben :slight_smile:

Die Channels müssten charger0/activePower und charger1/ActivePower sein

Aber charger0/1 hat doch keine Modbus-Adresse zum auslesen, oder mache ich einen Denkfehler?

1 Like

richtig, ich dachte in Channels für Rest Json lesend.

Hier hast du die erzeugung DC gesamt der Strings:

Vielleicht hilft das:

Das ist ein Addon für Home Assistant, was den OpenEMS Edge-Websocket in MQTT konvertiert. Wenn nötig könnte das wahrscheinlich auch für Modbus und ohne Home Assistant adaptiert werden.

Damit kann man alle Kanäle abfragen ohne ständig eine REST-Request zu senden. Der Websocket sendet die Daten jede Sekunde automatisch und das landet dann in MQTT.

Das ist doch genau wo nach ich suche.
Jetzt kommt das nächste Problem :rofl:
MQTT ist auch kein Problem, es muss kein Modbus sein.
Das Addon ist ja für Homeassistant, das habe ich nicht.
Oder gibt es den MQTT-Server als fertigen Docker?

Hmm, theoretisch läuft das in Home Assistant ja in docker.
Aber wahrscheinlich bräuchte man schon etwas Programmier-Erfahrung um es ohne Home Assistant zum laufen zu kriegen.
Letztendlich ist es nur Python Code, die größte Herausforderung wäre es wahrscheinlich, die Abfragen im Python-Code nach den Konfigurationsvariablen in Home Assistant zu ersetzen. (Also z.B. was ist die Adresse des Mqtt Brokers und des FEMS und welche Kanäle sollen abgefragt werden.)

Das Addon ist btw ein Client und kein MQTT-Server. Könnte man aber bei Bedarf wahrscheinlich aber auch anpassen.

Ich muss mal schauen wie das umsetze.
Du greifst über den Websocket direkt auf OpenFems zu.
Ich muss mal für mich versuchen das in PHP umzusetzen.

Hmm PHP läuft ja immer nur beim Aufrufen der jeweiligen URL, oder? Da könnte man dann mindestens genauso gut/besser die REST API verwenden, weil ja der Websocket sonst jedes Mal neu aufgebaut werden muss.
Die Idee beim Websocket ist eigentlich, wie bei Modbus, dass die Verbindung dauerhaft offen bleibt.

In welches System soll es denn letztendlich integriert werden?

Mit der REST API kann man auch alle Kanäle abfragen:

https://docs.fenecon.de/_/de/fems/fems-app/OEM_App_REST_JSON.html

Da ist es auch interessant zu wissen, dass man durch die Verwendung von Regex mehrere Kanäle mit einer Anfrage abfragen kann, was nicht wirklich dokumentiert ist.
Hier ist ein Beispiel dazu um alle String-Daten zu bekommen:

http://<fems-ip>:8084/rest/channel/charger.+/(ActualPower|Voltage|Current|ActualEnergy)

hatte ich ja oben eigentlich auch bereits erwähnt…

und hier:

Ich verwende Symcon zur Abfrage mit Modbus.

Ich muss mich halt mit der Websocket-Abfrage beschäftigen davon habe ich noch keine Ahnung. Es wäre halt schön gewesen die Daten der zwei Strings zu erfassen.

Soweit ich weiss, ist der Websocket aber nach aussen “geschlossen” @stefan.feilmeier hat da mal glaub ich was dazu geschrieben - sollte auch so sein, aus Garantie/Gewährleistungsgründen soweit ich weiss?

Grüße

Und wie greift dann das Addon von Home Assistant darf zu?
Oder habe ich da etwas komplett falsch verstanden?

Eine andere Möglichkeit wäre ja direkt am Wechselrichter die Daten abzugreifen.
Wenn der Wechselrichter zu lässt.

Nein, sfeilmeier war einverstanden.

1 Like

schau dir mal mein Repo dazu an, damit kannst du dich mit dem WLAN dongle des GoodWe verbinden und somit die Daten “abfangen”.

ABER per Modbus TCP kann der WR das NUR und ausschließlich über das LAN Dongle (kostet extra bei GoodWe) Modbus RTU ist dirch die FEMS belegt und kann dementsprechend nicht verwendet werden.

Hmm ich glaube am einfachsten wäre es einfach die REST-AP mit Regex zu verwenden. Da bekommt man eigentlich auch alle relevanten Werte raus, zum Beispiel auch die einzelnen String-Leistungen wenn man die entsprechenden Kanäle abfragt.

1 Like

Gibt es für die REST-AP noch eine andere Doku für die Kanäle, den in der normalen Doku von Fenecon sind die Strings ja nicht aufgeführt.