NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
Hallo,
bin gerade im regen Kontakt im Huawei und will auch gerade Daten auslesen, komme aber gerade auch nicht weiter. Meine Erkenntnis:
Modbus RTU
Wenn ihr den Dongle angeschlossen habt dann ist der intern an den Pin 1 und 3 oder 2 und 4 Master, RS485. Ihr könnt dann mit dem IoBroker keine Daten mehr abgreifen da es nur ein Master geben darf.Mosbus TCP
Hier die Anleitung von Huawei wie es funktionieren soll Huawei Modbus-TCP Aktivierung unter SPC124 SmartDongle.pdfIch kann die IP-Adresse anpingen, bin mit LAN verbunden. Laut Huawei sollte Wlan und Lan funktionieren.
Zu meinem Problem
Über den Dongle soll ich auf die Adresse 0 zugreifen, darunter sind Sub-Systeme wie Wecheslrichter, SmartMeter, Batterie, Optimierer.
Wie kann ich im IoBroker Sub- Systeme einstellen?
Dank Euch Gruß Alex
-
So, ich hab die Antwort von Huawei, also Modbus geht wohl nicht über lan, teste ich nachher mal über Wlan dann halt eben.
Anbei noch 2 pdf´s die die mir mitgeschickt haben.
2021M1005 Modbus TCP communication with residential inverters trough SDo....pdf
SDongleA-05 MODBUS TCP Guide.pdf -
Über Modbus Poll, Modbus master simulator können Daten gelsen werden, über LAN. WLAN habe ich nicht probiert.
Probiert nach der Vorlage 2021M1005 Modbus TCP communication with residential inverters trough SDo....pdf.
-
So, ich stehe immer noch in Kontakt mit Huawei, jetzt angeblich würde gar keine Variante gehen, egal ob Sdongle oder nicht. Glaube bald die wissen es selber nicht.
Aber anscheinend bin ich nicht der einzige mit dem Problem, dass in der APP der Punkt Modbus garnicht auftaucht.
Mit der Firmware 123 des Dongles ist Modbus TCP generell aktiv laut Internet, das muss ich nachher mal testen.
Oder hat noch wer eine Idee, wie ich Modbus TCP aktivieren kann?Gruß und Danke
-
@ple
Welche APP benutzt Du denn? SUN2000 oder FusionSolar? Vielleicht macht das ja einen Unterschied. Ich hab's mit SUN2000 gemacht, da gibt es (zumindest bei mir) den Punkt "Modbus TCP". -
Bei einem Update bekam ich mal den Hinweis, dass die APP zu aktualisieren sei um alle Funktionen nützen zu können. Darum wie es badsnopy schon geschrieben hat würde ich das auch versuchen
-
@badsnoopy667
@badsnoopy667
ich habs mit beiden getestet.
Könnte mir höchstens noch vorstellen, dass es ein Iphone ist und kein Android.
Naja, ich warte noch mal weiter auf Antwort von Huawei, sonst müsste ich mein ein zurücksetzen testen. Irgendwie muss man doch das Modbus TCP über den Dongle per Wlan oder Lan am laufen bekommen. -
@ple Ich hab auch ein iPhone, daran scheint es nicht zu liegen.
-
Habe gerade folgende Antwort von Huawei Support bekommen! Bezüglich Firmware und Modbus TCP
Bitte stellen Sie sicher, dass Sie die neuesten Firmware-Versionen für Wechselrichter und für SDongle haben( dongle spc127 und WR spc141)
-
@captainchaos666
Sdongle gehe ich gerade wieder zurück auf die 127.
Für meine WR KTL30-M3 ist diese hier die aktuelleste.
V100R001C20SPC112Mal abwarten was von Huawei noch so kommt.
-
@ple
Sdongel: V100R001C00SPC123
SUN2000-8KTL-M0 : V100R001C00SPC140Ich lese per WLAN aus. Per Lan ging es auch.
Ich hatte gerade versucht die Daten mit dem EVCC auszulesen. Das bekomme ich nicht zum laufen. Bis jetzt hatte ich nur mit Node-Red erfolgt. -
@badsnoopy667 Hallo, ich benötige Hilfe. Irgendwie bekomme ich es nicht hin. Ich habe am SUN2000 Die Modbus TCP Verbindung auf Aktivieren (uneingeschränkt) gestellt. Ich kann die IP des WR auch anpingen.
Allerdings bekomme ich das mit Node-red nicht hin. Ich habe einen Flow mit Modus-Getter erstellt.
Hier habe ich folgende Einstellungen gemacht:
UnitID: 1
Adresse: 32016
Und hier noch die Servereinstellungen
IP und Port vom WR.
Allerdings kommt immer die Meldung
Error: Client Not Ready To Read At State initWas könnte ich noch falsch gemacht haben?
-
@murokey Hi!
Hast Du es mal mit meinem Flow von oben probiert? Auf den ersten Blick sehe ich bei Dir zwar keinen Fehler, aber ich weiß nicht, ob man diese "buffer parser" nodes nicht doch braucht. In denen wird ja eingestellt in welcher Form die Daten kommen, z.B. Int16 oder Int32.
Nimm doch mal meinen Flow und davon dann nur einen Teil und trag da Deine UnitID und IP überall ein. Geht es dann auch nicht? -
@badsnoopy667 Leider funktioniert es dann immer noch nicht. Kann es sein das ich noch irgendwie einen Port freischalten muss?
Allerdings sollte hier alles passen.
Kann es an der UnitID liegen? Die muss ja im Modbus-Getter und im Modbus-Client gepflegt werden. Entspricht die UnitID der im RS4851_1 Menu unter Komm.adresse definierten Nummer?
Und eine weitere Frage? Gibt es eine Aussage zur APP? Funktioniert es mit der FusionSolar, mit der SUN2000 oder mit beiden?
Ich konnte bisher nur Einstellungen mit der FusionSolar machen, da ich mit der anderen keine Verbindung hin bekommen habe. -
@murokey
Du hast nicht zufällig parallel noch den Modbus Adapter oder ein anderes Programm das per Modbus auf den WR zugreift laufen, oder? Mein Halbwissen sagt mir, das der Client immer nur eine Verbindung gleichzeitig aufbauen kann.Zur App, ich hab es mit SUN2000 eingestellt (bzw. mein Elektriker). FusionSolar habe ich nicht probiert. Nachdem es bei einigen ja doch Probleme gibt habe ich mir überlegt, ich gehe da auch erstmal nicht mehr dran. Hier funktioniert es ja.
-
@murokey
Ja schau ob noch ob etwas anderes auf den Modbus zugreift.
Ausserdem muss auch die Registernummer stimmen. Die ist bei Huawei nicht immer gleich.
Hier mal meine Einstellungen. Ich habe den SUN2000-8KTL-M0. Der SUN2000-8KTL-M1 hat glaube ich andere Registernummern. Ausserdem hatte ich ich zum testen den Stecker, der zum Smartmeter geht, abgezogen. Keine Ahnung ob das geholfen hat. Aber mit einmal ging es ab da. Nun läuft es auch mit Stecker.
Ich habe keine Ports Freigegeben. NodeRed läuft im Iobroker auf einem Nuc. Nuc hängt im LAN an einer Fritzbox.
Wechselrichter hängt im WLAN. -
Hallo,
bekomme so halbherzig Daten mit Node-Red raus. Habe mit meinem Spieltrieb parallel dazu den Modbus-Adapter gestartet. Und siehe da, es kommen jetzt auch hier plausible Daten rein. Leider bricht die Verbindung hier nach einem Zyklus wieder abMit Node-Red habe ich das Problem, dass ich vom 2ten WR nur ein paar Daten bekomme. Die aktualsierung der Daten hört mitten drin auf, zwischen den Register 32018 und 32019. Dann kann ich noch ein für mich nichtssagendes Fehlerprotokoll anbieten
-
@biervoegelhasso Wie kann ich herausfinden welche Unit-Id ich für den Wechselrichter (SUN2000-10KTL-M1) einstellen muss? In deinen beiden Bildern ist ja einmal 2 und einmal 3 konfiguriert.
-
@murokey Bei der Unit ID war ich mir auch nie 100% sicher. Mir ist auch nicht aufgefallen das ich in dem Script unterschiedliche IDs vergeben habe. Ich habe das Script nun korrigiert. Meine ID ist die 2. Verändere ich auch nur bei einem Register die ID auf 3 bricht die ganze Verbindung ab. Nur mal als Tipp.
Mit zwei Programmen auf den Bus zuzugreifen ist mist. Das kann nicht funktionieren. -
@captainchaos666
Kann es vielleicht sein, dass Dein Abfrageintervall für die Menge an Registern zu kurz ist? Der ließt die ja alle schön nacheinander ein. Vielleicht wird er einfach nicht fertig. Die wenigsten dieser Daten braucht man ja "live". Ich frage nur eine handvoll Daten im 5 Sekunden Takt ab, den Rest 1x pro Minute.
Und ja, die UnitID muss überall stimmen.
In der Übersicht der Modbus Register von Huawei (Version 3) steht:
"Based on the TCP communications host, unit 0 is used by default to access the
directly connected slave node, and other addresses are used to access the
downstream devices of the slave node. The default address of the slave node is 0.
The address is adjustable."
Kann also auch 0 sein, fängt nicht mit 1 an!