NEWS
Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
-
@ostseeskipper
Danke für das Skript. Noch eine Frage: Warum beendest du die Entnahme 1h vorher? Gibts da eine Vorgabe von Sungrow? -
@blacksheep587 said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
@ostseeskipper
Danke für das Skript. Noch eine Frage: Warum beendest du die Entnahme 1h vorher? Gibts da eine Vorgabe von Sungrow?Nein keine Vorgabe von Sungrow.
Wenn der Strombezug aus dem Netz günstiger ist, als hochgerechnet später (wenn wieder teuer) aus dem Speicher nimmst ist das reine Mathematik. Daher lass ich noch was im Speicher was du sonst nachladen müsstet für teurere Zeiten. Denk dran der Speicher hat ungefähr 92% Wirkungsgrad (Verhältnis zw "total charge" und "total discharge")
heisst bei 30ct in den Speicher ist wie ungefähr 33 ct in echt. -
Wenn ich den Speicher lade und meine Verbindung zum System irgendwie abreißt, schützt das BMS das System auch wenn ich falsche Signale/Vorgaben an den Akku sende? Habe es so eingestellt das bei 90% das laden beendet wird, aber wenn Modbus ausfallen sollte kann ich das Signal ja nicht senden.
-
Hallo,
herzlichen Dank für all die tollen Postings hier, ich habe soweit alle gelesen. Leider hat es mich nicht dazu in die Lage versetzt, die modbus Abfrage hinzubekommen.Hardware
Raspi 4 mit iobrokerSH10RT WR, Winter: SH10RT(COM1-001)
Sungrow Akku: WiNet: SBR160(COM1-200)
WLAN aktiv für Cloud. 192.168.188.107
LAN am WiNet zu Router: 192.168.188.108, 100 Mbit
LAN am WG: 192.168.188.113, 100 MbitSettings
Die Einstellungen habe ich von @Atlantis übernommen, vielen Dank dafür. Ich habe auch mit den unterschiedlichen Zeiten mal gespielt, welche oben diskutiert wurden.
Register & Co
Übernommen von GithubResultat
- Anschluss am LAN Winet: Verbindung kommt nicht zustande.
ja: Verbunden mit Host
ja: Lebenszeichen
nein: Verbunden mit Gerät oder Dienst
Log:
2023-12-06 18:48:20.476 debug Closing client on purpose. modbus.0 2023-12-06 18:48:19.475 debug Cleaning up request fifo. modbus.0 2023-12-06 18:48:19.474 debug Socket closed with error modbus.0 2023-12-06 18:48:19.468 info Disconnected from slave 192.168.188.108 modbus.0 2023-12-06 18:48:19.467 debug Closing client on purpose. modbus.0 2023-12-06 18:48:19.465 info Connected to slave 192.168.188.108 modbus.0 2023-12-06 18:48:19.080 info starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v18.19.0, js-controller: 5.0.16 modbus.0 2023-12-06 18:48:18.638 debug Plugin sentry Initialize Plugin (enabled=true) modbus.0 2023-12-06 18:48:18.599 debug States connected to redis: 127.0.0.1:9000 modbus.0 2023-12-06 18:48:18.539 debug States create User PubSub Client modbus.0 2023-12-06 18:48:18.538 debug States create System PubSub Client modbus.0 2023-12-06 18:48:18.525 debug Redis States: Use Redis connection: 127.0.0.1:9000 modbus.0 2023-12-06 18:48:18.485 debug Objects connected to redis: 127.0.0.1:9001 modbus.0 2023-12-06 18:48:18.477 debug Objects client initialize lua scripts modbus.0 2023-12-06 18:48:18.436 debug Objects create User PubSub Client modbus.0 2023-12-06 18:48:18.435 debug Objects create System PubSub Client modbus.0 2023-12-06 18:48:18.432 debug Objects client ready ... initialize now modbus.0 2023-12-06 18:48:18.395 debug Redis Objects: Use Redis connection: 127.0.0.1:9001
- Anschluss am WLAN Winet: Verbindung kommt nicht zustande.
ja: Verbunden mit Host
ja: Lebenszeichen
nein: Verbunden mit Gerät oder Dienst
Log:
2023-12-06 18:50:47.766 debug Closing client on purpose. modbus.0 2023-12-06 18:50:46.764 debug Cleaning up request fifo. modbus.0 2023-12-06 18:50:46.763 debug Socket closed with error modbus.0 2023-12-06 18:50:46.755 info Disconnected from slave 192.168.188.107 modbus.0 2023-12-06 18:50:46.753 debug Closing client on purpose. modbus.0 2023-12-06 18:50:46.752 info Connected to slave 192.168.188.107
- LAN Anschluss
Resultat das gleiche, wie bei 1 und 2. Erhalte den bereits im Form gemosteten Socket Error.
Winet
Unter Betriebs - > weiterleiten von Daten -> MODBUS-TCP IP1 erschien früher mal die iobroker IP. Mittlerweile auch nicht mehr.Verzweiflungstaten
- Neustart Router
- Neustart ioBroker
- Neustart WR nach jedem Wechsel
- Tischkante gebissen
- mehr Posts gelesen
- Tischkante gebissen
- wiederholtes Löschen und neu installieren des Adapters in iobroker
Ich wäre für Hilfe sehr dankbar.
LG & einen schönen Nikolaus-Abend. - Anschluss am LAN Winet: Verbindung kommt nicht zustande.
-
@ahnungsloshoffnungsvoll
Die Einstellungen im Adapter wären ja noch recht interessant gewesen, sei es drum.Verbindung: TCP
Partner IP: IP des Wechselrichters LAN oder WINet
Port: 502 (im Wechselrichter kontrollieren)-
IP des WR aufrufen
-
mit admin und pw8888 anmelden
-
System/Weitergabekonfiguration/Modbus
-
Port 502 Aktivieren
Geräte ID: 1 (im Wechselrichter kontrollieren)
-
Gerät/Geräteliste
-
Geräteadresse sollte auf "1" stehen
Dann sollte die Verbindung stehen, notfalls kann ein Update des WR helfen.
Mit dem ModbusMaster kann man dann mal versuchen einzelen Register zu lesen.
Dann kann man die Input und Holdings im IOB anpassen. -
-
@ahnungsloshoffnungsvoll du musst an den hintern LAN Port nicht an dem vom Dongel
-
@carsten-sauermann sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
@ahnungsloshoffnungsvoll du musst an den hintern LAN Port nicht an dem vom Dongel
Stimmt so nicht ganz, mein SH8.0 läuft bei mir mit dem WiNet ohne Probleme seit 1,5 Jahren.
Es kann nur sein, das nicht alle Register Abfragbar sind. -
@mcbeath Vielen Dank. Das Passwort kannte ich noch nicht.
Ich habe festgestellt, dass der Port 502 auch eingeschaltet ist, per Terminal konnte ich den auch vorher anpingen, habe ich nicht erwähnt. Die Geräteadresse lautet 1, für den Akku 200, wie oben in den Posts auch schon bei anderen so beschrieben.
Der WR wurde bei Installation vor 2 Wochen auf das neuste Update gebracht, wobei ich keine Versionsnummer kenne oder finde.@carsten-sauermann Leider funktioniert das gar nicht bei mir, es kann eine Verbindung zum LAN Port nicht aufgebaut werden.
-
Mit der Liste von Atlantis habe ich auch begonnen. Bei mir hat sie nach einer Weile auch zu Abbrüchen geführt. Der Sungrow Wechselrichter verzeiht fehlerhafte Abfragen nicht (vielleicht ist es auch ein Problem des Protokolls, ich bin nicht sicher). Sicher bin ich nicht, aber ich glaube Atlantis fragt mehr Register ab als abfragbar sind. Da laufen dann Fehler auf bis die Verbindung abbricht.
Die späteren Registerlisten sind besser.
-
@ahnungsloshoffnungsvoll
Dann würde ich jetzt mal mit dem ModbusMaster anfangen eine Verbindung zum WR aufzubauen.Hatte anfangs auch Probleme mit der Verbindung.
-
@mcbeath ich habe leider kein Windows, nutze mal ein anderes Tool. Leider kann ich das inhaltlich nicht so deuten. Es scheint eine Verbindung herzustellen.
-
@ahnungsloshoffnungsvoll
Das sieht eigentlich doch vielversprechend aus.
Kenne das Tool nicht aber ich Werte es auch mal als verbunden.Auf was läuft denn der IOB? Raspi, Docker etc?
Eventuell liegt es daran, daß du dem System den Port 502 öffnen musst. -
@mcbeath
@mcbeath Ich nutze einen Raspberry 4, RapsiOS Lite und iobroker.
Der Port 502 ist offen.
Ein Teilerfolg ist getan.
Nachdem ich einen Glühwein getrunken habe, stand plötzlich die Verbindung.
Jedoch werden die Daten nicht in die Register geladen.
Log:
modbus.0 2023-12-07 20:22:02.806 debug [DevID_1] Poll start ---------------------
Leider hat ein weiterer Glühwein das Problem nicht behoben.
-
@ahnungsloshoffnungsvoll
komisch, so ähnlich war es bei mir auch, als ob der WR erst mal vom Test-Tool ins Leben gerufen werden müssteDu solltest mit den Registern langsam anfangen, wenn da Sachen drin stehen die der WR nicht mag
läuft teilweise gar nichts mehr (Nach meine Erfahrung)Auch besteht das Problem beim Importieren der Register das das Einlesen nicht sauber funktioniert.
Hat mit dem trennen der einzelnen Werte zu tun._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 5000 Nominal Output Power Installierte Leistung Kw uint16be 1 0.1 0 value false false 5001 Output Type uint16be 1 1.0 0 value false false 5002 Daily Output Energy Eigene Energienutzung heute (PV & Akku) Kwh uint16be 1 0.1 0 value false false 5003 Total Output Energy Eigene Energienutzung gesamt (PV & Akku) Kwh uint32sw 2 0.1 0 value false false 5005 Total Runing Time Laufzeit der Anlage h uint32sw 2 1.0 0 value false false 5007 Inside Temperature Temperatur im Wechselrichter °C int16be 1 0.1 0 value false false 5010 MPPT 1 Voltage MPPT1 Spannung V uint16be 1 0.1 0 value false false 5011 MPPT 1 Current MPPT1 Strom A uint16be 1 0.1 0 value false false 5012 MPPT 2 Voltage MPPT2 Spannung V uint16be 1 0.1 0 value false false 5013 MPPT 2 Current MPPT2 Strom A uint16be 1 0.1 0 value false false 5016 Total DC Power Aktuell PV-Leistung DC W uint32sw 2 1 0 value false false 5018 Spannung Ph A Spannung Phase L1 V uint16be 1 0.1 0 value false false 5019 Spannung Ph B Spannung Phase L2 V uint16be 1 0.1 0 value false false 5020 Spannung Ph C Spannung Phase L3 V uint16be 1 0.1 0 value false false 5030 Total Active Power Wirkleistung W int32sw 2 1.0 0 value false false 5032 Reactive Power Blindleistung VA® int32sw 2 0 value false false 5034 Power Factor Leistungsfaktor int16be 1 0.001 0 value false false 5035 Grid Frequency Netzfrequenz Hz uint16be 1 0.01 0 value false false 12999 System State Systemstatus uint16be 1 1 0 value false false 13000 Running State Betriebsstatus uint16be 1 1 0 value false false 13001 Daily PV Generation PV-Stromerzeugung heute Kwh uint16be 1 0.1 0 value false false 13002 Total PV Generation PV-Stromerzeugung gesamt Kwh uint32sw 2 0.1 0 value false false 13004 Daily export energy from PV PV-Einspeise Energie heute Kwh uint16be 1 0.1 0 value false false 13005 Total export energy from PV PV-Einspeise Energie gesamt Kwh uint32sw 2 0.1 0 value false false 13007 Load power Aktuelle Last W uint32sw 2 1 0 value false false 13009 Export power Aktuelle Leistung am Übergabepunkt W int32sw 2 1 0 value false false 13011 Daily battery charge energy from PV Energie in Speicher aus PV heute Kwh uint16be 1 0.1 0 value false false 13012 Total battery charge energy from PV Energie in Speicher aus PV gesamt Kwh uint32sw 2 0.1 0 value false false 13014 C02 Reduction C02 Einsparung kg uint32sw 2 0.1 0 value false false 13016 Daily direct Energy Consumption Direkter Eigenverbrauch aus PV heute Kwh uint16be 1 0.1 0 value false false 13017 Total direct Energy Consumption Direkter Eigenverbrauch aus PV gesamt Kwh uint32sw 2 0.1 0 value false false 13019 Battery voltage Batteriespannung V uint16be 1 0.1 0 value false false 13020 Battery current Batteriestrom A uint16be 1 0.1 0 value false false 13021 Battery power Batterieent-Ladeleistung W uint16be 1 1 0 value false false 13022 Battery level Batteriekapazität % uint16be 1 0.1 0 value false false 13023 Battery state of health Gesundheit der Batterie % uint16be 1 0.1 0 value false false 13024 Battery Temperature Batterietemperatur °C int16be 1 0.1 0 value false false 13025 Daily battery discharge Energy Tägliche Entladungsenergie der Batterie Kwh uint16be 1 0.1 0 value false false 13026 Total battery discharge Energy Gesamte Entladungsenergie der Batterie Kwh uint32sw 2 0.1 1 value false false 13028 Self-consumption of today Heutiger Anteil des Eigenverbrauches % uint16be 1 0.1 0 value false false 13029 Grid state Netzstatus uint16be 1 0.1 0 value false false 13030 Phase A current Strom Phase L1 aktuell A uint16be 1 0.1 0 value false false 13031 Phase B current Strom Phase L2 aktuell A uint16be 1 0.1 0 value false false 13032 Phase C current Strom Phase L3 aktuell A uint16be 1 0.1 0 value false false 13033 Total active power Aktuell PV-Leistung AC W int32sw 2 1 0 value false false 13035 Daily Import Energy Energie Bezug heute Kwh uint16be 1 0.1 0 value false false 13036 Total Import Energy Energie Bezug gesamt Kwh uint16be 1 0.1 0 value false false 13038 Battery Capacity Batterie-Kapazität Kwh uint16be 1 0.1 0 value false false 13039 Daily Charge Energy Batterie-Ladeenergie heute Kwh uint16be 1 0.1 0 value false false 13040 Total Charge Energy Batterie-Ladeenergie gesamt Kwh uint32sw 2 0.1 0 value false false 13044 Daily export energy Energie Netzeinspeisung heute Kwh uint16be 1 0.1 0 value false false 13045 Total export energy Energie Netzeinspeisung gesamt Kwh uint32sw 2 0.1 0 value false false 13049 Inverter alarm Inverter alarm uint32sw 2 1 0 value false false 13051 Grid-side fault Netzfehler uint32sw 2 1 0 value false false 13053 System fault 1 System Fehler 1 uint32sw 2 1 0 value false false 13055 System fault 2 System Fehler 2 uint32sw 2 1 0 value false false 13057 DC-side fault Fehler DC-Seitig uint32sw 2 1 0 value false false 13059 Permanent fault Permanenter Fehler uint32sw 2 1 0 value false false 13061 BDC-side fault BDC-side fault uint32sw 2 1 0 value false false 13063 BDC-side permanent fault BDC-side permanent fault uint32sw 2 1 0 value false false 13065 Battery fault Batterie Fehler uint32sw 2 1 0 value false false 13067 Battery alarm Battery Alarm uint32sw 2 1 0 value false false 13069 BMS alarm BMS Alarm uint32sw 2 1 0 value false false 13071 BMS protection BMS Sicherung uint32sw 2 1 0 value false false 13073 BMS fault 1 BMS Fehler 1 uint32sw 2 1 0 value false false 13075 BMS fault 2 BMS Fehler 2 uint32sw 2 1 0 value false false 13077 BMS alarm 2 BMS Alarm 2 uint32sw 2 1 0 value false false
Das ist mein Inputregister versuche Erstmal nur ein zwei Werte abzufragen.
Wenn das läuft kannst du die Liste erweitern.
Ich würde mal mit der 13009 Leistung am Übergabepunkt anfangen. -
@mcbeath said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
13009 Export power Aktuelle Leistung am Übergabepunkt W int32sw 2 1 0 value false false
Ich hatte die Register bereits ausgedünnt, aber noch nicht soweit zurückgefahren. Ich habe nun folgendes Register als einziges:
mit dem Ergebnis:
Bei den Einstellungen:
Einiges schildern, das Alias benutzen nicht zu nutzen, jedoch verschwinden dann bei den Ergebnissen alle eingetragene Register.
-
Das „NaN“ vor dem Feldnamen heißt „Not a Number“. Ich denke das Register 13009 hat vermutlich ein Leerzeichen „13009 „. Damit ist es keine valide Registeraddresse und kann natürlich auch keine Ergebnisse liefern. Dieser invalide Request wird immer wieder abgesetzt bis der Server keine Requests mehr annimmt.
-
@gombersiob du H * E * L * D!
Ich danke dir. Ich musste da ziemlich oft das gleiche eintippen und korrigieren. Denn wiederholt stellte iobroker die Registerzahl einfach um, auf ganz andere Zahlen. Das verwundert mich ein wenig.
Ich danke auch @McBeath und @carsten-sauermann für eure Hilfe.
-
@gombersiob sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Das „NaN“ vor dem Feldnamen heißt „Not a Number“. Ich denke das Register 13009 hat vermutlich ein Leerzeichen „13009 „. Damit ist es keine valide Registeraddresse und kann natürlich auch keine Ergebnisse liefern. Dieser invalide Request wird immer wieder abgesetzt bis der Server keine Requests mehr annimmt.
@ahnungsloshoffnungsvoll
Das war genau das, was ich meinte mit: "Das das Importieren nicht immer sauber klappt."
Tippfehler bei manueller eingabe waren da aber schon mit eingeschlossenFreut mich, wenn es jetzt auch bei dir Klappt
Die Registereingaben müssen schon sauber sein, sonst kann es auch zu anderen Stöungen kommen.
Und nur das Eintragen, was auch wirklich benötigt wir, weniger ist manchmal eben doch mehr. -
Leider habe ich es nirgends gefunden, aber gibt es eine Option zu erkennen, ob der Heizstab an-/ausgeschaltet wurde?
-
Per PM kam die Frage nach der "gesteuerten" Zwangsladung über Modbus
In VIS hab ich das so eingebunden:
In den Holdingregistern stehen diese
Ein Aus ist in Vis so
Viel Erfolg beim Verknüpfen, fortgeschrittene können das auch per Script an den Börsenpreis koppeln dann dann brauchts keine Handsteuerung.