Einbindung eines Sungrow SH10RT: SH05,SH06,SH08,SH10

Begonnen von 3gmann, 05 November 2020, 11:22:14

Vorheriges Thema - Nächstes Thema

3gmann

Hallo Zusammen,

nachdem ich bisher noch keinen Beitrag über den Wechselrichter SH10RT von Sungrow gefunden habe möchte ich hier über meine Erfahrungen und bisherige Lösung berichten.

Aktuell besteht meine Solaranlage aus folgenden Komponenten:
Anlage 1: Kostal Plenticore Plus 10; String 1 (20 x 290W OST 90°/33°); String 2 (14 x 290W West 270°/33°); Gesamt 9,86KWP - Inbetriebnahme 08.2019
Anlage 2: Sungrow SH10RT; String 1 (9 x 330W Süd 180°/82°); Sting 2 (24 x 280W West270°/33°); Gesamt 9,69 KWp - Inbetriebnahme 09.2020

Die Datenerfassung, Visualisierung sowie die Steuerung einzelner Verbraucher erfolgt über FHEM z.Z wird die komplette Wintergarten- und Gartenbewässerung, einige kleinere Verbraucher sowie die Heiß- bzw. Brauchwasserversorgung über FHEM gesteuert.

Die Anbindung der beiden Wechselrichter erfolgt über Das Modul ModbusAttr über TCP.
Da in diesem Forum schon viel über die Einbindung eine Kostal Plenticores geschrieben wurde aber ich noch keine Beiträge zur Sungrow Familie SHxxRT gefunden habe möchte ich meine bisherigen Erfahrungen und Lösungen in der Hoffnung vorstellen, dass dieses einigen Nutzern Hilfe bietet aber auch eine Plattform für Diskussionen für weitere Lösungsmöglichkeiten zur Einbindung dieser Wechselrichterfamilie von Sungrow öffnet.

Aktuell ist der Wechselrichter Sh10RT ebenfalls über das Modul ModbusAttr über TCP in FHEM eingebunden. Die Abfrage der für mich wichtigsten Register erfolgt alle 3 Sekunde, wichtige Daten werden alle 10 Minuten über FHEM mitgeloggt (MariaDB-Datenbank).

Die aktuelle Config des Sungrow sieht so aus:

Zitat
define SH10rt_Fast ModbusAttr 1 3 192.168.xxx.xxx:502 TCP
attr SH10rt_Fast DbLogExclude .*
attr SH10rt_Fast DbLogInclude Inside_Temperature:600:force, Power_MPPT_1:600:force,Power_MPPT_2:600:force,MPPT_1_Voltage:600:force,MPPT_2_Voltage:600:force,MPPT_1_Current:600:force,MPPT_2_Current:600:force,Daily_PV_Generation:600:force,Complete_Daily_Yield:600:force,Complete_Daily_Einspeisung:600:force,Complete_Daily_PV_Consumption:600:force
attr SH10rt_Fast dev-type-UL_R2-len 2
attr SH10rt_Fast dev-type-UL_R2-revRegs 1
attr SH10rt_Fast dev-type-UL_R2-unpack N
attr SH10rt_Fast dev-type-SL_R2-len 2
attr SH10rt_Fast dev-type-SL_R2-unpack l
attr SH10rt_Fast event-on-change-reading .*
attr SH10rt_Fast obj-i5007-poll 5
attr SH10rt_Fast obj-i5007-reading Inside_Temperature
attr SH10rt_Fast obj-i5007-expr $val/10
attr SH10rt_Fast obj-i5010-poll 5
attr SH10rt_Fast obj-i5010-reading MPPT_1_Voltage
attr SH10rt_Fast obj-i5010-expr $val/10
attr SH10rt_Fast obj-i5011-poll 5
attr SH10rt_Fast obj-i5011-reading MPPT_1_Current
attr SH10rt_Fast obj-i5011-expr $val/10
attr SH10rt_Fast obj-i5012-poll 5
attr SH10rt_Fast obj-i5012-reading MPPT_2_Voltage
attr SH10rt_Fast obj-i5012-expr $val/10
attr SH10rt_Fast obj-i5013-poll 5
attr SH10rt_Fast obj-i5013-reading MPPT_2_Current
attr SH10rt_Fast obj-i5013-expr $val/10
attr SH10rt_Fast obj-i5016-poll 5
attr SH10rt_Fast obj-i5016-reading Total_DC_Power
attr SH10rt_Fast obj-i5016-type UL_R2
attr SH10rt_Fast obj-i5035-poll 5
attr SH10rt_Fast obj-i5035-reading Grid_Frequency
attr SH10rt_Fast obj-i5035-expr $val/10
attr SH10rt_Fast obj-i13001-poll 5
attr SH10rt_Fast obj-i13001-reading Daily_PV_Generation
attr SH10rt_Fast obj-i13001-expr $val/10
attr SH10rt_Fast obj-i13002-poll 5
attr SH10rt_Fast obj-i13002-reading Total_PV_Generation
attr SH10rt_Fast obj-i13002-type UL_R2
attr SH10rt_Fast obj-i13002-expr $val/10
attr SH10rt_Fast obj-i13004-poll 5
attr SH10rt_Fast obj-i13004-reading Daily_Export_Energy
attr SH10rt_Fast obj-i13004-expr $val/10
attr SH10rt_Fast obj-i13005-poll 5
attr SH10rt_Fast obj-i13005-reading Total_Export_Energy
attr SH10rt_Fast obj-i13005-type UL_R2
attr SH10rt_Fast obj-i13005-expr $val/10
attr SH10rt_Fast obj-i13007-poll 5
attr SH10rt_Fast obj-i13007-reading Load_Power
attr SH10rt_Fast obj-i13008-poll 5
attr SH10rt_Fast obj-i13008-reading Load_Power_1
attr SH10rt_Fast obj-i13009-poll 5
attr SH10rt_Fast obj-i13009-reading Export_Power
attr SH10rt_Fast obj-i13010-poll 5
attr SH10rt_Fast obj-i13010-reading Export_Power_1
attr SH10rt_Fast obj-i13016-poll 5
attr SH10rt_Fast obj-i13016-reading Daily_direct_Energy_Consumption
attr SH10rt_Fast obj-i13016-expr $val/10
attr SH10rt_Fast obj-i6468-poll 5
attr SH10rt_Fast obj-i6468-reading Test_1
attr SH10rt_Fast obj-i6469-poll 5
attr SH10rt_Fast obj-i6469-reading Test_2
attr SH10rt_Fast room System
attr SH10rt_Fast userReadings Power_MPPT_1 {sprintf("%.0f", (ReadingsNum ("SH10rt_Fast","MPPT_1_Voltage", 0) * ReadingsNum ("SH10rt_Fast","MPPT_1_Current", 0)));;} ,\
Power_MPPT_2 {sprintf("%.0f", (ReadingsNum ("SH10rt_Fast","MPPT_2_Voltage", 0) * ReadingsNum ("SH10rt_Fast","MPPT_2_Current", 0)));;},\
Complete_Daily_Yield {sprintf("%.1f", (ReadingsNum ("SH10rt_Fast","Daily_PV_Generation", 0) + ReadingsNum ("Plenticore","Dailey_Yield", 0)));;},\
Complete_Daily_Einspeisung {sprintf("%.1f", (ReadingsNum ("SH10rt_Fast","Daily_Export_Energy", 0) + ReadingsNum ("Plenticore","Dailey_Einspeisung_KWh", 0)));;},\
Complete_Daily_PV_Consumption {sprintf("%.1f", (ReadingsNum ("SH10rt_Fast","Complete_Daily_Yield", 0) - ReadingsNum ("SH10rt_Fast","Complete_Daily_Einspeisung", 0)));;},\
Complete_DC_Power {sprintf("%.0f", (ReadingsNum ("SH10rt_Fast","Power_MPPT_1", 0) + ReadingsNum ("SH10rt_Fast","Power_MPPT_2", 0)+ ReadingsNum ("Plenti_Fast","Power_DC1", 0) + ReadingsNum ("Plenti_Fast","Power_DC2", 0) + ReadingsNum ("Plenti_Fast","Power_DC3", 0)));;},\
Complete_AC_Power {sprintf("%.0f", (ReadingsNum ("SH10rt_Fast","Total_DC_Power", 0) + ReadingsNum ("Plenti_Fast","Total_AC_active_power", 0)));;}

Internals:
CFGFN                    /opt/fhem/fhem_cfg/65_PV_2.cfg
DEF                         1 3 192.168.xxx.xxx:502 TCP
DeviceName            192.168.xxx.xxx:502
EXPECT                  idle
FD                         16
FUUID                    5f9c1ce6-f33f-a580-6edb-6818f0fd402614b7
INTERVAL               3
IODev                    SH10rt_Fast
LASTOPEN             1604528390.01426
MODBUSID            1
MODE                    master
MODULEVERSION   Modbus 4.1.5 - 17.9.2019
NAME                    SH10rt_Fast
NOTIFYDEV            global
NR                        847
NTFY_ORDER         50-SH10rt_Fast
PARTIAL
PROTOCOL            TCP
STATE                   opened
TCPConn               1
TRIGGERTIME        1604559269.45515
TRIGGERTIME_FMT 2020-11-05 07:54:29
TYPE                     ModbusAttr
devioLoglevel         3
lastUpdate            1604559266.45515
nextOpenDelay      60
nextQueueRun      1604559267.43657

Die erzeugten Readings:
Complete_AC_Power                        1697           2020-11-05 10:28:15              berechneter Wert: Komplette Anlage AC-Power in W
Complete_DC_Power                        1832           2020-11-05 10:28:18              berechneter Wert: Komplette Anlage DC-Power in W
Complete_Daily_Einspeisung             0.9              2020-11-05 10:24:21              berechneter Wert: Komplette aktuelle Einspeisung in W
Complete_Daily_PV_Consumption      0.7             2020-11-05 10:24:22              berechneter Wert: Komplette direkter Verbrauch in KWh
Complete_Daily_Yield                       1.6              2020-11-05 10:24:22              berechneter Wert: Komplette Anlage Tagesleistung in KWh
Daily_Export_Energy                       0.4              2020-11-05 10:24:21              SH10RT Einspeiseleistung in KWh
Daily_PV_Generation                       0.4               2020-11-05 10:24:22              SH10RT Generatorleistung in KWh
Daily_direct_Energy_Consumption    0                 2020-11-05 07:54:24              SH10RT  Einspeiseleistung in KWh
Export_Power                                1166            2020-11-05 10:28:16              SH10RT  aktuelle Einspeiseleistung in W 32Bit Register signed
Export_Power_1                             0                 2020-11-05 09:19:58              SH10RT  aktuelle Einspeiseleistung in W 32Bit Register signed
Grid_Frequency                              49.9             2020-11-05 10:27:19              SH10RT  Netzfrequenz in Hz
Inside_Temperature                        29.4             2020-11-05 10:22:57              SH10RT  Betriebstemperatur in °C
Load_Power                                   64806           2020-11-05 10:28:16              SH10RT  aktuelle Last in W 32Bit Register signed
Load_Power_1                                65535          2020-11-05 09:27:48              SH10RT  aktuelle Last in W 32Bit Register signed
MPPT_1_Current                             0                 2020-11-05 07:54:27              SH10RT  String 1 Strom in A
MPPT_1_Voltage                             0                  2020-11-05 07:54:23             SH10RT  String 1 Spannung in V
MPPT_2_Current                             0.8               2020-11-05 10:26:01             SH10RT  String 2 Strom in A
MPPT_2_Voltage                             630.6           2020-11-05 10:28:16              SH10RT  String 2 Spannung in V
Power_MPPT_1                               0                  2020-11-05 07:54:27             berechneter Wert: SH10RT String 1 aktuelle PV-Leistung in W
Power_MPPT_2                               504               2020-11-05 10:28:16            berechneter Wert: SH10RT String 2 aktuelle PV-Leistung in W
Test_1                                           0                 2020-11-05 07:54:26             SH10RT Testwert 32 Bit Register
Test_2                                           0                2020-11-05 07:54:26              SH10RT Testwert 32 Bit Register
Total_DC_Power                             436             2020-11-05 10:28:14              SH10RT aktuelle AC-Leistung in W wird von Sungrow als DC bez.
Total_Export_Energy                      26.6             2020-11-05 10:24:22             SH10RT gesamte bisher erzeugte Einspeiseleistung in KWh
Total_PV_Generation                       63.9            2020-11-05 10:24:23             SH10RT gesamte bisher erzeugte Leistung in KWh
state                                             opend          2020-11-05 10:24:23             SH10RT Status Modbusverbindung

Hinweise und Bemerkungen:
Damit kann ich zunächst einmal arbeiten weitere Readings werden Zug um Zug eingebunden. Allerdings habe ich noch einige Schwierigkeiten 16 und 32 Bit Register mit Signed Variablen korrekt in FHEM einzulesen - bin nicht der Pearl Experte.

Ich hoffe dass ich vielleicht einigen USERN helfen konnte.
Hilfestellungen, Lösungsvorschläge, Anregungen und Diskussionen von Euch sind natürlich gerne willkommen - nobody is perfect und Kommunikation ist der Motor aller Entwicklungen.

Viele Grüße
Gerhard Gulde

"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

3gmann

#1
Hallo miteinander,
nachdem ich mich nun etwas ausfühlicher mit der Dekodierung der Modbusvariablen (Register) beschäftigt habe hier die neue Version der Moduldefinition.



#####################################################################
## 
##  3G-FHEM         PV-Anlage
##
##  Name..........: 65_PV_2.cfg  CONFIG
##  Zweck.........: Einbindung PV-2 Anlage in FHEM
##  Standort......: Heizraum und Dach
##  Typ...........: Readings aus dem Wechselrichter Sungrow SH10RT Grafiken
##  Installation..: 30.10.2020
##  geändert......: 07.11.2020
##  Version.......: 0.1.0
##
##  Besonderheiten: Einbindung der PV-Anlage in FHEM
##                  Leistungsabhängige Steuerung von Endgeräten
##
#####################################################################

define SH10rt_Fast ModbusAttr 1 3 192.168.27.55:502 TCP
setuuid SH10rt_Fast 5f9c1ce6-f33f-a580-6edb-6818f0fd402614b7
attr SH10rt_Fast DbLogExclude .*
attr SH10rt_Fast DbLogInclude Inside_Temperature:600:force, Power_MPPT_1:600:force,Power_MPPT_2:600:force,MPPT_1_Voltage:600:force,MPPT_2_Voltage:600:force,MPPT_1_Current:600:force,MPPT_2_Current:600:force,Daily_PV_Generation:600:force,Complete_Daily_Yield:600:force,Complete_Daily_Einspeisung:600:force,Complete_Daily_PV_Consumption:600:force
attr SH10rt_Fast dev-type-U32-len 2
attr SH10rt_Fast dev-type-U32-revRegs 1
attr SH10rt_Fast dev-type-U32-unpack N
attr SH10rt_Fast dev-type-S32-len 2
attr SH10rt_Fast dev-type-S32-revRegs 1
attr SH10rt_Fast dev-type-S32-unpack l>
attr SH10rt_Fast dev-type-S16-unpack s>
attr SH10rt_Fast event-on-change-reading .*
attr SH10rt_Fast obj-i5007-poll 1
attr SH10rt_Fast obj-i5007-polldelay x199
attr SH10rt_Fast obj-i5007-reading Inside_Temperature
attr SH10rt_Fast obj-i5007-type S16
attr SH10rt_Fast obj-i5007-expr $val/10
attr SH10rt_Fast obj-i5010-poll 1
attr SH10rt_Fast obj-i5010-reading MPPT_1_Voltage
attr SH10rt_Fast obj-i5010-expr $val/10
attr SH10rt_Fast obj-i5011-poll 1
attr SH10rt_Fast obj-i5011-reading MPPT_1_Current
attr SH10rt_Fast obj-i5011-expr $val/10
attr SH10rt_Fast obj-i5012-poll 1
attr SH10rt_Fast obj-i5012-reading MPPT_2_Voltage
attr SH10rt_Fast obj-i5012-expr $val/10
attr SH10rt_Fast obj-i5013-poll 1
attr SH10rt_Fast obj-i5013-reading MPPT_2_Current
attr SH10rt_Fast obj-i5013-expr $val/10
attr SH10rt_Fast obj-i5016-poll 1
attr SH10rt_Fast obj-i5016-reading Total_DC_Power
attr SH10rt_Fast obj-i5016-type U32
attr SH10rt_Fast obj-i5035-poll 1
attr SH10rt_Fast obj-i5035-polldelay x199
attr SH10rt_Fast obj-i5035-reading Grid_Frequency
attr SH10rt_Fast obj-i5035-expr $val/10
attr SH10rt_Fast obj-i13001-poll 1
attr SH10rt_Fast obj-i13001-polldelay x199
attr SH10rt_Fast obj-i13001-reading Daily_PV_Generation
attr SH10rt_Fast obj-i13001-expr $val/10
attr SH10rt_Fast obj-i13002-poll 1
attr SH10rt_Fast obj-i13002-polldelay x199
attr SH10rt_Fast obj-i13002-reading Total_PV_Generation
attr SH10rt_Fast obj-i13002-type U32
attr SH10rt_Fast obj-i13002-expr $val/10
attr SH10rt_Fast obj-i13004-poll 1
attr SH10rt_Fast obj-i13004-polldelay x199
attr SH10rt_Fast obj-i13004-reading Daily_Export_Energy
attr SH10rt_Fast obj-i13004-expr $val/10
attr SH10rt_Fast obj-i13005-poll 1
attr SH10rt_Fast obj-i13005-polldelay x199
attr SH10rt_Fast obj-i13005-reading Total_Export_Energy
attr SH10rt_Fast obj-i13005-type U32
attr SH10rt_Fast obj-i13005-expr $val/10
attr SH10rt_Fast obj-i13007-poll 1
attr SH10rt_Fast obj-i13007-reading Load_Power
attr SH10rt_Fast obj-i13007-type S32
attr SH10rt_Fast obj-i13009-poll 1
attr SH10rt_Fast obj-i13009-reading Export_Power
attr SH10rt_Fast obj-i13009-type S32
attr SH10rt_Fast obj-i13016-poll 1
attr SH10rt_Fast obj-i13016-polldelay x199
attr SH10rt_Fast obj-i13016-reading Daily_direct_Energy_Consumption
attr SH10rt_Fast obj-i13016-expr $val/10
attr SH10rt_Fast room System
attr SH10rt_Fast userReadings Power_MPPT_1 {sprintf("%.0f", (ReadingsNum ("SH10rt_Fast","MPPT_1_Voltage", 0) * ReadingsNum ("SH10rt_Fast","MPPT_1_Current", 0)));;} ,\
Power_MPPT_2 {sprintf("%.0f", (ReadingsNum ("SH10rt_Fast","MPPT_2_Voltage", 0) * ReadingsNum ("SH10rt_Fast","MPPT_2_Current", 0)));;},\
Complete_Daily_Yield {sprintf("%.1f", (ReadingsNum ("SH10rt_Fast","Daily_PV_Generation", 0) + ReadingsNum ("Plenticore","Dailey_Yield", 0)));;},\
Complete_Daily_Einspeisung {sprintf("%.1f", (ReadingsNum ("SH10rt_Fast","Daily_Export_Energy", 0) + ReadingsNum ("Plenticore","Dailey_Einspeisung_KWh", 0)));;},\
Complete_Daily_PV_Consumption {sprintf("%.1f", (ReadingsNum ("SH10rt_Fast","Complete_Daily_Yield", 0) - ReadingsNum ("SH10rt_Fast","Complete_Daily_Einspeisung", 0)));;},\
Complete_DC_Power {sprintf("%.0f", (ReadingsNum ("SH10rt_Fast","Power_MPPT_1", 0) + ReadingsNum ("SH10rt_Fast","Power_MPPT_2", 0)+ ReadingsNum ("Plenti_Fast","Power_DC1", 0) + ReadingsNum ("Plenti_Fast","Power_DC2", 0) + ReadingsNum ("Plenti_Fast","Power_DC3", 0)));;},\
Complete_AC_Power {sprintf("%.0f", (ReadingsNum ("SH10rt_Fast","Total_DC_Power", 0) + ReadingsNum ("Plenti_Fast","Total_AC_active_power", 0)));;}




Weiter Variablen werden folgen sobald ich diese entsprechend getestet habe.
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

Quick

Hallo, ich habe zwar kein FHEM, aber ioBroker. bin aktuell dabei, meinen Wechselrichter SH8.0RT mittels ModBus in den ioBroker einzubinden. Jedoch gibt es wohl Probleme bei der Darstellung der Werte.
Mir kommt es so vor, als würden die Registeradressen ( Liste von Sungrow ) nicht die wirklichen Werte liefern, sondern eher irgendwelche. Daher wollte ich dich einmal fragen, wie due die Registeradressen eingestellt hast?
Beziehungsweise vertraust du den Werten, die aus dem Umrichter kommen?

3gmann

Hallo,
inzwischen kann ich alle Registerwerte in FHEM auslesen und entsprechend weiterverarbeiten. Allerdings enthalten einige Register unsinnige oder nicht plausible Werte, dazu später mehr.

Der ShxxRT stellt verschiedene Register bereit. Zum Einen  die Read Only Register und zum anderen die Holding Register die aber verschieden ausgelesen werden wollen. In FHEM lauten der Befehl obj-i5007-reading Inside_Temperature
dieser Befehl liest das Register 5008 aus. Weil laut Communication Protocol von Sungrow die Adresswerte um 1 niedriger eingestellt werden müssen. (Register 5008 -> Adresse = 5007   (5008-1))

Das Register enthält einen signed 16 Bit-Wert also S16
dieser wird in FHEM mit folgenden Befehlen korrekt ausgelesen:
dev-type-S16-unpack s>
der wert wird mit dem Faktor 0,1 im Sungrow gespeichert.

Die komplette Befehlsfolge in FHEM lautet:
attr SH10rt_Fast dev-type-S16-unpack s>      // definiert die Auflösung als signed 16 Bitwert
   
attr SH10rt_Fast obj-i5007-poll 1                     //liest Register 5008
attr SH10rt_Fast obj-i5007-polldelay x199         //alle 300 Sec (199 x 3 Sec)
attr SH10rt_Fast obj-i5007-reading Inside_Temperature      //schreibt den Wert in die Variable Inside_Temperature
attr SH10rt_Fast obj-i5007-type S16            //Dr registerwert ist vom Typ S16
attr SH10rt_Fast obj-i5007-expr $val/10         //Der Wert wird durch 10 geteilt  → siehe Sungrow Protocol
so zumindest in FHEM wie das Ganze im IOBroker definiert wird weiß ich allerdings nicht.

Zu den gelesenen Werten:
Bei mir habd die Registerwerte DC-Power und AC-Power die selben Werte. Dies ist allerdings unplausibel – das wäre ein Wirkungsgrad von 100%.
Der Registerwert Grid State Register 13030 liefert permanent den Wert Hex FFFF statt AA (Off Grid) oder 55 (On Grid)
Ich hoffe das konnte ihnen etwas helfen.
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

irenaeusbecker

#4
Hi,

erstmal vielen Dank für den Thread! Wir haben seit gestern auch den Sungrow SH08 installiert und deine Config hat auf Anhieb funktioniert, sprich die Werte werden hier angezeigt.
Lediglich mit DB-Verknüpfung muss ich mich noch beschäftigen, da ich das bisher nicht gebraucht habe, aber tatsächlich sinnvoll erscheint für spätere Graphen etc.

Bist du zufällig auch für Register-Einträge für den Zustand einer Batterie gestoßen? Ich versuche hier eine ModBus TCP zum Laufen zu bekommen, bin aber kläglich am scheitern.

Danke dir!

3gmann

Zitat von: irenaeusbecker am 10 Februar 2021, 16:36:29

Bist du zufällig auch für Register-Einträge für den Zustand einer Batterie gestoßen? Ich versuche hier eine ModBus TCP zum Laufen zu bekommen, bin aber kläglich am scheitern.

Danke dir!

Hi, leider habe ich z.Z. noch keine Batterie an meinen SH10RT angeschlossen, die Registerwerte kenne ich, kann diese aber natürlich nicht testen. Da ich die kompletten Register-Liste aber nicht ohne Genehmigung von Sungrow hier veröffentlichen will bitte ich dich mir eine mail zu senden ich sende dir dann das PDF Dokument zu.
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

KlausJ

Hallo 3gmann,

seit ein paar Tagen hängt auch bei mir eine SH10RT an der Wand und ich versuche per Ethernet und FHEM darauf zuzugreifen. FHEM zeigt mir auch "opened" an, weigert sich aber irgendwelche readings anzuzeigen. Es gibt immer nur einen Timeout.
Meine Frage wäre, wie genau Du eigentlich Deine Anlage mit FHEM verbunden hast. Die SH10RT besitzt 2 Netzwerkanschlüsse. Der vordere ist mit WLAN bezeichnet, der hintere mit LAN. Am vorderen kann ein WLAN Stick oder ein LAN Stick angeschlossen werden, am hinteren direkt ein LAN Kabel. Der WLAN Stick, der mir mitgeliefert wurde ist für die Tonne. Sein AP-WLAN läßt sich weder abschalten, noch unsichtbar machen. Er scheint zwar ein Webinterface zu haben, aber die Logindaten dafür sind nirgends zu finden. Evtl. ließe sich damit der AP besser konfigurieren. Egal, ich werde das Teil wohl besser durch einen LAN Stick ersetzen - dann gibts kein überflüssiges WLAN. Der hintere LAN Anschluss scheint nicht dafür da zu sein mit dem Wechselrichter selbst zu kommunizieren, sondern mit einem zusätzlichen "Kommunikationsmodul".
Es scheint also letztlich 3 Wege einer Ethernet Verbindung zu geben. WLAN über den vorderen Anschluss, LAN über den vorderen und LAN über den hinteren. Welche dieser Varianten hast Du denn im Einsatz und funktioniert mit FHEM?

Beste Grüße,
Klaus

3gmann

Hallo Klaus,
mein SH10rt hat nur die Anschlüsse WLAN (Anschlussbuchse 3) und LAN (Anschlussbuchse 4) (Benutzerhandbuch Seite 41).
Ich kommuniziere mit dem WR über LAN Anschlusbuchse 4.
Wichtig ist dabei dass dem WR natürlich eine feste IP-Adresse aus dem eigenen Netzwerk gegeben wird und eine eindeutige ID für die Modbuskommunikation (siehe Config File FHEM).
Wenn der Port auf open steht müssten aber auch Daten in FHEM ankommen - was sagt das LOG-File und die Internals?

Noch wichtig -> der WR mag es gar nicht wenn zwei verschiedene Geräte versuchen Daten über ModbusTCP auszulesen - dann geht (bei mir zumindest) der Port auf offline.

Hier de Auszug aus meinem LOG-File (letztes öffnen des Modbus-Ports):
2021.10.08 19:31:21 3: Opening SH10rt_Fast device 192.168.xx.xx:502
2021.10.08 19:31:22 3: SH10rt_Fast device opened

Internals  (xx - ausgeblendete Daten)
CFGFN           /opt/fhem/fhem_cfg/65_PV_2.cfg
DEF           1 3 192.168.xx.xx:502 TCP
DeviceName   192.168.xx.xx:502
EXPECT          idle
FD                   18
FUUID             xxxxxxxxxxxxxxxxxxxxxxxx
IODev              SH10rt_Fast
Interval            3
LASTOPEN     1633720954.34765
MODBUSID    1
MODE             master
MODULEVERSION        Modbus 4.4.02 - 31.3.2021
NAME                             SH10rt_Fast
NOTIFYDEV                   global
NR                                  809
NTFY_ORDER               50-SH10rt_Fast
PARTIAL
PROTOCOL                   TCP
STATE                            opened
TCPConn                      1
TYPE                            ModbusAttr
devioLoglevel                3
nextOpenDelay             60
nextQueueRun             1633755247.0838

Ich hoffe ich konnte helfen - ansonsten einfach mal per Mail deine Config, Internels, Logfile-Auszug senden ich schau's mir mal an.

viele Grüße
Gerhard Gulde
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

KlausJ

Hallo Gerhard,

vielen Dank für Deine Antwort. Ja das war eine große Hilfe. Jetzt funktioniert auch mir die Kommunikation. Man darf es nur nicht so machen, wi es einem der Elektriker geraten hat...

Schwierig ist es nur die Daten mit denen in Einklang zu bringen, die von iSolarCloud App angezeigt werden. Insbesondere daraus den richtigen Betrag des Eigenverbrauchs zu ermitteln, aus dem heraus die unentgeltliche Wertabgabe fürs Finanzamt zu ermitteln ist. Aber irgendwie beiße ich mich da schon noch durch.

Jetzt muss erst mal der Elektriker zum dritten Mal dran. Beim ersten Mal hatte er einen Kontakt nicht richtig verschraubt und die Anlage ging erst gar nicht. Jetzt stellt sich raus, dass die Kaskadenschaltung mit Hausstrom- und Heizstromzähler irgendwie falsch sein muss. Der Heizstromzähler zählt zusätzlich zum Heizstrom auch noch den Hausstrom mit. Der wird also jetzt doppelt gezählt - hurra! Eigentlich sollt die Anlage Geld sparen und nicht verschenken. Man sollte denken, dass beim Kauf einer PV Anlage von e.on ausreichend Erfahrung und Routine mitgebracht wird, dass sowas nicht passiert.

Beste Grüße,
Klaus

3gmann

Hallo Klaus,

Das mit dem Finanzamt ist total easy - aber das gehört nicht in dieses Forum. Habe eine EXCEL Tabelle erstellt falls Du Interesse hast schick mir ne Mail.

Gruß
Gerhard
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

KlausJ

Hallo Gerhard,

auch wenn das hier nicht das Thema ist, so möchte ich doch einen Fehler in meinem letzten Post klar stellen.

Tatsächlich ist es doch richtig, dass bei einer Kaskadenschaltung der Hausstrom durch beide Zähler läuft. Das wurde mir inzwischen vom Installateur erklärt und vom Netzbetreiber bestätigt. Abgerechnet wird für den Heizstrom dann nur die Differenz der beiden Zählerstände.

Was Deine Tabelle betrifft; danke dafür, aber ich denke ich komme da schon klar.

Beste Grüße,
Klaus

FhemPiUser

Hallo Zusammen,
ich habe jetzt auch einen SH10RT und kann ihn auch mit dem geposteten Modbus code auslesen. Allerdings sind die Werte teilweise anders als in iSolarCloud. Ist das bei Euch auch so?

Gibt es inzwischen neue Erkenntnisse bzw. eine neue Version des Modbus-Codes?

3gmann

Hallo,

Es gibt meines Wissens nach keine neue Version der Modbus Registerabfragen und deshalb auch keine neue Version des Modbus-Codes von meiner Seite.
Es gibt leider immer noch teilweise unplausible Registereinträge z.B. AC-Leistung, DC-Leistung gleich hoch Netzstatus, etc...
Das liegt aber an der Firmware des WR darauf haben die FHEM Befehle zum Auslesen der Modbusregister keinen Einfluss.

Die iSolarCloud zeigt Durchschnittswerte 5/15 Minuten (LiveDaten nutze ich nicht dazu kann ich also nichts sagen) und sind entsprechend differenziert zu betrachten.

Für Anzeige, Steuerungsaufgaben nutze ich ausschließlich die eigenen Abfragewerte im 3 Sec. Zyklus - und das funktioniert ausgesprochen gut.

Hinweise und Anregungen hierzu sind natürlich immer gerne willkommen.

Modul aktuelle Firmware Version des WR
LCD    SAPPHIRE-H_01011.01.18
MDSP    SAPPHIRE-H_03011.01.15
SDSP    SUBCTL-S_04011.01.01
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...

FhemPiUser

ok, danke. Sind die modbus abfragen analog zu den iobroker abfragen? iobroker unterstützt ja wohl auch den sh10rt (und solaranzeige auch). Hat das mal jemand abgeglichen?

Zweite Frage: Ich habe das Smart Meter DTSU666. Kann man das nicht auch per modbus abfragen?

3gmann

Zitat von: FhemPiUser am 12 April 2022, 09:41:26
ok, danke. Sind die modbus abfragen analog zu den iobroker abfragen? iobroker unterstützt ja wohl auch den sh10rt (und solaranzeige auch). Hat das mal jemand abgeglichen?

Zweite Frage: Ich habe das Smart Meter DTSU666. Kann man das nicht auch per modbus abfragen?

Zum IoBroker - hier muß ich passen, da kenne ich mich nicht aus - sind aber glaube ich die selben Modbusregister wie bei FHEM und somit die selben Werte.

Zur zweiten Frage: habe ich ncoh nicht probiert, könnte aber leider nur parallel aufgeschaltet werden weil den zweidrätigen Eingang der SH10RT bereits belegt (Auch beim Master Slave Betrieb wird nur ein WR an den DTSU666 angeschaltet) und somit nicht sehr sinvoll weil paralelle Anfragen bei Datenbussystemen ohne Controlling nie gut ausgehn. Das ist aber auch nicht nötig weil alle Parameter über den WR per Modbus abgefragt werden können.
"Kommunikation ist der Motor aller Entwicklungen!"
Eigenbau FHEM-Server, IPCAM; Plenticore Plus 10; SH10RT; Mitsubishi ECODAN PUD-SHWM120YAA + EHSD-YM9D; eigene Hardware Arduino; MQTT; Modbus...