Open geronet1 opened 7 months ago
das ist der gleiche Fehler wie der, den du in deinem PR behebst, nehme ich an. Auch hier wird der JSON Buffer zu klein sein, alles zu speichern. Vorzugsweise sollte man die Größe des Buffer anhand der Anzahl der konfigurierten Weichselrichter wählen und nicht mehr statisch.
Leider nicht, der Puffer ist bei mir groß genug ansonsten könnte ich die Inverter gar nicht konfigurieren. Irgendwo bei der Empfangsroutine ist etwas daß er den request timeout zum nächsten verschleppt. Wird warscheinlich nicht auffallen solange alle erreichbar sind, kann ich erst die Woche testen.
ok, ich überlege mal kann mir aber nur sowas vorstellen. Hast du mal geprüft wie der Export der settings aussieht? Evtl. gibt uns das Hinweise.
Sieht bestens aus, kann ich dir ja mal schicken bei Bedarf. Demnächst krieg ich wieder ein CMT Modul dann kann ich weiter testen und such seriell debuggen.
ich habe eine Idee und hoffentlich wird die 0.8.106 diesen Fehler beheben
konntest du testen, wäre interessant, ob mein fix wirkt?
Hab hier jetzt ein Testsystem mit 3 HMS. Wenn ich einen abstecke funktioniert der nächste nicht. Mit deinem fix gibt es gar keine Kommunikation mehr. Entweder kommt W: CMT TX failed, code: 2 oder request timeout.
Getestet mit der 0.8.108: Alle drei blinken, nur der erste geht:
I: com loop duration: 1156ms
ich muss den fix zurücknehmen, da auch bei mir jetzt Inverter aussteigen, ein Downgrade auf eine andere Version hat sofort wieder beide online gebracht.
Gibt es irgendwo eine Pausenzeit zwischen den Invertern? Evtl. liegt es ja daran, diese vllt. mal testweise erhöhen.
Wenn du zwei HMS hast (von mir haste ja einen gekauft) kannst du den ersten DC-Seitig abstecken? Dann wird auch der zweite nicht mehr antworten.
Hab gerade noch ein wenig herumprobiert: Wenn alle drei Inverter erreichbar sind und man die Frequenz vom ersten ändert ist dieser und der zweite nicht mehr erreichbar. Würde ja gerne den Fehler suchen aber bei der Funkkommunikation steig ich nicht durch..
dem Problem sollten wir uns nochmal annehmen. Habe weiterhin noch keine Idee was genau passiert.
@lumapu wir haben dieses bzw. ein ähnliches Problem auch seit einiger Zeit auf der OpenDTU. Offenbar hängt es auch ein wenig von der Firmware Version des Inverters ab, aber auch die Hoymiles DTU Pro S verwendet evtl. noch andere Kommandos. Hier mal ein Beispiel Trace aus einer DTU Pro S mit jeweils fünf Channel Change Commands und einem Real Time Run Data Debug. Ich habe es auch noch nicht ganz durchstiegen, weil ja die Commands zwischen ST32 MCU und dem CMT2300A mitgeschnitten werden, da gibt es ja noch das Hoymiles SPI Wire-Protocol :wink.
Hier die ChannelChangeCommands der Original Hoymiles DTU Pro S: https://github.com/tbnobody/OpenDTU/issues/2137#issuecomment-2427788809
Platform
ESP32
Assembly
I did the assebly by myself
nRF24L01+ Module
nRF24L01+ plus
Antenna
external antenna
Power Stabilization
Elko (~100uF)
Connection picture
Version
0.8.93 ETH
Github Hash
f315fb
Build & Flash Method
VSCode - Platform IO (build & flash)
Setup
ETH Version mit W5500 und CMT
Debug Serial Log output
Error description
14 Inverter eingetragen, sobald ich einen enable der nicht verfügbar ist (nicht angeschlossen) wird der nächste "enabelte" in der Liste auch nicht mehr erreichbar obwohl vorhanden Deaktiviere ich den nicht verfügbaren geht der nächste wieder.. alles HMS bzw. HMT mit dem CMT Modul bei einem anderem NRF System ist das nicht der Fall
0 ist erreichbar, #1 nicht angeschlossen, #10 wird nicht erreicht obwohl vorhanden und erreichbar, #11 ist auch erreichbar