NEWS
Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
-
@ostseeskipper
Hallo, habe die gleichen Einstellungen wie du gemacht auch über den echten LAN Port, leider ohne erfolg.
Muss man an der FritzBox den Port 502 freischalten? -
@c1500
Hi,
ich habe aktuell sowas am Laufen.
Es ist und war ein riesen Krampf die Dinger ans Netzwerk zu bekommen und die IPs zuweisen zu können.
Aber das habe ich nun geschafft. Ich habe einen SH10RT und einen SG6.0RT.
Die scheinen mit dem Smartmeter per RS485 zu reden. Ich habe aber keinen Durchblick wie und was da wo passiert. Ist alles sehr undurchsichtig. Wie WiNet WLAN-Adaper die dabei sind sprechen jedenfalls Modbus. Das steht fest. Ich habe zwei Modbos-Adapter installier und spreche die WR separat über ihre IP an. Mit Slave-IDs ist nichts zu holen. Ich habe auch beim SG6 keine Option die Geräteadresse zu ändern. Und die geänderte ID des SH (von 1 auf 100) hat keinen effekt. Im IOBroker-Adapter sprechen beide WR mit ID 1 auf ihrer IP des Kabels im WLAN-Adapter (klingt komisch, ist aber so) mit mir.
Ich habe nun einige Werte. Die Smartmeter-Werte (Strom vom EVU z.B.) kommen über den SH10RT.
Die Konfiguration war derart von Try & Error geprägt, so dass ich keine Anleitung zu schreiben vermag. Bei Problemen, schreib mich gerne an - ich versuche da zu helfen wo es geht...Gruß
David
-
@cobra68
Mit Fritzbox kenne ich mich nicht aus.
Scheinen ja etwas eigen zu sein wie ich auch aus dem PV Forum entnehmen kann.
Mehr als das was ich hier zeigte und ich eingestellt habe geht nicht.Edit: probier doch erst mal nur 1 Inputregister aus.
-
@ostseeskipper
Hi, wäre es möglich das du mir die Datei vom Inputregister zukommen lässt?
Verbindet sich der ModBus auch ohne Inputregister? -
@cobra68
Inputregister du brauchst doch nur Datei ganz oben aus dem Thread zu nehmen oder nach "Sungrow Communication Protocol of Residential Hybrid Inverter" zu googlen, dann findest du was du brauchst. Die Zahlen aus dem Protokoll immer -1 nehmen. -
@cobra68
Versuch mal als Eingangsregister nur einen einzigen Wert einzutragen. Das hat bei mir das debuggen deutlich verkürzt, da sich heraus gestellt hat dass mein WR doch ein paar andere Adressen für manche Werte hat und bei Zugriffsfehler die Verbindung wieder abgebaut wird.folgendes Eingangsregister sollten aber alle WR haben:
_address name description unit type len factor offset formula role room cw isScale 4999 Device type code Geräte Typ-Code int8be 1 1 0 value false false
Gruß
David
-
@davipet
Hi, danke für die Hilfe die Verbindung ist jetzt da
Habe versucht einen Eigangsregister (PV-Stromerzeugung heute) anzulegen, bekomme leider keinen Wert
Habe ich da etwas falsches eingegeben?
Gruß
Cobra68 -
Hi, habe gerade selber gesehen das ich level eingestellt habe anstatt value,
aber die Einstellung hat auch nicht geholfen
-
@cobra68
Zeig mal bitte im modbus adapter wie du das Eingangsregister liest.
Hast du vielleicht den Datentyp falsch eingestellt? Sollte ein "unsigned 16bit (Big Endian)" sein. Länge: 1ByteIch musste leider heute Morgen feststellen, dass mein SG6.0RT keine Modbus-Verbindung mehr macht. Nach ~55std Fehlerfreiem Betrieb. Wasn dat nu wieder?!? gml
-
@davipet
Hi, hoffe das du dein Problem lösen konntest,
anbei screenshot vom EingangsregisterGruß
cobra68 -
@cobra68
hmm, kann da auch keinen Fehler sehen.
Bei mir sieht das so aus:Ich hatte auch Probleme mit Adressen ab 12999 und habe erstmal nur die vorderen eingetragen. Damit war alles OK.
Dann habe ich die längeren Adressen eingetragen und plötzlich hat er auch die gefressen.Hast du einen SGHXX Wechselrichter?
Hier noch meine Eingangsregister als txt. Vielleicht kannst du damit etwas anfangen:
Gruß
David
EDIT: Ich habe übrigens den Haken bei "Mehrere Geräte-IDs" nicht drin. Hab für den zweiten WR eine eigene Modbus Instanz laufen.
-
Hallo Zusammen,
ich habe einen Sungrow SG15KTL-M Wechselrichter mit dem E-Net Kommunikationsmodul.
Jetzt habe ich im QModMaster die IP des Kommunikationsmodul eingegeben und bekomme im Bus Monitor auch ein OK für die Verbindung.
Allerdings kommen dann keine Daten.
Habt Ihr eine Idee warum? -
@blessi
Der SG15KTL hat andere Registeradressen als der SH10RT -
Ich betreibe 2 SH10RT im Parallelmodus und habe beide erfolgreich mit Modbus eingebunden mit den hier veröffentlichten Modbus-Adressen - allerdings in fhem.
Jedoch habe ich eine Merkwürdigkeit, von der ich gerne wüsste, ob das Problem bei ioBroker auch besteht:
Der Wert für Eigenverbrauch ist doch Regsiter 13017 (Abfrage auf 13016 mit Datentyp U16) "Daily Direct Energy Consumption", korrekt?
Meine erste Frage: Welcher Wert in der iSolarCloud App unter "Gerät / SH10RT / Allgemeine Informationen" enstpricht diesem Registerwert? Ist das "Täglicher Energieverbrauch der Last" ganz unten im Abschnitt "Informationen über Verbraucher"?
Falls ja: Bei mir wird in der App beim Master SH10RT ein negativer Wert -35.1 angezeigt. Wie geht das mit Datentyp unsigned int 16?
Ich bekomme vermutlich daher auch deshalb in fhem über Modbus in diesem Register "0.1" beim Master angezeigt. Beim Slave stimmen App und Modbus in Fhem überein: Da standen "50.3" in der App als auch in fhem laut Modbus. Der korrekte Eigenverbrauch laut App war 15.2. Das passt dann auch mit Addition der Werte von Master und Slave in der App (-35.1+50.3=15.2).
Haben Nutzer von ioBroker mit 2x SH10RT im Parallelmodus auch das Problem? Wenn nein, welchen Datentyp nutzt ioBroker für Regsiter 13017 (Abfrage auf 13016 mit Datentyp U16) "Daily Direct Energy Consumption"?!
Laut Modbus Protokoll von Sugnrow sollte das U16 sein, aber wie kann dann der Wert laut iSolarCloud negativ sein (s. Screenshot)?
Last.JPG -
@ostseeskipper Vielen Dank, das probiere ich einmal am Wochenende aus. LG
@ostseeskipper said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Da schon mehrere danach gefragt hatten.
Ob der Speicher geladen oder entladen wird sieht man nicht direkt.
Dafür muss das RunningState Register #13000 (bereits 1 abgezogen) ausgwertet werden. -
@ostseeskipper Danke für die Anleitung zur Auswertung des Running State, hab sie genau befolgt, aber bei mir bleiben leider alle Werte false.
Hat jemand eine Idee, woran es scheitern könnte? -
@jh410 said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
@ostseeskipper Danke für die Anleitung zur Auswertung des Running State, hab sie genau befolgt, aber bei mir bleiben leider alle Werte false.
Hat jemand eine Idee, woran es scheitern könnte?Das JS Script hast du aber am laufen? oder gibts da Fehler?
EDIT: Eventuell musst du die rote 1 in
const idVar = 'modbus.0.inputRegisters. 1. 13000_Running_State'
raus nehmen wenn du nicht wie ich mehrer Geräte ID in der Modbusinstanz verwendest. -
Bei mir bleiben auch alle JS Datenpunkte 'false'
Im Script wird ja auf Wertänderung des RunningState Datenpunktes geschaut - da ändert sich bei mir nie etwas. Ist immer 0 -
@davipet
Wenn sich running state nie ändert ist das das problem.
Dann forsche mal nach warum da 0 ist. Andere Werte über Modbus bekommst du? -
@ostseeskipper
Ja, sonst kommt über Modbus alles was ich so brauche.
Ich habe noch einen SG6.0RT - an dem ist der working state auch immer 0So sieht mein Eintrag aus:
13000 1 Running State Betriebsstatus uint16be 1 1 0 value false falseHabe auch schon anderer Datentypen versucht. Kein Status
Kann sich da was mit einer Firmware geändert haben? Ich habe bei Sungrow selber bisher leider keine detaillierte Beschreibung der Modbus-Schnittstelle gefunden.
Hier mal meine Firmwarestände:
Gruß
David