-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP8266 - NodeMCU #20
Comments
Moin Holzzer, danke für dein Lob und deine Anmerkungen. Gruß, |
Hallo beinand, Ich denke, daß auf den Growatt's irgendetwas Linux-artiges läuft, und deshalb verschiedene USB-Serial Converter unterstützt werden. In meinem Fork hatte ich angefangen da was aufzuschreiben, aber noch lange nicht pull-request-tauglich. Happy hacking! |
Hallo Otti,
hier mal ein Update, der NodeMcu lief die ganze Woche ohne Probleme durch.
1. Der Webserver "ESP8266WebServer httpServer(80);" konnte nicht gestartet werden, deshalb habe ich die Zeile hinzugefügt.
2. "#include esp8266webserver.h"
1. genau, die Variable "MQTT_MAX_PACKET_SIZE " war bei mir nicht definiert. So habe ich die schnell die Anzahl fixiert.
Gruss,
Holzzer
…________________________________
Von: otti ***@***.***>
Gesendet: Montag, 25. Juli 2022 16:32
An: otti/Growatt_ShineWiFi-S ***@***.***>
Cc: Holzzer ***@***.***>; Author ***@***.***>
Betreff: Re: [otti/Growatt_ShineWiFi-S] ESP8266 - NodeMCU (Issue #20)
Moin Holzzer,
danke für dein Lob und deine Anmerkungen.
Mich wundert etwas warum das überhaupt funktioniert. Verwendet der NodeMcu genau den gleichen seriell nach USB Konverter wie der original Stick? Ich kann mir nicht vorstellen, dass der Growatt Inverter pauschal alle seriell nach USB Konverter unterstützt. Aber ist ja gut, dass es funktioniert ;-)
Kannst du zu deinen Screenshots noch etwas mehr schreiben?
Screenshot 3: Hat es ohne das #include nicht funktioniert?
Scrrenshot 4: Existiert das #define MQTT_MAX_PACKET_SIZE bei dir nicht, oder warum hast du es durch eine Zahl ersetzt?
Gruß,
Otti
—
Reply to this email directly, view it on GitHub<https://github.com/otti/Growatt_ShineWiFi-S/issues/20#issuecomment-1194129878>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/A2GTDKGC46HXWXV5IJKSBS3VV2QRLANCNFSM54P6XKFQ>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Auch von mir Danke an Otti, klappt super. |
Hab mal die neuste Version "2022-07-31 Update" auf ESP8266 installiert. |
Hallo Bernd9000, ja, Leistung drosseln geht, auch übers Webinterface vom WifiStick.
In der Spec steht zwar, daß man auch 255 für Maximalleistung schreiben kann, aber das führte bei mir zu einer Modbus-Fehlermeldung. Leider sind die Register 06 & 07 "Pmax" "Normal Power" nicht beschreibbar. Interessant ist das Setzen der Max Ausgangsleitung, wenn man den Umrichter als Batterie-Inverter mit Eigenverbrauchsoptimierung einsetzen möchte. Happy throttling, |
Okay, Danke, probier ich Morgen aus. |
@otti Zeile 472: Falsch, die Variable "rd" kann nie den Wert "Holding" annehmen. Richtig: Und dann funktioniert es auch mit der Leistungssteuerung . |
Hi @Bernd9000, ich habe es geändert. Danke für den Hinweis. |
Hallo @Bernd9000, |
@achim-70 |
Ach ja, den Analog Eingang habe ich natürlich deaktiviert: |
Hab ich ja auch gemacht, weil ich vorher ebenfalls ständig der AP Modus hatte. Ich hab dann einfach den anderen Eintrag aktiviert: #define AP_BUTTON_PRESSED ( digitalRead(1) == HIGH ), womit das Problem mit dem ständigen AP Modus behoben war. Ich hab jetzt auch mal Deine Einstellung genommen, aber da ist dann wieder der AP Modus ständig da gewesen. Ich muss allerdings auch gestehen, dass ich nicht explizit den Wemos D1 mini gekauft habe, sondern - ich sage mal - einen Klon (XTVTX). Da in der Beschreibung steht "100% kompatibel mit Arduino und WeMos", bin ich mal davon ausgegangen, dass es keine Probleme bereitet. |
Guten Morgen, Zwischendurch mal noch eine andere Frage: Hast Du in Deinem Log auch den Eintrag "Error: Unknown Shine Stick"? Der ist mir von Anfang an aufgefallen und ich dachte, der kommt, weil ich eben nicht den Original-Stick verwende. |
Zu Anfang, wenn die Modbus Verbindung noch nicht geklappt hat steht bei mir auch "Error: Unknown Shine Stick" #0: Setup() |
Sonst würde ich an deiner Stelle noch weitere "WEB_DEBUG_PRINT" im Quellcode einbinden um den Fehler einzukreisen. Ist der "ModbusMaster by Doc Walker" eigentlich bei Dir installiert ? |
Ok, ich schau mal, wo ich sinnvollerweise noch "WEB_DEBUG_PRINT" unterbringe und berichte dann. Zum Thema ModbusMaster: Die Aussage "Enlighten your Arduine to be a Modbus master." hat mich zunächst etwas grübeln lassen, aber ich gehe davon aus, dass das in der Growatt.cpp erfolgt. Die Ausgabe beim Compilieren und Hochladen zeigt u.a. folgendes an: Fehlermeldung hab ich keine gefunden. Hab ich was beim Einrichten übersehen? Nutzt Du auch die Version 2.0.1? |
JA, ist bei mir auch die Version 2.0.1 |
Hey Bernd, |
Nun hab ich neue Hardware (D1 mini v3 von AZ Delivery). Das Flashen ging auf Anhieb durch und der AP "GrowattConfig" wird auch angeboten. Nur kann ich nicht wirklich eine Verbindung aufbauen. Ich hab es von vier verschiedenen Geräten (2 x Handy, 2 x PC/Laptop) versucht, immer das gleiche Verhalten. Zum einen verschwindet die SSID immer wieder mal, kommt aber wieder zurück, ohne dass ich das Board neustarte. Die blau LED leuchtet dauerhaft. Wenn ich es mal schaffe, das Passwort einzugeben, kommt die Meldung "Netzwerkanforderungen werden überprüft" (mal länger, mal nur ganz kurz) und danach die Meldung "Keine Verbindung mit diesem Netzwerk möglich". Einmal ist es mir bisher gelungen, dass sich eine Verbindung aufgebaut hat, aber dann hat sich die Startseite des AP nicht geöffnet und über 192.168.4.1 war sie auch nicht zu erreichen :-( |
Ja, da hab ich die wemos auch her. |
Oh weh, daran hab ich nicht mehr gedacht, Asche auf mein Haupt... |
Servus beinand, Wenn schon eines der bei Arduino mitgelieferten Beispiele nicht tut, dann liegt der Fehler häufig in den Compile-Einstellungen der IDE. Schau mal, ob dort als Board der Generic ESP8266 oder NodeMCU oder LoLin D1 oder sowas eingetragen ist. Auch die Größe der Flash-Size bzw OTA-Speicher macht manchmal Ärger: häufig 1M oder 4M. Bei den Beispielen solltest du den NodeMCU oder D1 am PC angesteckt lassen, und sehen ob du im Seriellen Monitor (via USB-Programmierkabel) etwas aufschlussreiches siehst. Die meisten Beispiele nutzen den Seriellen Port für Debug-Ausgaben... Mein Fork von der Firmware ist den Neuerungen von Otti etwas hinterher, ich hab noch nicht die Zeit gefunden das nachzuziehen. Wie auch immer: damit hatte ich es schonmal auf meinem Wemos-D1-Clone am TL600-X testweise für ein paar Tage erfolgreich am laufen. Cheers, |
Was mir gerade noch einfällt, hast Du auch das 5GHz Band bei deinem Wlan ? |
@otti if (MqttClient.connect("GrowattWL", mqttuser.c_str(), mqttpwd.c_str(), mqtttopic.c_str(), 1, 1, "{"Status": "Disconnected" }")) Ich hab das durch eine weitere Variable "INVERTER_NAME" in config.h gelöst. |
Hi @Bernd9000 , ich habe ein define mit dem namen MQTT_ID in der Config.h hinzugefügt. Danke für eure aktive mitarbeit |
Hallo Flo, Hier jetzt mal alle meine Einstellungen (über Werkzeuge): Vielleicht fällt euch ja noch was dazu ein. Bei "Flash Size" hab ich auch schon alle vier Möglichkeiten probiert. Im seriellen Monitor kommt erst das: Nach einigen Minunten wurde das noch angezeigt: load 0x4010f000, len 3460, room 16 Der HelloServer verbindet sich mit meinem WLAN und ich kann die Seite auch aufrufen, die die Meldung "hello from esp8266!" ausgibt. Der serielle Monitor zeigt folgendes an: Ist das mit dem "useless web hook" relevant? @Bernd9000: Ich hab das 5GHz Band mal ausgeschaltet, hat aber auch keine Besserung gebracht. Weder der AP Mode im "otti-Original" war stabil, noch hat sich der Fork von Flo im WLAN angemeldet. |
@achim-70 |
Ich hab die ganze Zeit mit der 2.0.0-rc9.1 gearbeitet und mir jetzt auch mal die 1.8.19 runter geladen. Aber mit keinem anderen Ergebis. Will die Version mal noch auf einem Gerät ausprobieren, auf dem die neuere Version nicht schon drauf ist. Außerdem hab ich bisland unter Windows 11 gearbeitet und probiere mal noch 10 aus. Die Bibliotheken sind aktuell und die neue Version von Otti hab ich auch schon probiert. Immerhin hab ich aktuell den Zwischenstand, dass das HelloServer-Beispiel funktioniert, das Flo vorgeschlagen hatte. Ich hab am Wechselrichter seit Februar 2021 den ShineWifi-X betrieben mit der Datenübertragung zu Growatt. Ist aber vor einigen Wochen ausgefallen und nur noch sporadisch ans Netz gegangen. Das Problem haben wohl etliche andere auch. Daher hab ich mich mal dran gesetzt, diese Version hier zu verwenden. Zunächst eben mit einem Wemos D1. Seit gestern hab ich aber auch einen Stick, mit dem aufgelöteten Widerstand (hat mir ein Kollege gemacht, löten kann ich nicht wirklich gut). Erste Versuche sind aber auch gescheitert, wobei ich noch nicht verstanden habe, wann und wie lange genau der Stick im Programmier-Modus bleibt. Aber dazu gibt es ja einen anderen Thread. Dort werde ich mich wohl auch mal blicken lassen... |
Also mit den Kommentaren hier habe ich es nun auch endlich zum Laufen bekommen. Ich hatte anfangs noch die Meldung "Disconnected", das konnte ich aber auch beheben indem ich in der Config.h folgenden Eintrag verwendet habe: Im Log habe ich paar Einträge mit "NOT successful", aber vermutlich kann man das ignorieren? Passt nicht ganz ins Thema aber hat jemand bereits Änderungen vorgenommen, damit ich die Werte als einzelne Datenpunkte im ioBroker verfügbar habe? Mit JSON kann ich nicht ganz so viel anfangen... |
@Spexx- |
Meine Arduino IDE ist nicht ganz aktuell, ich nutze die Version 1.8.5 unter Windows 10. Habe zuvor alle Bibliotheken aktualisiert sowie auch das Esp8266 Board (gab sonst Fehlermeldungen beim Kompilieren). |
@Spexx- Wegen dem JSON Format benutze ich im IOBroker Node-red. |
Kurzer Zwischenstand: Unter Windows 10 und Arduino IDE 1.8.19 hab ich den Fork von Flo auf Anhieb zum Laufen gebracht und die Daten landen in meinem FHEM. Jetzt brauche ich mal ein paar Tage Pause, dann werde ich mich auf die Suche machen, ob es tatsächlich am Windows 11 liegt oder die Arduino IDE Version 2.0.0 noch nicht so ganz will, wie sie soll. |
Nächster Zwischenstand: In meiner Win 10 & Arduino IDE 1.8.19 Umgebung hab ich auch die Version von otti ohne Probleme sowohl auf den D1 mini, als auch auf den ShineWiFi-X Stick flashen können. Beide haben auch nach der Konfiguration über den AP Modus Daten aus dem Wechselrichter geliefert. |
Hi i would like to update my shinewifi-x but i want to do backup first, do you know the way? Let me know when you can. Thanksss |
Ich habe immer noch ein WLAN-Netzwerk mit dem Namen "FaryLink...". Wie lässt sich das am Einfachsten deaktivieren? |
@otti |
Hi @Bernd9000 , ich habe mir den Pull Request #30 von Tom noch nicht vollständig angeschaut. Aber beim Überfliegen schaut es so aus, als hätte er die Möglichkeit eingebaut, sich alle verfügbaren Daten frei zusammenstellen zu können. Das sollte demnächst also verfügbar sein. |
Danke, werd ich mir Morgen anschauen. |
@Bernd9000 der PR ist übrigens gemerged. Mit v.1.20 müsstest du bei deinem 600TL-X die Ausgangsleistung in % bekommen: {
...
"OnOff": 1,
"CmdMemoryState": 0,
"ActivePowerRate": 100,
} Funktioniert jedenfalls bei meinem 1000TL-X und der sollte gleich funktionieren. Setzen muss man das leider noch manuell über die Register (irgendwann hoffentlich mal über MQTT), aber zumindest werden diese schon mal ausgelesen. Wenn ich das richtig verstanden habe muss man CmdMemoryState (Register 2) noch auf 1 setzen, damit der Inverter die Einstellungen beim Neustart behält. |
@zinserjan ich regle den 1500TL-X auch über das Register 3. Derzeit noch so weit reduziert um den Grundbedarf abzudecken. Ich hatte bereits versucht via MQTT Subscribe den aktuellen Verbrauch meines Smartmeters abzufangen, um dadurch den WR für eine Nulleinspeisung regeln zu können. Leider reichen meine Programmierkenntnisse wohl nicht genug aus. Zumindest lief der Stick nach meiner Modifizierung nicht mehr sauber hoch. Wenn man diese möglichkeit irgendwie einbauen kann, könnte man damit sogar den SDM630 ersetzen. |
Hi ! Sorry I don't speak german but I translated this issue and I see that some have the same issue as me,
did someone managed to get it working ? thanks ! |
@ansem187 Adresse: Werte: "wert" ist hier meine Variable für die Ausgangleistung in Prozent. |
Hi |
Hi ! I will try this after work and let you know if it worked ! thanks ! |
Should I restart my inverter after inserting my board maybe ? ( Which i checked, he has a CH340 on it not a ftdi ) |
|
It works !! thanks a lot !! |
Hallo Otti, ich wollte mich bedanken für das gute Programm. Ich habe gerade mit einem NodeMCU-Board und über den normalen USB-Port die Verbndung zum Growatt MIC 1000 TL-X aufgebaut. Zuvor hatte ich sehr viel Zeit mit der separaten RS485 Schnittstelle erfolglos verbracht.
Beim Kompilieren deines Programms müsste ich zwei Änderungen vornehmen (siehe Bilder). Vielleicht kannst du ja diese Erfahrungen mit einfliessen lassen.
Nochmal vielen Dank,
Holzzer
r
The text was updated successfully, but these errors were encountered: