Kleine Ursache – große Wirkung

Bei der Übertragung der Daten per Funk von den Temperatur-/Luftfeuchtigkeitssensoren zum Wetterdatenempfänger kommt es naturgemäß immer mal wieder zu Übertragungsfehlern und es werden fehlerhafte Werte in die Datenbank eingetragen. Das ist natürlich ärgerlich, weil die zum Teil extrem falschen Werte in der Auswertegrafik sehr auffällig sind.
Leider fehlte mir bisher die Zeit, ein Script zu basteln, dass die falschen Daten schon vor dem Eintrag in die Datenbank rausfiltert.  Deshalb habe ich gestern mal alle fehlerhaften Daten manuell per MySQL auf der Konsole gelöscht. Insgesamt waren das knapp 800 Datensätze. Als ich dann heute in aller Frühe einen Blick auf die Wettergrafik warf, haute es mich fast um, denn die Grafik war inzwischen eher zu einem kleinen Kunstwerk geworden…

Bei der Suche nach den Ursachen dieses “Kunstwerks” stieß ich darauf, dass in der Textdatei, in der mein Auswertescript die Daten ablegt, die Reihenfolge der Daten anders war, als sonst. Da war zwischen Daten vom 02.03.11 plötzlich ein Datensatz vom 18.03.11…
Nun war mir klar, dass der Fehler bei der Abfrage der Daten aus der Datenbank passieren musste. Und drei kleine Worte brachten dann die Lösung des Problems. Einfach ein “order by timestamp” an die Datenbankabfrage angehängt und schon war wieder alles im Lot. Warum nicht gleich so :-))?!

Und wenn ich demnächst irgendwann mal viel Zeit habe, werde ich mich wohl doch noch an die Arbeit machen und eine Fehlerkorrektur vor dem Abspeichern der Daten in der Datenbank einbauen…

Kommentieren ist momentan nicht möglich.