trotz WLAN und MQTT recovery im code (nach entfernter Batterie oder ausgestöpselter Fritzbox verbindet sich mein set-up wieder, nachdem die Stroversorgung wieder hergestellt bzw. die Fritzbox wieder am Netz ist) passiert es nach einigen Stunden oder Tagen, daß der MQTT broker keine Daten mehr empfängt, obwohl die WLAN Verbindung wieder hergestellt ist (Adafruit AirLift FeatherWing an Adafruit Feather M0 RFM69HCW, Radio des Letzteren ist aus per CS pin, wenn das WLAN an ist).
Unter Fritz.box System Ereignisse sehe ich immer dann, wenn der MQTT broker keine Daten mehr empfängt, die fast gleichlautende Abfolge folgender Meldungen:
03:28:44 IPv6-Präfix wurde erfolgreich aktualisiert. Neues Präfix: 2003:f9:8702:7200::/56
03:19:42 Internetverbindung ist fehlgeschlagen: Fehlergrund: 2 (DHCPv4 no answer on DISCOVER)
03:13:54 Die DSL-Übertragungsrate wurde eingeschränkt. Die Störung wurde möglicherweise durch Powerline verursacht.
03:13:54 Das DSL-Signal wird möglicherweise durch Powerline gestört.
03:13:54 Die Internetverbindung (DSL) wurde getrennt. Die Störung wurde möglicherweise durch Powerline verursacht.
03:13:45 IPv6-Präfix wurde erfolgreich bezogen. Neues Präfix: 2003:f9:8702:7200::/56
03:13:44 Internetverbindung IPv6 wurde erfolgreich hergestellt.
03:13:44 Internetverbindung wurde erfolgreich hergestellt. Breitband-PoP: BERJ67
03:13:36 DSL ist verfügbar (DSL-Synchronisierung besteht mit 63675/12736 kbit/s).
03:11:17 DSL-Synchronisierung beginnt (Training).
03:11:07 Zeitüberschreitung bei der PPP-Aushandlung.
03:11:07 Internetverbindung IPv6 wurde getrennt, Präfix nicht mehr gültig.
03:11:07 Internetverbindung wurde getrennt.
03:11:02 DSL antwortet nicht (Keine DSL-Synchronisierung).
3:10:53 Letzter Dateneingang beim MQTT broker, danach nicht mehr, obwohl pingbar.
Ist das ein Fritzboxproblem, daß z.B. mit anderen Routern nicht auftritt? Anderen Router kaufen, oder gibt es noch andere Dinge, die ich ausprobieren könnte?
Danke!
ps: Noch etwas gefunden unter Internet DSL-Information Statistik - um 3 Uhr wird im Balkendiagramm ein Balken angezeigt, der bis 4 geht (was auch immer die Zahl bedeutet). Die Erklärung dazu lautet: "Synchronisationen - In diesem Diagramm werden Unterbrechungen der DSL-Verbindung angezeigt. Zum Beispiel wird hier die Zwangsunterbrechung durch den DSL-Anbieter angezeigt."
Also hat die Telekom dafür gesorgt, daß sich mein set-up nicht wieder verbinden konnte?
waren die DSL Probleme schon vorm Adafruit Kram vorhanden? Du müßtest wissen ab wann die Probleme begannen. Dann kennste eigentlich auch die Ursache. Entweder generelles Leitungsproblem oder Adafruit stört bei dir irgendwas. Der Hinweis mit der Powerline geht ja in die Richtung. Irgendein Störsender strahlt ein.
waren die DSL Probleme schon vorm Adafruit Kram vorhanden? Du müßtest wissen ab wann die Probleme begannen. Dann kennste eigentlich auch die Ursache. Entweder generelles Leitungsproblem oder Adafruit stört bei dir irgendwas. Der Hinweis mit der Powerline geht ja in die Richtung. Irgendein Störsender strahlt ein.
Danke, schwer zu sagen. Das Problem trat in zwei Monaten (erst seit dem habe ich das set-up in Benutzung) sieben mal auf, jedes Mal nachts. Allerdings habe ich nur den letzten Ausfall "erwischt", da ich zuvor nicht in den Ereignissen nachgeschaut hatte. Die TP-Link Powerline Geräte kann ich probeweise für ein bis zwei Wochen entfernen. Mal sehen, was dann passiert.
Sitzt dein MQTT broker in deinem Heimnetz oder wird die Verbindung über das Internet aufgebaut? Evtl. hätte er dann ein Problem mit der neuen IP Adresse deiner Fritzbox nach dem Aufbau der neuen Verbindung.
so wie sich das jetzt liest sollte der Fall klar sein. Du nutzt noch eine TP Powerline, was du verschwiegen hast und die Fritzbox meldet ein mögliches Powerline Problem. 1 und 1 zusammengezählt = Antwort.
Vorschlag. Betreibe erstmal die Fritzbox alleine für ca. 1 Monat und guckst jeden Tag in deren DSL Statistik rein. Danach schließte dein TP Powerlink an. Ich vermute dann haste wieder Probleme. Tipp. Wenn irgendwie möglich, mach dir die Mühe und verlege ein CAT7 Kabel.
Scherheinz:
Sitzt dein MQTT broker in deinem Heimnetz oder wird die Verbindung über das Internet aufgebaut? Evtl. hätte er dann ein Problem mit der neuen IP Adresse deiner Fritzbox nach dem Aufbau der neuen Verbindung.
Gruß
Scherheinz
Danke, der MQTT broker ist Adafruit IO.
Das gleiche Ereignis mit gleichen Statusmeldungen heute Nacht zur gleichen Zeit. Das set-up läßt sich nicht pingen. Das hatte ich an zwei Tagen hintereinander noch nicht. Manchmal vergingen mehrere Tage oder Wochen bis zum Ausfall.
Selbst ausgelöste Unterbrechungen durch minutenlanges entfernen der Batterie oder Neustart bzw. Netztrennung des Routers führen immer zu einer automatischen Neuverbindung meines set-ups, wie es der code vorsieht; die mir nun per Ereignistabelle im Router bekannten Unterbrechungen nicht, auch wenn sie kürzer sind.
Aber es scheint ein periodisches Ereignis im Router oder beim ISP zu sein. Ich entferne die Powerlinegeräte um zu sehen, was passiert.
so wie sich das jetzt liest sollte der Fall klar sein. Du nutzt noch eine TP Powerline, was du verschwiegen hast und die Fritzbox meldet ein mögliches Powerline Problem. 1 und 1 zusammengezählt = Antwort.
Vorschlag. Betreibe erstmal die Fritzbox alleine für ca. 1 Monat und guckst jeden Tag in deren DSL Statistik rein. Danach schließte dein TP Powerlink an. Ich vermute dann haste wieder Probleme. Tipp. Wenn irgendwie möglich, mach dir die Mühe und verlege ein CAT7 Kabel.
Danke, dann entferne ich probeweise die Powerlinegeräte. Die Einstellung "Zwangstrennung durch den Anbieter verschieben in die Zeit zwischen" im Router ist nicht aktiviert.
ich habe auch keine Zwangtrennung in Zeit von bis aktiv. Die IP wechselt bei mir auch nicht jeden Tag. Der letzte automatische Wechsel war bei mir vor 10 Tagen. Du kannst das locker unterscheiden im Ereignisprotokoll. Prafix aktualisiert und neue IP bezogen und sonst in der Zeit direkt davor und danach nichts weiter passiert, dann war es ein ganz normaler IP Wechsel. Sobald "Neusyncronisierung" und andere Meldungen wie deine oben mit auftauchen gabs ein echtes Problem. Da muss man dann auch mal genauer auf die Uhrzeit und Datum schauen usw. Mit den Statistikwerten kann man das dann auch noch abgleichen.
Jetzt haste ja die Powerline rausgenommen und guckst mal jeden Tak in die Statistik und Ereignisprotokoll rein. Der Testzeitraum sollte länger wie der doppelte Fehlerzeitraum sein. Also wenn das Problem vorher aller 7 Tage auftrat, dann würde ich 21 Tage veranschlagen, um irgendwelche Zufälle möglichst auszuschließen.
Nun, mal sehen ob heute um ca. 03:11 zum dritten Mal hintereinander das Gleiche passiert. Aber es gab auch ganze Wochen ohne Probleme, obwohl ich die TP-Link Powerlineadapter da noch in Benutzung hatte.
02.06.2020 Also warten und gucken, was in der Ereignisliste steht oder auch nicht.
04.06.2020 So weit, so gut, zwei Tage ohne Aussetzer.
08.06.2020 Sechs Tage ohne Aussetzer. Also waren es die Powerline Geräte. Dumm, aber so ist es nunmal.
Das set-up von Netz bzw. Batterie trennen und wieder verbinden führt verläßlich zu einer Wiederverbindung mit WLAN, Internet und MQTT broker:
23:42:41.860 -> Trying to connect to WLAN router
23:42:47.947 -> 4
23:43:08.970 -> 3
23:43:18.933 -> Connection to WLAN router successful
23:43:20.965 -> MAC address: A4:CF:12:12:78:7C
23:43:20.998 -> IP Address: #
23:43:20.998 -> SSID: #
23:43:21.031 -> Subnet mask: 255.255.255.0
23:43:21.064 -> Gateway IP : #
23:43:21.098 -> Signal strength (RSSI): -58 dBm
23:43:21.131 -> Trying to connect to Adafruit IO
23:43:26.416 -> Connection to Adafruit IO successful
Wenn ich aber die Fritzbox vom Netz trenne und wieder verbinde passiert Folgendes:
3:52:01.748 -> Trying to connect to WLAN router
23:52:07.786 -> 4
... zwei Minuten während die Fritzbox blinkt ...
23:54:15.855 -> 4
23:54:36.856 -> 3
23:54:46.854 -> Connection to WLAN router successful
23:54:48.872 -> MAC address: A4:CF:12:12:78:7C
23:54:48.905 -> IP Address: #
23:54:48.938 -> SSID: #
23:54:48.938 -> Subnet mask: 255.255.255.0
23:54:48.971 -> Gateway IP : #
23:54:49.005 -> Signal strength (RSSI): -56 dBm
Es kommt keine Verbindung zum MQTT broker zustande, aber WL_CONNECTED ist 3 und die Status-LED leuchtet grün. Also zeigt das nur an, daß das set-up per WLAN mit der Fritzbox verbunden ist, aber nicht mit dem Internet, und somit kann auch keine MQTT broker Verbindung zustande kommen. Also ist ein Test auf WL_CONNECTED für Router/Internetausfall oder -störung nicht ausreichend.
Wenn ich das set-up anpinge:
PING # (#): 56 data bytes
ping: sendto: No route to host
Request timeout for icmp_seq 0
Das Dumme ist allerdings; manchmal verbindet sich das set-up nach simuliertem Router/Internetausfall bis zum MQTT broker, aber manchmal eben auch nicht.
wenn die mqtt Verbindung fehlschlägt, Fehler behandeln.
Wenn Fehler
Wifi disconnecten und neu connecten
noch mal probieren an mqtt zu senden
Das ganze mittels counter und Zeitstempel/lastMillis absichern, dass du das nicht dauernd machst, falls die Verbindung weg ist, aber 2, 3 Versuche alle 5 Minuten könntest machen. oder das Ergebnis wegwerfen und eben deinen nächsten Event abwarten falls du das eh schon zeitgesteuert machst.
Ja, Fehler behandeln... das Merkwürdige ist nur, daß der Fehler (selbst herbeigeführter Ausfall des Routers), nicht immer zur nicht-Wiederverbindung zum MQTT broker führt. Also weiter suchen.
Zumindest bin ich schon mal froh, die Powerlinegeräte als Störer ermittelt zu haben, siehe Hinweis oben, und daß die automatische Wiederverbindung meines set-ups nach Stromversorgungsausfall funktioniert.