ich habe Solaranzeige seit 2023 erfolgreich im Einsatz mit:
- einem Sungrow SH10RT Wechselrichter
- einem Sungrow Winet-S WLAN Dongle am Wechselrichter
- Raspberry Pi 4 mit Solaranzeige
TLDR; Anbindung an den LAN-Port des Wechselrichters klappt nicht.
Der Wechselrichters ist allerdings über den Modbus-LAN-Port mit dem Hausnetzwerk verbunden und da eine Maschine mit Home Assistant erfolgreich den Wechselrichter darüber via Modbus auslesen kann funktioniert das grundsätzlich.
Jetzt wollte ich Solaranzeige ebenfalls an den Modbus-LAN-Port des Wechselrichters umkonfigurieren, und zwar aus folgenden Gründen:
- Die WLAN-Verbidnung des Winet-S WLAN Dongles am Wechselrichter wird mittlerweile zunehmend schlechter (vermutlich neue Zigbee Interferenzen in einem ohnehin für WLAN ungünstigen Stahlbetonkeller).
- Hier im Forum wird generell von der Anbindung von Sungrow Wechselrichtern per WLAN abgeraten, da die Sungrow WLAN Dongles langsam und unzuverlässig reagieren. Stattdessen wird explizit der Anschluss an den LAN-Port des Wechselrichters empfohlen.
Code: Alles auswählen
24.01. 10:59:01 -Sungrow: 192.168.179.52 Port: 502 GeräteID: 1
24.01. 10:59:01 + -Die Daten werden ausgelesen...
24.01. 10:59:01 -Firmware: ARM_SAPPHIRE-H_V11_V01_B
24.01. 10:59:09 -Lesefehler => Ausgang.
Code: Alles auswählen
[24-Jan-2026 10:59:01 Europe/Berlin] PHP Notice: fwrite(): send of 12 bytes failed with errno=32 Broken pipe in /var/www/html/phpinc/funktionen.inc.php on line 8267
[24-Jan-2026 10:59:03 Europe/Berlin] PHP Notice: fwrite(): send of 12 bytes failed with errno=32 Broken pipe in /var/www/html/phpinc/funktionen.inc.php on line 8267
[24-Jan-2026 10:59:04 Europe/Berlin] PHP Notice: fwrite(): send of 12 bytes failed with errno=32 Broken pipe in /var/www/html/phpinc/funktionen.inc.php on line 8267
[24-Jan-2026 10:59:06 Europe/Berlin] PHP Notice: fwrite(): send of 12 bytes failed with errno=32 Broken pipe in /var/www/html/phpinc/funktionen.inc.php on line 8267
[24-Jan-2026 10:59:07 Europe/Berlin] PHP Notice: fwrite(): send of 12 bytes failed with errno=32 Broken pipe in /var/www/html/phpinc/funktionen.inc.php on line 8267
[24-Jan-2026 11:00:01 Europe/Berlin] PHP Notice: fwrite(): send of 12 bytes failed with errno=32 Broken pipe in /var/www/html/phpinc/funktionen.inc.php on line 8267
Code: Alles auswählen
$TransactionIdentifier = str_pad( rand( 1, 199 ), 4, "0", STR_PAD_LEFT );
$sendenachricht = hex2bin( $TransactionIdentifier.$ProtocilIdentifier.$MessageLenght.$GeraeteAdresse.$FunktionsCode.$Register.$RegisterAnzahl );
$Antwort = "";
$rc = fwrite( $COM1, $sendenachricht );
Ich habe mal ein paar Lesebefehle in sungrow.php auskommentiert und die "Lesefehler => Ausgang" Ausgaben nummeriert. Es funktioniert nur das Auslesen der Firmware aus Register 4954.
Meine Konfiguration in der user_config.php ist (Abweichungen von der Referenzdatei):
Code: Alles auswählen
$Regler = "70";
$WR_IP = "192.168.179.85"; // Keine führenden Nullen! 67.xx Ja!, 067.xx Nein!
$WR_Port = "502";
$Objekt = "Schmohl HQ";
$Homematic = true;
$Homematic_IP = "192.168.179.25";
$USBRegler = "Ethernet";
$Platine = "Raspberry Pi 4 Model B Rev 1.5";
Was ich jetzt nicht verstehe ist, dass das Auslesen über den Sungrow Winet-S WLAN Dongle über Modbus funktioniert hat, direkt über den LAN-Port aber nicht. Die Modbus-Register werden an der LAN-Schnittstelle ja kaum anders belegt sein. Ich glaube mir fehlt noch irgendeine Konfigurationseinstellung.
Ich glaube ich nutze Solaranzeige 5.1.1, da bei mir das Installationspaket herumliegt. Ich habe aber nichts gefunden, wo die aktuelle Version steht.
Danke im Voraus,
Robert
EDIT: Rechtschreibung