NEWS
Modbus & Fronius GEN24
-
Lösung / Anleitung
Hier findet ihr die Modbus-Register für einen GEN24 mit Smartmeter am Übergabepunkt in Form einer TSV-Datei, die direkt im Modbus-Adapter von ioBroker importiert werden kann.
Mittlerweile (29. Okt. 2023) gibt es im photovoltaikforum einen zweiteiligen Beitrag über den GEN24 und seine Modbus-Register. Die mehrere hundert Register umfassende Modbus-Dokumentation von Fronius wird dort Bereich für Bereich besprochen und liefert auf diese Weise einen guten Überblick.
verwendete Dokumentationen von Fronius ..
Von den nachfolgend aufgeführten Dokumenten wurden zur Erstellung dieser Anleitung lediglich das zweite, vierte und sechste Dokument verwendet.
- Bedienungsanleitung Datamanager Modbus
- Bedienungsanleitung Modbus GEN24
- Smart Meter Register Map Float
- Smart Meter Register Map Int&SF
- Gen24 Primo/Symo Inverter Register Map Float storage
- Gen24 Primo/Symo Inverter Register Map Int&SF_storage
- Gen24 Primo/Symo Inverter Register Map Float
- Gen24 Primo/Symo Inverter Register Map Int&SF
Hier findet ihr meine hiermit erstellte TSV-Datei GEN24 Int&SK, die ihr direkt in den Modbus-Adapter importieren könnt.
Vorbereitung des Wechselrichters GEN24

- Der GEN24 soll im Modus TCP als Slave [1] auf dem Modbus arbeiten.
- Der hier eingestellte Port [2] muss im Modbus-Adapter des ioBroker übernommen werden.
- Die Zähleradresse (Smartmeter) muss als Slave-ID im Modbus-Adapter des ioBroker übernommen werden. Die Slave-ID des GEN24 ist fest auf 1 gesetzt und kann nicht geändert werden.
- Damit der GEN24 überhaupt über den Modbus erreichbar ist, muss die Option [5] aktiviert sein. Diese Einstellung ist übrigens auch erforderlich, will man den Fronius-Adapter des ioBroker verwenden.
- In [4] wählt man, welche Datenformate (SunSpec Model) der Modbus liefern soll. Es stehen float und Int&SF zur Verfügung. Leider sind auch bei Auswahl der ersten Option zuweilen (dynamische) Skalierungsfaktoren vorhanden, sodass die Wahl von Int&SF kein Nachteil ist. ACHTUNG! Die Skalierungsfaktoren sind dynamisch, können sich also bei einem Update ändern.
Installation/Konfiguration des Modbus-Adapters

- Nachdem man den Adapter installiert hat, öffnet man mit einem Klick auf den Schraubenschlüssel [1] die Ansicht mit den Konfigurationregistern Allgemein, diskrete Eingänge, diskrete Ausgänge, Eingangsregister, Holding-Register. Zunächst gilt es im Register Allgemein [2] die Verbindungsparameter zu konfigurieren.
- Da es hier um Modbus über Netzwerk/LAN geht, ist in [3] TCP auszuwählen.
- In [4] trägt man die (lokale) IP-Adresse des Wechselrichters ein.
- Der Port [5] muss derselbe sein, wie er in den Einstellungen des GEN24 konfiguriert wurde.
- Will man Smartmeter und den Wechselrichter zusammen mit diesem Adapter betreiben, muss die Option mehrere Geräte-IDs in [6] aktiviert werden. Ansonsten trägt man hier eine 1 für den Wechselrichter und die gewählte Einstellung aus Zähleradresse (siehe Konfiguration des Wechselrichters) für das Smartmeter ein. Ansonsten trägt man die gewünschte Slave-ID des Gerätes beim Editieren der Register in der zugehörigen Spalte ein.
- Da der GEN24 (siehe oben) als Slave am Modbus arbeitet, muss der Modbus-Adapter [7] als Master fungieren.
- Hier in [8] wird die Umrechnung der Registeradressen, die zum GEN24 gesandt werden, festgelegt. Man kann problemlos alle Option deaktiviert lassen. Aktiviert man die Option Aliases benutzen, so muss auch die nachfolgende Option aktiviert werden. Beides funktioniert. VORSICHT: Der Modbus-Adapter im ioBroker korrigiert die an den GEN24 gesandten Werte der Register; daher muss von der in der Fronius-Dokumentation angegebenen Registeradresse (siehe unten) stets 1 abgezogen werden.
Einrichten der Modbus-Register

Dieser Ausschnitt zeigt die Konfiguration eines Smartmeters, das über die Slave-ID = 200 referenziert wird. Die Datentypen gilt es korrekt zu identifizieren und im Modbus-Adapter geeignet einzutragen. Die Registerlänge wird automatisch berechnet, lediglich bei Strings ist sie gemäß den Vorgaben einzutragen. Skalierungsfaktoren werden als Exponenten zur Basis 10 angegeben. Hiermit ergibt sich der korrekte Wert eines Registers als Produkt aus dem Registerinhalt multipliziert mit der entsprechenden Potenz mit der Basis 10. Beispiel: Wert im Register = 23 V und Skalierungsfaktor sunssf=2, der richtige Wert ist also 23 x 10² V = 2300 V. Die sunssf Werte können auch negativ sein.Nach ausführlichen Tests glaube ich die Datentypen korrekt gewählt zu haben. Folgende Zuordnungen gelten für den Fronius und seine Komponenten ..
- uint16 ➡︎ Unsigned 16 bit (Big Endian)
- uint32 ➡︎ Unsigned 32 bit (Big Endian)
- string ➡︎ String (Zero-end)
- int16 ➡︎ Signed 16 bit (Big Endian)
- enum16 ➡︎ Unsigned 16 bit (Big Endian) [Bitte noch testen!]
- bitfield32 ➡︎ Unsigned 32 bit (Big Endian) [Bitte noch testen!]
- sunssf ➡︎ Signed 16 bit (Big Endian) Format für SunSpecScaleFactor : Entspricht dem Exponent zur Basis 10
- acc32 ➡︎ Unsigned 32 bit (Big Endian)

[zurück]
@legro sagte in Modbus & Fronius GEN24:
Lösung / Anleitung
Hier findet ihr die Modbus-Register für einen GEN24 mit Smartmeter am Übergabepunkt in Form einer TSV-Datei, die direkt im Modbus-Adapter von ioBroker importiert werden kann.Wie kann man die TSV-Datei im Adapter importieren -finde leider keine Möglichkeit ??
Fronius Symo Gen24 10
Modbus-Adapter v6.1.0 -
@legro sagte in Modbus & Fronius GEN24:
Lösung / Anleitung
Hier findet ihr die Modbus-Register für einen GEN24 mit Smartmeter am Übergabepunkt in Form einer TSV-Datei, die direkt im Modbus-Adapter von ioBroker importiert werden kann.Wie kann man die TSV-Datei im Adapter importieren -finde leider keine Möglichkeit ??
Fronius Symo Gen24 10
Modbus-Adapter v6.1.0 -
@legro ich bin neu im Forum und finde eure Anleitung super. Eine Frage hat jemand von euch schon die Fronius TSVs hier auch abgelegt, bzw. kennt ihr diese Seite:
https://github.com/ioBroker/modbus-templates/tree/main -
@legro ich bin neu im Forum und finde eure Anleitung super. Eine Frage hat jemand von euch schon die Fronius TSVs hier auch abgelegt, bzw. kennt ihr diese Seite:
https://github.com/ioBroker/modbus-templates/tree/main@astrometeo84 sagte in Modbus & Fronius GEN24:
@legro .. hat jemand von euch schon die Fronius TSVs hier auch abgelegt, bzw. kennt ihr diese Seite:
https://github.com/ioBroker/modbus-templates/tree/mainMeine TSV Datei hatte ich dort zum Bereitstellen hochgeladen. Scheinbar pflegt niemand diese Seite.
Daher habe ich hier im Thread meine TSV Datei bereitgestestellt. Ich habe die sog. Int&SK Version erstellt - d.h. es werden Integer mit Skalierungsfaktoren verwendet. Selbst in der sog. Float Version sind anscheinend Skalierungsfaktoren enthalten.
-
Ich habe hier ein problem dass ganz andere Werte gelesen werden als erwartet und würde euch gerne um euren Rat ersuchen.
Im iOBroker verwende ich den ModBus Adapter Vers:6.1.0
Unter Allgemeines habe ich folgende Einstellungen:

Im Holding Register folgende:

Beim Gen24 folgende:

Ich gehe davon aus dass das angeschlossene Smartmeter als Adresse 001 hat.
Die ausgelesenen Werte stimmen aber nicht:

Was kann falsch sein ?
-
@astrometeo84 sagte in Modbus & Fronius GEN24:
@legro .. hat jemand von euch schon die Fronius TSVs hier auch abgelegt, bzw. kennt ihr diese Seite:
https://github.com/ioBroker/modbus-templates/tree/mainMeine TSV Datei hatte ich dort zum Bereitstellen hochgeladen. Scheinbar pflegt niemand diese Seite.
Daher habe ich hier im Thread meine TSV Datei bereitgestestellt. Ich habe die sog. Int&SK Version erstellt - d.h. es werden Integer mit Skalierungsfaktoren verwendet. Selbst in der sog. Float Version sind anscheinend Skalierungsfaktoren enthalten.
@legro said in Modbus & Fronius GEN24:
@astrometeo84 sagte in Modbus & Fronius GEN24:
@legro .. hat jemand von euch schon die Fronius TSVs hier auch abgelegt, bzw. kennt ihr diese Seite:
https://github.com/ioBroker/modbus-templates/tree/mainMeine TSV Datei hatte ich dort zum Bereitstellen hochgeladen. Scheinbar pflegt niemand diese Seite.
Daher habe ich hier im Thread meine TSV Datei bereitgestestellt. Ich habe die sog. Int&SK Version erstellt - d.h. es werden Integer mit Skalierungsfaktoren verwendet. Selbst in der sog. Float Version sind anscheinend Skalierungsfaktoren enthalten.
Ich sehe zur Zeit keinen offenen PR.
-
Ich habe hier ein problem dass ganz andere Werte gelesen werden als erwartet und würde euch gerne um euren Rat ersuchen.
Im iOBroker verwende ich den ModBus Adapter Vers:6.1.0
Unter Allgemeines habe ich folgende Einstellungen:

Im Holding Register folgende:

Beim Gen24 folgende:

Ich gehe davon aus dass das angeschlossene Smartmeter als Adresse 001 hat.
Die ausgelesenen Werte stimmen aber nicht:

Was kann falsch sein ?
@maunty said in Modbus & Fronius GEN24:
Ich habe hier ein problem dass ganz andere Werte gelesen werden als erwartet und würde euch gerne um euren Rat ersuchen.
Im iOBroker verwende ich den ModBus Adapter Vers:6.1.0
Unter Allgemeines habe ich folgende Einstellungen:

Im Holding Register folgende:

Beim Gen24 folgende:

Ich gehe davon aus dass das angeschlossene Smartmeter als Adresse 001 hat.
Die ausgelesenen Werte stimmen aber nicht:

Was kann falsch sein ?
Habe vergessen den offset von -2 zu berücksichten. Jetzt funkts.
-
@maunty said in Modbus & Fronius GEN24:
Ich habe hier ein problem dass ganz andere Werte gelesen werden als erwartet und würde euch gerne um euren Rat ersuchen.
Im iOBroker verwende ich den ModBus Adapter Vers:6.1.0
Unter Allgemeines habe ich folgende Einstellungen:

Im Holding Register folgende:

Beim Gen24 folgende:

Ich gehe davon aus dass das angeschlossene Smartmeter als Adresse 001 hat.
Die ausgelesenen Werte stimmen aber nicht:

Was kann falsch sein ?
Habe vergessen den offset von -2 zu berücksichten. Jetzt funkts.
@legro
Gibt es eine Adresse die mir die heutige Energie (kWh) die in den Speicher geflossen bzw entnommen wurde liefert bzw. total Werte wurden auch gehen?
Falls nicht wie macht ihr das, raus zu finden wie viel Energie pro Tag von der PV oder dem Speicher kamen? -
@legro
Gibt es eine Adresse die mir die heutige Energie (kWh) die in den Speicher geflossen bzw entnommen wurde liefert bzw. total Werte wurden auch gehen?
Falls nicht wie macht ihr das, raus zu finden wie viel Energie pro Tag von der PV oder dem Speicher kamen?Batterieladung Gesamt:

Entladung Gesamt

Ich speichere die Werte in eine SQL Datenbank und ermittle über eine Abfrage die Tageswerte.
-
Hallo zusammen,
ich bin dabei meinen GEN24 mit ioBroker auszulesen.
Den Modbus Typ ist auf float eingestellt, nun bekomme ich den Gesamtertrag nicht richtig angezeigt.
Hier der Auszug aus der Datei "Gen24_Primo_Symo_Inverter_Register_Map_Int&SF":

Hier die Einstellung im ioBroker:

Hier der angezeigte Wert:

In der Fronius App wird eine gesamt erzeugte Energie von 942kWh angezeigt.Kann jemand sagen warum der richtige Wert nicht angezeigt wird?
Gruß
Alexander -
Hallo zusammen,
ich bin dabei meinen GEN24 mit ioBroker auszulesen.
Den Modbus Typ ist auf float eingestellt, nun bekomme ich den Gesamtertrag nicht richtig angezeigt.
Hier der Auszug aus der Datei "Gen24_Primo_Symo_Inverter_Register_Map_Int&SF":

Hier die Einstellung im ioBroker:

Hier der angezeigte Wert:

In der Fronius App wird eine gesamt erzeugte Energie von 942kWh angezeigt.Kann jemand sagen warum der richtige Wert nicht angezeigt wird?
Gruß
Alexander -
Hallo zusammen,
ich bin dabei meinen GEN24 mit ioBroker auszulesen.
Den Modbus Typ ist auf float eingestellt, nun bekomme ich den Gesamtertrag nicht richtig angezeigt.
Hier der Auszug aus der Datei "Gen24_Primo_Symo_Inverter_Register_Map_Int&SF":

Hier die Einstellung im ioBroker:

Hier der angezeigte Wert:

In der Fronius App wird eine gesamt erzeugte Energie von 942kWh angezeigt.Kann jemand sagen warum der richtige Wert nicht angezeigt wird?
Gruß
AlexanderDu schreibst einmal FLOAT und dann INT&SF
Das wird nicht zusammenpassen.
Gesamtleistung INT&SF
modbus.0.holdingRegisters.1.40186_ActWh -> Lifetime AC Leistung
modbus.0.holdingRegisters.1.40275_module/1/DCWH -> Lifetime DC MPPT1
modbus.0.holdingRegisters.1.40295_module/2/DCWH -> Lifetime DC MPPT1Wenn den angezeigten Wert der APP haben möchtest musst du diese beiden Werte zusammenzählen
-
@legro
Gibt es eine Adresse die mir die heutige Energie (kWh) die in den Speicher geflossen bzw entnommen wurde liefert bzw. total Werte wurden auch gehen?
Falls nicht wie macht ihr das, raus zu finden wie viel Energie pro Tag von der PV oder dem Speicher kamen?@scrounger sagte in Modbus & Fronius GEN24:
.. wie macht ihr das, raus zu finden wie viel Energie pro Tag von der PV oder dem Speicher kamen?
Nach einer Diskussion im Photovoltaik-Forum über schlechte Wirkungsgrade bei SMA & Co.habe ich nach einer Lösung gesucht, die mir unabhängig von (ggf. geschönten) Werten des jeweiligen Herstellers valide Daten liefert. Mein Vorgehen, kannst du hier nachlesen. Zwar liefert mein Vorgehen keine tagesgenauen Werte, dafür aber Angaben, welche die tatsächlichen Einsparungen liefern.
Üblicherweise scheint kein Hersteller gewillt zu sein, es uns einfach zu machen, die Wandlungsverluste erfassen zu lassen. Nach mehr als einem Jahr Erfahrung und Vergleich der Daten, die Fronius liefert und meinen, die alle Wandlungsverluste beihaltet, kann ich wohl ein erstes, valides Fazit ziehen:
Die Werte von Fronius sind etwas mehr als 10% zu schön geraten.:lying_face:
-
Du schreibst einmal FLOAT und dann INT&SF
Das wird nicht zusammenpassen.
Gesamtleistung INT&SF
modbus.0.holdingRegisters.1.40186_ActWh -> Lifetime AC Leistung
modbus.0.holdingRegisters.1.40275_module/1/DCWH -> Lifetime DC MPPT1
modbus.0.holdingRegisters.1.40295_module/2/DCWH -> Lifetime DC MPPT1Wenn den angezeigten Wert der APP haben möchtest musst du diese beiden Werte zusammenzählen
@ste_glei said in Modbus & Fronius GEN24:
Du schreibst einmal FLOAT und dann INT&SF
Sorry, ich meinte "Gen24_Primo_Symo_Inverter_Register_Map_Float.xlsx"
Die INT&SF hatte ich zufällig auch auf, und hatte mich vertan.
Deshalb ist es bei mir das Register:

das hier ist das selbe Ergebniss:



Ergeniss sieht so aus:


und in der Handyapp so:

@legro said in Modbus & Fronius GEN24:
Die Werte von Fronius sind etwas mehr als 10% zu schön geraten
Das sind sogar mehr als 10%.
@ste_glei said in Modbus & Fronius GEN24:
modbus.0.holdingRegisters.1.40275_module/1/DCWH -> Lifetime DC MPPT1
modbus.0.holdingRegisters.1.40295_module/2/DCWH -> Lifetime DC MPPT1Bei FLOAT wären das diese:



Ergebniss:

@ste_glei said in Modbus & Fronius GEN24:
Wenn den angezeigten Wert der APP haben möchtest musst du diese beiden Werte zusammenzählen
Das stimmt bei mir auch nicht, oder habe ich das falsch verstanden?
-
@ste_glei said in Modbus & Fronius GEN24:
Du schreibst einmal FLOAT und dann INT&SF
Sorry, ich meinte "Gen24_Primo_Symo_Inverter_Register_Map_Float.xlsx"
Die INT&SF hatte ich zufällig auch auf, und hatte mich vertan.
Deshalb ist es bei mir das Register:

das hier ist das selbe Ergebniss:



Ergeniss sieht so aus:


und in der Handyapp so:

@legro said in Modbus & Fronius GEN24:
Die Werte von Fronius sind etwas mehr als 10% zu schön geraten
Das sind sogar mehr als 10%.
@ste_glei said in Modbus & Fronius GEN24:
modbus.0.holdingRegisters.1.40275_module/1/DCWH -> Lifetime DC MPPT1
modbus.0.holdingRegisters.1.40295_module/2/DCWH -> Lifetime DC MPPT1Bei FLOAT wären das diese:



Ergebniss:

@ste_glei said in Modbus & Fronius GEN24:
Wenn den angezeigten Wert der APP haben möchtest musst du diese beiden Werte zusammenzählen
Das stimmt bei mir auch nicht, oder habe ich das falsch verstanden?
-
Das stimmt bei mir auch nicht
Da kann ich auch nicht weiterhelfen.
Wie gesagt ich nutze INT&SF und bei mir sind die Werte indent.Solarweb:

Modbus:

ergibt zusammen

@ste_glei said in Modbus & Fronius GEN24:
Wie gesagt ich nutze INT&SF und bei mir sind die Werte indent.
Habe garde auf INT&SF umgestellt, die Werte sind die gleichen:


Kann es sein das irgendwas falsch eingestellt ist?
Wo liegt denn der Vor- oder Nachteil zu FLOAT und INT&SF?
-
@ste_glei said in Modbus & Fronius GEN24:
Wie gesagt ich nutze INT&SF und bei mir sind die Werte indent.
Habe garde auf INT&SF umgestellt, die Werte sind die gleichen:


Kann es sein das irgendwas falsch eingestellt ist?
Wo liegt denn der Vor- oder Nachteil zu FLOAT und INT&SF?
@legro
Vielen Dank für die Info.
Seit paar Tagen is der Gen24 WR bei mir jetzt am werkeln und ohne die ganzen Infos von Dir hätte ich sicher wesentlich länger gebraucht. Akutell bin ich auch dran die ganzen Werte zu interpretieren, vor allem die Energiezähler.
Zum Glück hat mein Nachbar exakt die gleiche Anlage auf dem Dach mit meinem alten SMA WR. Somit kann ich das sehr gut vergleichen. Werde demnächst meine Erkenntnisse teilen, sobald ich mehr Daten habe.Warum nutzt du bei Modbus (lt. deiner *.tsv datei) die Skalierungsfaktoren nicht direkt im adapter?
Ich nutze auch INT&SF, verwende aber die Skalierungsfaktoren direkt im modbus adapter:

Die Werte stimmen aber auch nicht mir den Werten von solar web überein. Bzw. die ersten drei tage, die letzten zwei passt es exakt und passt auch mit meiner Referenzanlage.
