Sicherer Start & gelöster Logikfehler: Update 3.2.1
Eigentlich war ich gerade für eine Woche im Urlaub, doch genau in dieser Zeit hat sich herausgestellt das sich in Version 3.2 ein Fehler eingeschlichen hat. Normalerweise teste ich jedes Update super gründlich vor dem Release – aber in der Softwareentwicklung ist es leider so, dass man unmöglich alle Randfälle und Kombinationen im Voraus bedenken kann. Das Ganze hat mir gezeigt, dass ich meine Testverfahren in Zukunft noch weiter ausbauen muss und dass eben noch nicht alles perfekt ist.
Als ich aus dem Urlaub nach Hause kam, habe ich mich deshalb sofort an den Rechner gesetzt, um nach dem Fehler zu suchen. Dank eurem schnellen Feedback der letzten Woche konnte ich die Ursache aufspüren und präsentiere euch heute direkt das Update 3.2.1.
Einige von euch hingen nach dem Start nämlich in einer Art Sackgasse fest: kein Server-Connect mehr – und selbst das erneute Eintragen der WLAN-Daten über die AP-Oberfläche half nicht weiter. Bei mir zuhause im Testaufbau lief alles tadellos. Das liegt schlicht daran, dass mein LineTracker hier direkt neben dem Router steht und ein eigenes, unbelastetes Netzwerk nutzt. Bei euch zu Hause sieht das Setup oft ganz anders aus: Die Distanz zum Router ist größer, es sind Wände dazwischen, Repeater kommen zum Einsatz oder es funken unzählige andere Geräte im selben Netz – all das kann die Verbindungsqualität und die Geschwindigkeit beim Start beeinträchtigen.
Das wichtigste auf einen Blick:
- ⏱️ Zuverlässigerer WLAN-Start: Der LineTracker nimmt sich nach dem Einschalten jetzt etwas mehr Zeit zum Hochfahren und wartet beim Verbindungsaufbau deutlich länger, damit es auch bei größerer Entfernung zum Router oder bei hoher Netzlast reibungslos klappt.
- 🔄 Sackgasse beseitigt: Ein Fehler im internen Neustart-Zähler wurde behoben, durch den sich das Gerät nach drei Fehlversuchen beim Booten nicht mehr mit dem Server verbinden konnte und komplett blockiert war.
Problem 1: Die Fehlverbindung direkt nach dem Start
Einige von euch hatten das Problem, dass direkt nach dem Neustart des LineTrackers die erste Verbindung zum WLAN fehlschlug. Wenn ihr euch danach mit dem Access Point des LineTrackers verbunden und die WLAN-Daten noch einmal manuell eingetragen habt, klappte es plötzlich sofort.
Das lag an einem Timing-Problem: Das WLAN-Modul des verbauten ESP32-Mikrocontrollers braucht nach dem Einschalten einen kurzen Moment, um überhaupt richtig hochzufahren und bereit zu sein. In den Versionen vor 3.2.1 war diese Wartezeit für einige eurer Netzwerk-Setups zu Hause schlicht zu kurz, weshalb die Verbindung direkt beim Start fehlschlug. Wenn ihr die Daten danach manuell über die Oberfläche eingetragen habt, lief das WLAN-Modul bereits längere Zeit, war startklar und die Verbindung klappte sofort.
Die Lösung mit v3.2.1:
Ich habe dem LineTracker direkt nach dem Start eine kurze Pause von 200 Millisekunden verordnet, damit sich das WLAN-Modul in Ruhe initialisieren kann, bevor der erste Verbindungsversuch startet. Außerdem wurde die Wartezeit pro Versuch auf 8 Sekunden erhöht. So haben auch langsamere Router, Repeater oder Mesh-Systeme genügend Zeit, die Verbindung sauber herzustellen.
Problem 2: Die Sackgasse (Der Deadloop)
Ging das Einwählen dreimal hintereinander schief, sprang der interne Neustart-Fehlerzähler auf das Maximum von 3. Wer den LineTracker danach über das Setup-Menü neu mit dem WLAN verbunden hat, sah zwar das WLAN-Symbol angehen, aber die Verbindung zum Server kam nie wieder zustande. Das Gerät war in einer Sackgasse gefangen und tat einfach gar nichts mehr.
Der Grund dafür war ein klassischer, unbeabsichtigter Denkfehler beim Programmieren: Ich hatte im Code festgelegt, dass dieser Fehlerzähler erst zurückgesetzt wird, wenn die Verbindung zum Server erfolgreich steht. Da der LineTracker mit dem Zähler auf 3 aber gar nicht erst versucht hat, den Server zu kontaktieren, konnte der Zähler auch nie wieder gelöscht werden – ein Teufelskreis, aus dem das Gerät von alleine nicht mehr herauskam.
Die Lösung mit v3.2.1:
Ich habe diesen Logikfehler korrigiert. Ab sofort wird der Fehlerzähler direkt zurückgesetzt, sobald der LineTracker erfolgreich mit eurem WLAN verbunden ist – noch bevor er überhaupt versucht, den Server zu erreichen. Damit steht der Zähler sofort wieder auf Null, die Verbindung zum Server klappt problemlos und das Gerät hängt sich nicht mehr auf.
Ein riesiges Danke für euren Support und eure Geduld!
"Funktioniert bei mir" ist bei vernetzter Hardware einfach eine verdammt wackelige Grundlage, und ohne eure ehrlichen Rückmeldungen hätte ich diesen Fehler wohl nie gefunden. Bitte scheut euch auch in Zukunft nicht, euch bei mir zu melden, wenn mal etwas hakt oder nicht rund läuft. Genau dieses Feedback hilft mir extrem, den LineTracker Schritt für Schritt noch besser und robuster zu machen. Jede Nachricht bringt das Projekt weiter!
Falls ihr also mal wieder auf einen Stolperstein stoßt, schreibt mir einfach.
Habt weiterhin viel Spaß mit eurem LineTracker! 🛠️