NEWS
Growatt Wechselrichter über Modbus auslesen - gelöst -
-
ja genau alles gleich geblieben!
-
irgendwie funktioniert die Installation bei mir nicht. könnt ihr mir da helfen? Modbus bringt mittlerweile nur noch Fehler.

dachte in dem WiFi Stick ist ein esp8266 verbaut. kann ich dann nicht einfach den auslesen?
Wenn man den Stick nutzen könnte für iobroker, hätten wir das schon gemacht :-)
Der ESP im Stick verarbeitet die Daten auch, schickt sie dann aber direkt zu Growatt. Es gibt zwar Projekte, die diese Daten mit einem Proxy abfangen und unter Linux verarbeiten, aber höchst kompliziert, unser Weg ist dagegen recht einfach.
Warum dein modbus Fehler bringt, ist aus der Ferne schwer zu sagen, scheint ja an deiner Installation zu liegen. Ich habe Windows, du anscheinend Raspberry. Davon habe ich keine Ahnung.
-
Es kommt erst seit zwei Tagen nur noch Müll an. Keine Ahnung warum. Vorher keine/kaum Probleme.
Kann ich diesen GitHub Growatt_mqtt unter Linux nicht verwenden?
Falls doch, wie? Bekomme es nicht hin.Hab mir grad nochmal deinen Screenshot angeschaut....versuchst du etwa die .ino Datei unter iobroker zu installieren ????? Ino Dateien sind für arduino ide und werden direkt auf einen Wemos D1, eine NodeMcu oder dergleichen geladen und direkt da ausgeführt !!! Die hängen direkt am Inverter und schicken die Daten zum Iobroker !!! Anleitung beachten !!!
-
irgendwie funktioniert die Installation bei mir nicht. könnt ihr mir da helfen? Modbus bringt mittlerweile nur noch Fehler.

dachte in dem WiFi Stick ist ein esp8266 verbaut. kann ich dann nicht einfach den auslesen?
@SMS sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
irgendwie funktioniert die Installation bei mir nicht. könnt ihr mir da helfen? Modbus bringt mittlerweile nur noch Fehler.

dachte in dem WiFi Stick ist ein esp8266 verbaut. kann ich dann nicht einfach den auslesen?
Das ist auch kein iobroker adapter.
so einfach ist es nicht.der sketch muss auf einen Wemo D1mini geflasht werden. Daten werden dann mittes MQTT Protokoll zum MQTT Adapter vom iobroker übermittelt.
Am WemoD1 mini muss noch mittels Hardware die Informationen vom Growatt eingesamelt werden. Das ist oben ganz gut beschrieben.
-
Hab das ja ohne den Wemos hinbekommen. Nur, warum auch immer, funktioniert das nach Wochen ohne Probleme nicht mehr und ich bekomme nur noch Müll wie Status 20000 übertragen.
Werde dann doch mal die Wemos Variante versuchen, wenn ich es hinbekomme. Werde dann vermutlich wieder fragen haben. 😒🤔 -
Hab das ja ohne den Wemos hinbekommen. Nur, warum auch immer, funktioniert das nach Wochen ohne Probleme nicht mehr und ich bekomme nur noch Müll wie Status 20000 übertragen.
Werde dann doch mal die Wemos Variante versuchen, wenn ich es hinbekomme. Werde dann vermutlich wieder fragen haben. 😒🤔Na dann hast du den Raspberry per rs232 Kabel mit dem Inverter verbunden !? Wir schicken die Daten über WiFi an iobroker.
Im modbus Adapter korrekte baudrate 9600 eingetragen ? 8n1 ? Meinen modbus Adapter muss ich ab und zu neu starten, damit er wieder arbeitet, steht dann dauerhaft auf gelb.
-
Ja mit RS232 Adapter an USB Port angeschlossen.
Wie gesagt, hat bis vor drei Tagen funktioniert. Dann nicht mehr. Neustart Raspberry, Modbus Adapter ohne Erfolg. An den Einstellungen habe ich nichts geändert, aber auch kontrolliert.
Ich würde mal sagen der Adapter funktioniert, nur der WR sendet Müll oder Modbus verarbeitet die Daten zu Müll.
Wobei der Stick funktioniert. Irgendwie komisch ... -
Ja mit RS232 Adapter an USB Port angeschlossen.
Wie gesagt, hat bis vor drei Tagen funktioniert. Dann nicht mehr. Neustart Raspberry, Modbus Adapter ohne Erfolg. An den Einstellungen habe ich nichts geändert, aber auch kontrolliert.
Ich würde mal sagen der Adapter funktioniert, nur der WR sendet Müll oder Modbus verarbeitet die Daten zu Müll.
Wobei der Stick funktioniert. Irgendwie komisch ... -
LOG heute morgen:

Die Einstellungen hier haben funktioniert:

Das kommt rüber:

So wäre es richtig:

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. -
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 😉
-
Growatt Modbus Daten per RS232 Wifi Bridge an Iobroker senden
Ziel war es die Daten per Wifi an Iobroker zu senden. Die vom Modbus verarbeiteten Daten stelle ich dann auf dem Tochscreen im Flur dar,

die Aktualisierung erfolgt etwa aller 10 Sekunden mit Shine Stick, ohne Stick stellt man den Intervall im Modbus Adapter ein.Benötigte Hardware:
-1 x RS232 Stecker mit Mainboard Anschlusskabel und Buchse
-1 x RS232 Stecker Männlich
-1 x RS232 Buchse Weiblich oder Stecker mit Gender Changer
-MAX3232 RS232 Schnittstelle auf TTL Konverter Modul
-LM317 mit R1 240 Ohm und R2 720 Ohm
-Lochrasterplatine, Jumperkabel, Stiftleiste
-WEMOS D1 mini oder NodeMCUDie RS232 Anschlüsse, den LM317 und die Widerstände habe ich aus alter PC Hardware gewonnen, das TTL Modul und den WEMOS in China bestellt. Der Inverter stellt am RS232 Pin9 8 Volt Spannung bereit, der LM317 macht mit den beiden Widerständen 5 Volt daraus. Die werden an VIn des WEMOS gegeben, dessen 3,3 Volt Anschluss versorgt den TTL Wandler, damit der 3,3 Volt Pegel an TX und RX für den WEMOS bereitstellt. Man kann die Spannungsversorgung natürlich auch mit einem USB Netzteil realisieren.
Pin2 am RS232 Anschluss des Inverter ist TX, Pin3 ist RX, Pin5 GND, Pin9 Spannung. Diese werden 1:1 mit der RS232 Buchse für den Shine Stick verbunden, sofern dieser mit genutzt werden soll.
Soll der Shine Wifi Stick genutzt werden, gelten folgende Verbindungen: TX Leitung vom Inverter an RX Pin3 am RS232 Stecker für TTL Wandler, RX vom TTL an RX am WEMOS. Die RX Leitung vom Inverter hat keine Verbindung zum TTL, respektive zum WEMOS. Der Modbus Adapter empfängt dann nur die Daten mit, die vom Shine Stick angefordert werden. Ist die RX Leitung mit verbunden, funktioniert der Shine Stick nicht. Bei dieser Variante kommt es jedoch zu Fehlermeldungen im Log des Iobroker/Modbus, die Daten werden jedoch meist korrekt gelesen, ab und zu jedoch auch Nonsens, dann steht zum Beispiel bei Inverter Status "20000" als Wert.
Soll der Shine Wifi Stick NICHT genutzt werden, gelten folgende Verbindungen: TX Leitung vom Inverter an RX Pin3 am RS232 Stecker für TTL Wandler, RX Leitung vom Inverter an TX Pin2 am RS232 Stecker für TTL Wandler, RX vom TTL an RX am WEMOS, TX vom TTL an TX am WEMOS.
Fertig sieht das dann so aus,

über das Layout lässt sich streiten, aber es funktioniert erstmal.
Benötige Software:
-ESP Link auf Github
-ESPRESSIF Flash Download Tool Download Page
-Iobroker
-Modbus AdapterAlle Arduino Sketche die ich für Growatt oder Serial to Wifi gefunden hatte, haben keinen Erfolg gebracht. Nur die ESP Link Software hat funktioniert.
Flash Einstellungen siehe Bild:

Im esp-link Programm "Pin assignment" auf "esp-12" setzen und nach Anleitung auf der Homepage für das heimische Wifi konfigurieren. Diese stellt dann die Daten des Inverters an der IP des WEMOS am Port 23 bereit. Abfragen kann man diese mit dem Modbus Adapter im Iobroker, Einstellungen siehe Bild:

Mit "Poll delay" stellt man die Abfragezeit ein, mit der die Werte aktualisiert werden, sofern kein Stick angeschlossen ist. Wenn ein Stick angeschlossen ist, beinflusst dieser Wert die Häufigkeit der auftretenden Abfragefehler. Da bin ich noch am testen, um die Häufigkeit zu reduzieren.
Die Eingansregister sind wie abgebildet in dieser Reihenfolge einzutragen. Das gilt insbesondere für die Register "Generated Power", da sonst die Werte nicht korrekt angezeigt werden, auch wenn bei Register 27 und 29 "0 Kwh" steht.

Ist die Hardware korrekt angeschlossen, sollte die Blaue LED des WEMOS blinken und die Konsole (9600 baud und 8N1 einstellen) vom ESP Link (IP vom WEMOS im Browser) folgendes Bild zeigen (hier mit Shine Stick):

QNB3920002 ist die Seriennummer, GEAD1022 und BG.2.0 die Firmware Version.
Werte im Iobroker:

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.

-
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.
-
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.

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.......