-
Notifications
You must be signed in to change notification settings - Fork 24
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
Growatt SPH3000-RS485-ESP32-MQTT #96
Comments
PS This makes the file easier to read. I have now tested it with a HW-0519 board. Unfortunately with the same result as already described. It only works for a certain time. |
Aus den Logs kann ich leider keinen Fehler herauslesen, sieht alles normal aus. Ich finde auch kein Hinweis auf einen MQTT dis- oder reconnect. |
Hallo Tobias,
wenn die MQTT-Verbindung stirbt läuft ja die RS485-Verbindung weiter, das sieht man im HTerm. Um MQTT wieder zum Laufen zu bringen trennen ich kurz die RS485 und nach kurzer Zeit sind alle Werte für unbestimmte Zeit wieder da.
Nach einem Neustart des ESP32 läuft er nicht an, erst wenn ich die RS485 wieder kurz trenne.
Ich hab jetzt mal einen anderen Wandler benutzt, leider ohne Verbesserung.
Könnte es sein das der ESP32 mit der Live Datatransmission von 5sec überfordert ist?
Ich hatte sie jetzt mal auf 30sec gestellt. Hat aber auch nix gebracht.
Gruß Eckhard
Update 12:00Uhr
anderen Wandler und anderes ESP32 verwendet - gleiches Verhalten wie beschrieben.
Am 28.11.2024 07:08 schrieb tobiasfaust
Aus den Logs kann ich leider keinen Fehler herauslesen, sieht alles normal aus. Ich finde auch kein Hinweis auf einen MQTT dis- oder reconnect.
Wie sieht es aus wenn RS485 steckt und der ESP neu startet? Es gibt eigentlich keine Abhängigkeit zwischen WLAN/MQTT und der RS485 Verbindung
|
nein, der ESP ist nicht überfordert, bei mir läuft es im 3sec Intervall sauber seit Monaten durch.
Ich habe keine Ahnung was bei dir herum zickt :( |
die nenne sich ESP32-WROOM-32. ich habe zwei verschiedene davon. Das werde ich mal probieren, leider will gerade mein HTerm nicht mehr connecten auf dem Laptop. Einmal abgestürzt und nun spinnt das HTerm. Ich weis auch nicht was da zickt |
hängen bei dir "Wlan Repeater" zwischen Router und Modbus Modul? Ich benutze ebenalls den ESP32-WROOM-32 (ESP32) seit über 1,5 Jahren ohne Probleme. |
ja es ist ein Repeater dazwischen. |
Probier mal testweise den Test.mosquitto.org zu benutzen |
Hm, das mit Test.mosquitto.org haut bei mir nicht hin, hab ich noch nie benutzt. hier noch mal die LOGs |
Der esp stürzt ein paar mal ab bevor er läuft. Häng mal ein stärkeres Netzteil dran. |
Die Netzteile haben alle mindestens 3A bei 5V. Es will einfach nicht durchlaufen. |
Ich habe ein Vermutung, kannst du den esp mal ohne Repeater direkt in die Nähe deines AP bringen? Ggf. Die RS-485 Verbindung über ein Netzwerkkabel verlängern. Es kann sein das der Webserver starten will, die Wifi Verbindung aber noch nicht steht. |
Hallo Tobias, Gruß Eckhard |
Hier findest du eine Anleitung: https://github.com/tobiasfaust/SolaxModbusGateway/wiki/adding-new-inverters-or-items#find-out-live-data-get-new-items Probier mal bitte die neueste Development version über den web-installer: https://tobiasfaust.github.io/SolaxModbusGateway/ Anscheinend liefert sein WR irgendetwas zurück was den ESP zum Absturz bringt, deshalb brauche ich ein Log mit Loglevel 4 zum Zeitpunkt des Absturzes um die Antworten des WR zu sehen. |
Deine Anleitung hab ich schon gelesen. Für mich noch etwas verwirrend. Das Release: 3.3.0 läuft jetzt auf einem ESP32. schauen wir mal obs das ist. Welchen Log meinst Du? Den über ESP32-USB mit HTerm? |
Ja, mit hterm. |
Dazu muss ich erstmal erfolgreich zusätzliche Werte hinzu gefügt haben, dann ist ein anpassen der Anleitung möglich. Es geht schon los, dass ich fünf verschiedene Datenbankschemen und Register habe. Welches passt zu meinem neuen WR. Bis jetzt sieht es aber schon mal besser aus, Wie bekomme ich die Datei "Growatt-SPH-neu.json" und Andere zum Test in den ESP32? Im ESP32 lässt sich keine Datei ändern. |
Hallo Tobias, ich habe deinen neuen Installer benutzt, funktioniert super. Meine ESP32ger laufen inzwischen mit der neuen Version bis jetzt ohne Ausfälle. Gruß |
Hmmm, jetzt hab ich dich zu getextet, tut mit leid. Eine Frage habe ich noch.
Ich hab die Inverter SerialNumber im Status nur einmal gesehen und weis aber nicht wie so. Eckhard |
In der files section kannst du natürlich auch anpassen . dein letzter Post kann man mit den examples machen |
Wo mache ich das examples? |
Zur Info: |
Hast du nicht noch eine Idee zum den nicht vorhandenen Raw Data of ID-Data? |
Moin ! Das Schlüsselwort für mich fiel letzte Woche: „fhem“. Diese Heimautomatisierung nutze ich auch (und gern), Probleme wie die hier beschriebenen hatte ich auch. Grüße, |
Hallo Stefan, Gruß |
Hallo Eckhard! Das hatte ich vergessen, zu schreiben… tatsächlich auch einen Growatt, hier den SPH10000TL. Ich hab mich reichlich lang mit dessen Modbus-Schnittstelle auseinandergesetzt. Laut mehrerer Quellen soll die Spezifikation V1.20 am vollständigsten sein, bei mir passt die auf mein 2024er Gerät, ich verwende 40 Datenpunkte von den ca.70, die ich definiert habe - läuft super. Gruß, |
Ich habe beide Growatt .json(MOD und SPH) benutzt und daraus meinen Datensatz erstellt. Mein WR hatte von beiden was und ich weiß noch nicht welche Spezifikation passt. Ich habe auch eine V1.24 und bin da noch am durchfitzen. Ist alles noch neu für mich. Woher hast du deine Growatt Modbus Doku? |
Dazu muss man mit seinem eigenen Github-Account angemeldet sein, von meinem Development Branch einen Fork ziehen. Ein Fork ist praktisch nur eine Repository Kopie im eigenen account. Danach in seinem eigenen Account in dem Fork die Anpassungen machen. Anschließend über die eigene Github Website einen PullRequest erstellen. |
Damit die ID-Daten wieder ausgelesen werden können, muss man die abzufragenden Register in ein Array packen. @tobiasfaust wenn du möchtest kann ich das gerne anpassen und pushen |
check mal die basisconfig, da hast du bestimmt die WebUI Authentifizierung aktiviert. Per default ist es aus, standarduser/pw ist aber "admin/admin" Steht auch so im Wiki ;) Bzgl Aussetzer, kann ich mir nur vorstellen wenn du die ganze Zeit das WebUI des ESP geöffnet haben solltest. Oder du ständig /getitems abfragst. |
Hallo Tobias. ich kann das bestätigen von Eckhart mit dem Passwort und die WEBUI Authentifizierung ist deaktiviert. |
So ich habe das ganze jetzt mal geloggt. |
Hier nochmal log level 4, da steht noch was von littlefs no permits, das war im anderen log nicht aufgeführt... output_2025-01-04_10-34-41 4 mit.txt attempting to start WebServer abort() was called at PC 0x4016db13 on core 1 Backtrace: 0x400837d1:0x3ffb1a00 0x4008dc35:0x3ffb1a20 0x40093159:0x3ffb1a40 0x4016db13:0x3ffb1ac0 0x4016db5a:0x3ffb1ae0 0x4016dc53:0x3ffb1b00 0x4017b23f:0x3ffb1b20 0x400db64d:0x3ffb1dc0 0x400e1a82:0x3ffb1de0 0x400e2331:0x3ffb21d0 0x400e23ed:0x3ffb2250 0x400daf21:0x3ffb2270 0x400f909d:0x3ffb2290 ELF file SHA256: 7c63abb13917180d Rebooting... |
Ich hab heute meinen Test ESP neu geflasht. Zur Zeit haut alles wieder hin. Was schon seit einigen Release immer wieder kommt ist das hier: Es lässt sich aber quittieren und alles funktioniert. Denke das liegt aber am G-Chrome. |
@saschoctm |
der erste post mit dem anderen File 5bmit war mit loglevel 5 |
hier nochmal log level 5 |
Fehler gefunden, liegt am json….. ist auch logisch. [Log 4] Query Live Data into Queue: [Log 3] Request queue data to inverter: [Log 3] 0x01 0x03 0x00 0x00 0x00 0x14 0x45 0xC5 [Log 3] Read Data from Queue: 0x01 0x03 0x28 0x00 0x01 0xA9 0x48 0x00 0x00 0x00 0x64 0x00 0x64 0x27 0x10 0x00 0x00 0x27 0x10 0x0E 0x10 0x59 0x41 0x31 0x2E 0x30 0x00 0x5A 0x44 0x41 0x41 0x00 0x0A 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x46 0x00 0x46 0x0E 0x38 [Log 4] ErrorCode passed, OK [Log 4] Received CRC: 0x0E 0x38 [Log 4] Calculated CRC: 0x0E 0x38 [Log 4] Dataframe length should be: 40, is: 40 bytes [Log 3] Dataframe valid, Dateframe size: 45 bytes [Log 3] parse 45 bytes of data [Log 4] identified datatype: id [Log 4] parsing JSON ok { "position": [ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55 ], "name": "InverterSN", "realname": "Inverter SerialNumber", "datatype": "string" } abort() was called at PC 0x4016db13 on core 1 |
okay bedeutet zu lang? das hier ist übrigens die growatt sph doku.. |
Ok, dann musst du den requestIdData String im json höher setzen. aktuell steht dieser bei 0x14, prüfe mal ob 0x40 dein WR mitmacht. Eventuell reicht auch schon 0x20. |
Jupp läuft beides 0x20 und 0x40 und die SN wird ausgelesen. |
@tobiasfaust vielen Dank für die Hilfe, ich denke dann kann es so bleiben? Das was Eckhard aber hat mit der Passwort abfrage habe ich aber wie gesagt auch. |
Was ihr da grad repariert habt, läuft das dann auch mit meiner Json? |
@saschoctm @eckhard58 |
Wie kommt die Basisconfig auf meinen ESP, muss ich da nicht was neu laden? |
Hi Eckhard, also ich kenne deinen WR nicht aber wenn die SN richtig bei dir angezeigt wird sollte alles okay sein "RequestIdData": [ |
Damit meine ich in der Web-UI des ESP im Reiter baseconfig einfach nochmal den speicherbutton drücken ;) |
Aha, vielen Dank euch beiden. So sieht das bei mir aus: ], Zur Zeit läuft auch alles ohne Aussetzer 👍 |
@eckhard58 vielen Dank für die kleine Spende :) wenn alles sauber läuft solltest du den LogLevel wieder zurückdrehen, maximal auf 2. das log kostet nämlich auch etwas Performance ;) dann würde ich den aktuellen Stand als stabile-Version hochsetzen bevor meine nächsten Änderungen ins DEV gehen. |
So ist es aber ein guter Extremtest :) |
sorry, default ist es admin/password Eigene Jsons sind natürlich nicht im offiziellen Build enthalten und müssen nach einem Update immer manuell wieder eingeladen werden. Das ist auch so gewollt. Grundsätzlich möchte ich natürlich custom-definitions gerne vermeiden. Dafür nehme ich Erweiterungen und auch neue Definitionen für andere WR oder anderen Baureihen gerne entgegen um diese ins repo zu integrieren damit die gesamte Community davon profitieren kann |
Ich habe keine Problem wenn du meine Json mit aufnimmst. Kannst Du /Ihr mir noch einen Tipp geben wie man Daten von Fhem zum WR senden kann? |
Moin @eckhard58! Zuerst einmal auch Dir ein frohes neues Jahr!
Tatsächlich: garnicht…
Die Betriebsart steht bei mir (vom Solateur) auf „Priority Load First“, d.h. Solarenergie geht zuerst in den Eigenverbrauch, der Rest in die Batterie. Da mein Stromtarif immer gleich ist, ist es auch egal, welchen Verbrauchsanteil ich einspare… Zum Steuern des WR muß in der JSON eine Struktur „set“ aufgebaut werden - ein Beispiel steht unten in der „Solax-X1.JSON“. Dort steht unter „name“ ein Kommandoname und unter „request“ der zugehörige ModBus-Befehl, wie er in der (Growatt-)Wechselrichterdoku zu finden ist. Beim Starten des ESPs werden am MQTT-Server die unter „set“ gefundenen „names“ (Kommandos) subscribed. FHEM kann dann auf diese Kommandos publishen. Ein paar Kommandos hatte ich in der alten 3.2.x-JSON drin, aber nie ausprobiert. Auch das Publishen aus FHEM habe ich bei dieSEm Projekt nie versucht.
Super - ich werde die nocheinmal mit meiner Growatt_V120 abgleichen. Gruß, Stefan |
Hallo Stefan, Dir auch ein gesundes und frohes neues Jahr. In meiner Json Datei stehen ein paar Set Befehle drin. "set": [ Vielleicht können wir ja aus deiner und meiner eine gemeinsame Json machen. Gruß Eckhard |
Es wird wohl am besten sein, jeder macht sein passendes Json. Bitte benennt dieses exakt nach eurem WR-Modell und tragt euch als "author" ein.. Wenn die einzelnen Modelle solch unterschiedliche Register haben kommen wir leider nicht drum herum. Da sind die Solax echt einfacher.... |
Hallo @eckhard58, zusammenfassen hatte ich auch schon überlegt, noch liegen die beiden etwas auseinander… Allen Set-Befehlen fehlt im Kommando der Parameter - bei UPSenable 1=enable/0=disable, bei SetPriority die Prio 0=load/1=bat/2=grid. Das ist insoweit nicht wichtig, da ich die Set-Kommandos auch teilen kann, z.B. in UPSenable und UPSdisable. - Also @eckhard58 : so werden die Kommandos noch nicht laufen, da die nötigen Parameter fehlen im JSON. Die gerade angesprochenen Einzel-Sets hab ich schon fertig, ich hänge meine neue JSON hier mal an (komplett noch ungetestet!).. Zu den Sets: Berichte mal, ob die so geht! |
Good morning Tobias,
i managed to register here on GitHub. I'm not very good at English.
I use the ESP32 on a Growatt SPH3000. (Year of manufacture 10/24, ShineWiFi is now on the USB port)
The connection is only established if I disconnect the RS485 connection and reconnect it after the MQTT connection has been established.
Here is the desired HTerm output from the ESP32
mit WR.txt
ohne WR.txt
If I see it correctly, there are a few ERRORs
Regards, Eckhard
The text was updated successfully, but these errors were encountered: