NEWS
Growatt Wechselrichter über Modbus auslesen - gelöst -
-
Ich hatte ja weiter oben in meiner Anleitung geschrieben, das diese Fehler bei mir auch kommen, die Daten aber trotzdem korrekt gelesen werden. Der Wert 20000 erscheint bei mir auch ab und zu, beim nächsten Takt kommen die Daten wieder vernünftig an. Ich vermute das bei 20000 die Daten nicht korrekt lesbar beim modbus Adapter ankommen und der sie daher nicht lesen kann.
Betreibst du Stick und rs232 Kabel parallel ?
-
Ja betreibe parallel!
Das Problem ist das die Daten so nicht weiterverarbeitet werden können da sie zu schnell wieder falsch sind. Die richtigen Daten sind nur eine Sekunde da.
Vorher hatte ich nie / kaum falsche Werte! -
Nagut dann ist es eigentlich klar, Beide können nicht gleichzeitig betrieben werden, weil beide senden. Das ging bei mir auch nicht. Mein wemos liest nur das mit, was der Stick anfordert. Die TX Leitung am wemos habe ich nicht angeschlossen. Die Fehlermeldung im Log resultiert daraus, das der modbus Adapter nichts senden kann.
-
Ich weiß ihr habt mehr Erfahrung!
Was mich dann allerdings wundert das hat jetzt wochenlang funktioniert. Ich habe auch die TX Leitung zum RS232 -> USB Adapter nicht angeschlossen, da sonst der Stick nicht funktioniert. Werde morgen mal den Stick weg machen ... dann müsste es ja wieder (zumindest nach deiner Theorie) funktionieren. -
Letztendlich bin ich auch nur durch probieren erfolgreich gewesen, hatte davon vorher auch keine Ahnung. Wenn es schon funktioniert hat, muss es das auch wieder, wenn nichts geändert wurde. Manchmal ist man auch einfach nur betriebsblind
-
Bevor ich mich jetzt dransetze eine eigene Platine mit ESP8266, einem MAX3232 und ein bisschen Hühnerfutter zu basteln schaute ich mir mal den für ~20€ mitgelieferten Growatt WIFI-S genauer an.
Der Stick meldete sich als Client an meinem UnifiController mit einem ESP Typischen Namen an.
Das weckte natürlich mein Interesse🧐
Also kurzerhand das teil abgebaut, unter ner leicht verklebten Moosgummidichtung 4 kleine Schrauben rausgeschraubt und dann diese schöne Platine entdeckt.Meint ihr, die wäre mit einer alternativen Firmware in der Lage, mir die vom Wechselrichter gelieferten Daten zu senden?
Über putty konnte ich bereits den boot des ESPs bai 115200Baud verfolgen. Danach aber nur noch Hieroglyphen.
-
@markbinary das ding macht nichts anderes als der Wemo D1 mini mit nem Serial Adapter and rx und tx...
Die firmware darauf ist der unterschied.
wenn du das ding mit der vonmir oben genannten firmware flashst, bekommst bestimmt auch über mqtt die Daten in den iobroker.Es gibt auch schon Ansätze das originalprotokoll abzugreifen in dem der Informationsfluß über ein Raspi umgeleitet und dann zum server geht.
Aber ich bleibe lieber offline. Die Variante mit der ino aus meinem oberen link ist für mich aktuell noch die Beste.
-
Sehr interessant da mal einen Blick drauf zu werfen. Wie schon angemerkt, gleicher Aufbau wie ein Wemos, allerdings mit ESP 07s Chip. Nur 1 MB flash Speicher anstatt 4 MB. Link ESP 07s
Wenn man den ESP in den flash Modus bringen kann, dann sollte jedes Script drauf laufen, sofern die Größe passt.......
-
Laut diverser Seiten gibt es den ESP-07s mit 32MBit Flash, d.h. mit 4MB. Hat mittlerweile jemand von Euch den Shine-Stick umgeflasht?
-
-
Wie und womit stellt ihr die Werte aus dem Wechselrichter eigentlich dar?
Würde mich freuen, wenn ihr ein paar Screenshots Eurer PV-Anlage hier hochladet...
-
Na mit iobroker und vis !? Oder wie ist deine Frage gemeint ? Das Layout ?
-
-
Nur mal nachgefragt: Funktioniert das Auslesen bei allen Growatt Wechselrichter? Hab hier schon 1500 gelesen und ich hab den 2000S
-
@SMS Sollte bei allen funktionieren....1000 s 1500 s 2000 s ......
-
Hi
Welche Einstellungen habt ihr denn mittlerweile? Ich habe zweimal den modbus-Adapter laufen mit zwei Wechselrichter, aber die gleichen Einstellungen funktionieren nicht.
Modbus.1
Modbus.2
Ich ändere immer die Poll delay, dann funktioniert es wieder eine Weile. Also Modbus.1 funktioniert, .2 macht Probleme ...
-
@wiednitz Hast Du zuffalig noch die dokumente von Growatt PV Inverter Modbus RTU Protocol V3.00, ich brauche es fuer meine Growatt Inverter zu kontrollieren, besten Dank
-
@wi hallo ... ich habe das dokument auf scribt gefunden brauchst du es noch ? lg rtax
-
Hallo,
hat sich einmal jemand damit beschäftigt ein Energiemessgerät SDM630 durch den IOBroker zu ersetzen?
Ich lese meinen Stromzähler mit einem Infrarot Lesekopf aus und habe alle Daten im IOBroker zur verfügung.
Wäre es nicht möglich, dass man dem Growatt Modbus Master einen Modbus Adapter als SDM630 Slave vormachen könnte.
Wenn im richtigen Register die richtigen Werte stehen würden, könnte das doch funktionieren, oder?Grüße,
Haubada -
@haubada Ich bin gerade dabei so eine Lösung zu bauen, denn ich möchte nicht, dass mein E-Auto von der Haus-Batterie geladen wird. Das Problem ist aber vom Growatt, dass er im 250ms Bereich abtastet, also 4x in der Sekunde. Und er wartet nicht. Ich habe aktuell lauter Kollisionen. Wenn ich die Antwort schicke, ist er schon bei der nächsten Abfrage und auf dem Bus-System kommt es zu Überschneidungen von RX/TX.
Hier ist die Implementierung von Growatt schuld.. Normalerweise müsste er nach der vollständigen Antwort 250ms warten und dann erst wieder einen Request absenden. Und solange er keine Antwort bekommt, muss er ein Timeout abwarten, bis die Antwort einfach nicht gekommen ist. Normalerweise 1-5 Sekunden.
Aber hingegen normaler Programmierung wird alle 250ms HART einen Request raus gesendet, egal was gerade auf dem Bus-System passiert.
Ich versuche zwei ModBus-TCP Geräte miteinander zu verbinden und die Kommunikation zwischen digitalen Stromzähler und dem Growatt über eine weite Strecke zu verbinden. IP-Verbindung ist vorhanden, aber einen zweidraht zwischen beiden Punkten zu verlegen ist quasi unmöglich.
Bei mir ist es aktuell so, dass die Latenz zwischen der Anfrage vom Growatt und der Antwort vom Stomzähler über den TCP/IP Weg zu groß ist, dass der Growatt schon eine neue Anfrage schickt, während noch die Antwort übermittelt wird und es so zu einer Kollision auf dem Bus kommt.
Einzige Lösung die ich mir vorstellen kann
Beim Growatt einen ESP32 mit einem TTL-to-RS485 Wandler hinbauen. Dem ESP32 das Register beibringen und das von extern zu bespielen. Und wenn der Growatt eine Anfrage stellt, dann einfach aus dem Memory die aktuellen Zustände übermitteln. Vom ioBroker aus kannst du ja deine vom IR Lesekopf empfangenen Daten an den ESP32 schicken und dort die Register "nachbauen".