NEWS
Growatt Wechselrichter über Modbus auslesen - gelöst -
-
@andibacke mit dem MIN habe ich keine Erfahrung. Ich regle meinen WR auch nicht, da ich Überschuss wenns mal vor kommt einspeise. Ich hoffe du hast Erfolg, viel Glück.
-
@mane444 Kurze Erfolgsmeldung von meiner Seite. Ich habe mir einen Waveshare bei Amazon geholt und auf Pin 3+4 angeschlossen.
Nach ein wenig Fummelei mit dem Gateway Einstellungen läuft nun die Nulleinspeisung
Vielen Dank noch einmal für die Register! Da hätte ich mich ja tot gesucht. Bei meinem MIN funktionieren jedoch nicht alle aber das ist nicht schlimm.
Bei Bedarf sende ich gerne noch ein paar Details.
Gruß,AnDiBaCkE -
@andibacke Hi, die Lösung würde mich interssieren. Welche Modbus Einstellungen hast du verwendet und hast du den Eingang des Zählers am Growatt genutzt für die Nulleinspeisung?
Danke und Gruß -
@jopo Moin! Ja ich nutze die Verbrauchsdaten vom SDM630.
Anbei die Einstellungen des Waveshare:
Gruß, AnDiBaCkE -
nochmal eine frage zu den Eingangsregister wie bist du auf die Idee gekommen die Adresse 00 +1, +30000 so das du im Adapter die 30001 einträgst gekommen.
ich verstehe das nicht und stehe grade bei einem Eltako Modbus Zähler vor einen ähnlichen Problem.Wieso also die Start-Adresse auf 30000 xD
Viele Grüße
-
Hallo,
Welche Einstellungen in modbus Adapter habt ihr vorgenommen. Ich schaffe es nicht mein growatt mod umrichter über modbus auszulesen an geklemmt hab ich ihm auf pin 3 und 4 und dann über einen USB Adapter an meinen pi angeschlossen.
?Muss ich in meinen growatt irgendwas da zu aktivieren?
-
Mit welchem Adapter habt Ihr bitte Zugriff auf den waveshare? (er ist bei mir über die IP erreichbar)
Danke
-
@pingo Moin! Für ioBroker nutzte ich den Modbus Adapter.
Gruß, AnDiBaCkE -
@andibacke Perfekt. DANKE. Ich habe ihn sogar zum Laufen gebracht. Bei meinem SPH 10000TL3 BH-UP musste man 40001 zu jedem Registerwert hinzuzählen (nicht 30001! das Register 01 dann mit 40002,...). Jetzt muss ich nur noch die richtigen Register finden und sie verstehen. Probleme machen mir noch die Minutenangaben:
3328 kann natürlich nicht die Minuten sein. Wahrscheinlich übersetze bzw. lese ich da falsch aus. Die Information ist im gleichen Register, nur eben im "low eight bit":
Welche Option muss ich bitte wählen, um die Minuten zu bekommen?
Danke
-
@pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Bei meinem SPH 10000TL3 BH-UP musste man 40001 zu jedem Registerwert hinzuzählen (nicht 30001!
dann bist du in den Holdingregistern.
und du hast wahrscheinlich Aliase benutzen aktivsind das Hex-Werte in der Anleitung? ?
-
@homoran genau.
Nein. Es sind Stunden und Minutenwerte laut Anleitung
-
@pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
genau
dann ist alles korrekt.
aber warum Holdingregister und nicht Inputregister? -
@pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Nein. Es sind Stunden und Minutenwerte laut Anleitung
hatten wir nicht schonmal das nachträgliche Editieren besprochen?
Das kommt, wenn Infos in vier Threads verteilt werden!ich meine die 1100 und 1101
-
@homoran Nochmal auf die Frage nach den Hex-Werten:
Das steht in der Anleitung:
The format for each byte in RTU mode is:
Coding System: 8–bit binary, hexadecimal 0–9, A–F
Two hexadecimal characters contained in each
8–bit field of the messageWie auch immer müsste ich beim Minutenwert die Zahl 30 bekommen, nicht 3328.
Das sind die Register 1100 und 1101 (hier 41101 und 41102)Ich hatte hier gelesen, dass man Holding register nehmen soll. Ich kenne den Unterschied zu Eingangsregistern nicht.
Ziel ist die Register auszulesen und dann natürlich die Objekte in IoBroker per JavaScript zu verändern und sie dann wieder so ins Register reinzuschreiben (dann muss ich wohl die Option CW aktivieren). Geht das auch mit Eingangsregistern?Ja. Ich hatte aber innerhalb von wenigen Minuten editiert. Sorry.
-
aber das war ein guter Hinweis. Wenn ich auf 8-bit unsigned (litte und big endian) umstelle, kommen die richtigen Minuten. Top
-
@pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
aber das war ein guter Hinweis. Wenn ich auf 8-bit unsigned (litte und big endian) umstelle, kommen die richtigen Minuten. Top
warum zeigst du nie von alleine die jeweils aktuellen Einstellungen?
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
@homoran Mach ich gerne:
damit funktioniert jetzt das Auslesen perfekt. Danke für die Inputs
Edit: Mittlerweile habe ich in der Dokumentation gefunden, dass das oben alles Holding Register sind. Eingangsregister gibt es auch. Die liest aber der Growatt Adapter auch aus.
-
@pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Mittlerweile habe ich in der Dokumentation gefunden
und vorher natürlich nicht gelesen
-
Eine Frage habe ich aber noch:
Ziel ist es, dass ich die Holdingregister auch via Script beschreiben kann. Das habe ich nun versucht, aber das klappt nur für wenige Sekunden, dann überschreibt wohl der Modbus Adapter meinen Objektwert bei den Minuten und Stunden wieder mit dem Wert davor. Welche Einstellung brauche ich bitte für den Holding-Registerwert, dass meine Objektveränderung bleibt? (CW zusätzlich zur Abfrage funktioniert bei den Zeiten und Switches leider nicht; nur bei den SOC-Werten)
setState('modbus.0.holdingRegisters.41092_wBatFirststop_SOC'/*41092 Wbatfirststop Soc*/,99); setState('modbus.0.holdingRegisters.41101_Bat_First_Start_Time_1_hour'/*41101 Bat First Start Time 1 Hour*/,3); setState('modbus.0.holdingRegisters.41103_Bat_First_on/off_Switch_1'/*41103 Bat First On/off Switch 1*/,1);
Danke
-
@pingo sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
CW zusätzlich zur Abfrage
schreddert dir binnen kurzem dein EEPROM, wenn nicht nur im RAM geschrieben eird.
diese halten etwa 100.000 Schreibvorgänge.
bei je einer bei jeder Afrage (jede Sekunde??) kannst du ja mal rechnen.was willst du denn am SoC verändern?
oder an sonstigen Ausleseparametern?