OpenDTU automatischer Reset bei Wlan-Verlust #2624
Gelegenheitsbastler
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Das Problem wurde hier ausführlich erläutert:
#419
Die Wlanverbindung geht verloren und die OpenDTU verbindet sich erst nach einem Reset neu mit dem Wlan.
Da ich diverse Modulwechselrichter mit der OpenDTU betreibe und die Daten aufzeichne ist es mir wichtig, dass die erfassten Daten halbwegs stimmen. Verliert die OpenDTU das Wlan wird der zuletzt übermittelte Wert durchgängig als Ertrag erfasst, was die Statistik massiv verfälscht, da ich diesen Fehler teilweise erst nach vielen Tagen bemerke.
Um das Problem zu lösen habe ich folgende Lösung gebaut:
Ein XIAO ESP32C3 überprüft alle 30 Sekunden, ob die OpenDTU per Wlan erreichbar ist. Ist sie nicht erreichbar wird das Intervall auf 15 Sekunden verkürzt. Nach Ablauf von 2 Minuten ohne erfolgreiche Verbindung wird über GPIO 5 ein LOW an den Reset Pin des ESP der OpenDTU geschickt, wodurch dieser neu bootet.
Um den Reset auch manuell ausführen zu können und einen Überblick über die Geschehnisse zu haben gibt es eine kleine Webseite, auf der die Daten rudimentär angezeigt werden. Die Tabelle zeigt an, ob das Ereignis manuell oder automatisch ausgelöst wurde und wann dies geschah. Damit die Seite überschaubar bleibt kann man die Anzahl der Zeilen einstellen und bei Bedarf auch jeden beliebigen Eintrag manuell löschen.
Als NTP-Server habe ich die FritzBox genommen, damit dieser ESP nicht ins Internet muss. Aber auch jeder andere NTP-Server kann eingetragen werden. Sommer- und Winterzeit sollten automatisch geändert werden. Der Rest des Sketches sollte halbwegs selbsterklärend sein. Die Anzeige der Speicherausnutzung ist eigentlich nur zu Debug Zwecken gedacht. Wer mag kann sie auskommentieren.
Da es noch nicht zu einem längeren Verbindungsabbruch kam, kann ich nicht sagen, ob die Lösung funktioniert. Was ich erfolgreich getestet habe war die manuelle Auslösung.
Vielleicht ist noch jemand ähnlich genervt und möchte das Problem ebenfalls lösen.
Beta Was this translation helpful? Give feedback.
All reactions