{"id":160,"date":"2015-03-16T21:02:46","date_gmt":"2015-03-16T20:02:46","guid":{"rendered":"http:\/\/www.pachlina.net\/stefan\/?p=160"},"modified":"2023-02-25T18:41:01","modified_gmt":"2023-02-25T17:41:01","slug":"weewx-sqlite-und-falsche-daten-aus-db-loeschen","status":"publish","type":"post","link":"https:\/\/www.pachlina.net\/stefan\/2015\/03\/16\/weewx-sqlite-und-falsche-daten-aus-db-loeschen\/","title":{"rendered":"weewx sqlite und falsche Daten aus dB l\u00f6schen"},"content":{"rendered":"<p>Wie l\u00f6scht man aus der weewx sqlite Datenbank falsche bzw. nicht gewollte Daten per Commandline raus ?<\/p>\n<p>Ich habe mich eben mit der Thematik befasst, da aus irgendeinem Grund &#8211; <em>wom\u00f6glich eine \u00dcbermittlungsst\u00f6rung<\/em> &#8211; zB. ein Innentemperaturwert von 4\u00b0C und eine Regenrate von \u00fcber 2000mm\/h \u00fcbermittelt wurden.<\/p>\n<p><strong>Mit der Zeit \u00e4ndert sich die Vorgehensweise.<\/strong><br \/>\nHier zeige ich, wie man mit der Version <strong>4.10.1<\/strong> falsch erfasste Windb\u00f6en berichtigt.<br \/>\n<em>Der alte Artikel steht weiter unten.<\/em><\/p>\n<p><strong>Erstmal weewx beenden<\/strong><br \/>\nsudo service weewx stop<\/p>\n<p><strong>Ein Backup der dB kann nicht schaden.<\/strong><br \/>\ncp \/var\/lib\/weewx\/weewx.sdb \/var\/lib\/weewx\/weewx_backup.sdb<\/p>\n<p><strong>Gibt es Datens\u00e4tze die zu bereinigen w\u00e4ren?<\/strong> Ich frage ab &gt;90 km\/h, da es keinen Sturm seit meinen Aufzeichnungen mit B\u00f6en gr\u00f6\u00dfer 90km\/h gab.<br \/>\necho &#8222;SELECT windGust FROM archive WHERE (windGust &gt; 90);&#8220; | sqlite3 \/var\/lib\/weewx\/weewx.sdb<\/p>\n<p><strong>In meinem Fall wurden 25 Datens\u00e4tze ausgegeben. Diese werden nun korrigiert. Ich \u00fcberschreibe diese einfach mit dem Wert 10.0<\/strong><br \/>\necho &#8222;SELECT windGust FROM archive WHERE (windGust = 10.0);&#8220; | sqlite3 \/var\/lib\/weewx\/weewx.sdb<\/p>\n<p><strong>Ein erneute Check bringt keine Werte mehr zur\u00fcck.<\/strong><br \/>\necho &#8222;SELECT windGust FROM archive WHERE (windGust &gt; 90);&#8220; | sqlite3 \/var\/lib\/weewx\/weewx.sdb<\/p>\n<p><strong>Entfernen der t\u00e4glichen Statistiken<\/strong><br \/>\nsudo wee_database &#8211;drop-weekly<\/p>\n<p><strong>Rebuild der t\u00e4glichen Statistiken<\/strong> (Achtung, ohne Datumsbereichseinschr\u00e4nkung kann das lange laufen &#8211; siehe man)<br \/>\nsudo wee_database &#8211;rebuild-daily<\/p>\n<p><strong>Falls mit der Version 4.10.1 der Imagegenerator noch nicht ausgetauscht wurde, ist dies nachzuholen<\/strong><br \/>\nsudo rm \/usr\/share\/weewx\/weewx\/imagegenerator.py<br \/>\nsudo wget -P \/usr\/share\/weewx\/weewx https:\/\/raw.githubusercontent.com\/weewx\/weewx\/master\/bin\/weewx\/imagegenerator.py<\/p>\n<p><strong>weewx starten<\/strong><br \/>\nsudo service weewx start<\/p>\n<p><strong>Gibt weewx einen Fehler aus?<\/strong><br \/>\nsudo service weewx status<\/p>\n<p><strong>Es hat sich in meinem Fall als n\u00fctzlich gezeigt, das System nach ~5min durchzustarten.<\/strong><br \/>\nsudo reboot<\/p>\n<p>Das war&#8217;s &#8230; danach sollten die Daten neu auf der WEB-Site hochgeladen werden, kann aber etwas dauern.<\/p>\n<hr \/>\n<p><strong>Der alte Artikel:<\/strong><\/p>\n<p>Wie also nun diese falschen Daten wieder aus der dB entfernen ?<\/p>\n<ol>\n<li><strong>Backup der dB anlegen:<\/strong><br \/>\nsudo \/etc\/init.d\/weewx stop<br \/>\nsudo cp \/home\/weewx\/archive\/weewx.sdb \/home\/weewx\/archive\/backup_weewx.sdb<br \/>\nsudo \/etc\/init.d\/weewx start<\/li>\n<li><strong>sqlite3 installieren<\/strong><br \/>\nsudo apt-get install sqlite3<\/li>\n<li><strong>Daten finden, welche korrigiert werden m\u00fcssen:<\/strong><br \/>\nUm zB den Wert der Innentemperatur zu korrigieren, schauen wir mal, welcher da so aus der Reihe tanzte:<br \/>\necho &#8222;SELECT intemp FROM archive WHERE (intemp &lt; 60);&#8220; | sqlite3 \/home\/weewx\/archive\/weewx.sdb<br \/>\n<em>42.8<\/em><\/li>\n<\/ol>\n<p class=\"infotip-jck\"><strong>!! <\/strong>Die Ausgabe sowie Abfrage erfolgt in Farenheit &#8211; einen Umrechner gibt es hier: <a href=\"http:\/\/www.celsius-fahrenheit.de\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.celsius-fahrenheit.de<\/a><\/p>\n<p>Um diesen Datensatz zu korrigieren, ist folgender Command n\u00f6tig:<br \/>\necho &#8222;UPDATE archive SET inTemp=75.2 WHERE (inTemp &lt; 60);&#8220; | sudo sqlite3 \/home\/weewx\/archive\/weewx.sdb<br \/>\nDiese Prozedur ist bei allen Falschdaten anzuwenden.<\/p>\n<p>Nat\u00fcrlich kann man die SQL-Abfragen noch etwas einschr\u00e4nken, falls erforderlich:<br \/>\necho &#8222;SELECT inTemp FROM archive WHERE (inTemp &lt; 70 AND dateTime &gt; 1426470000);&#8220; | sqlite3 \/home\/weewx\/archive\/weewx.sdb<br \/>\nEbenso das Update des Datensatzes:<br \/>\necho &#8222;UPDATE archive SET inTemp=75 WHERE (intemp &lt; 70 AND dateTime &gt; 1426470000);&#8220; | sudo sqlite3 \/home\/weewx\/archive\/weewx.sdb<\/p>\n<p class=\"infotip-jck\">Umrechnung bez\u00fcglich Unix-Timestamp gibt es hier: <a href=\"https:\/\/www.aritso.net\/mehr-informationen\/tools\/timestampconverter.htm\" target=\"_blank\" rel=\"noopener\">https:\/\/www.aritso.net\/mehr-informationen\/tools\/timestampconverter.htm<\/a><\/p>\n<p><strong>Um zB falsche Regenwerte zu entfernen:<\/strong><br \/>\necho &#8222;SELECT dateTime, rainrate FROM archive WHERE (rainrate &gt; 20);&#8220; | sqlite3 \/home\/weewx\/archive\/weewx.sdb<br \/>\n1431008100|41.71653539052<br \/>\n1431008400|41.71653539052<br \/>\n1431008700|27.81102359368<\/p>\n<p>echo &#8222;UPDATE archive SET rainrate=0.014173228 WHERE (rainrate &gt; 20);&#8220; | sudo sqlite3 \/home\/weewx\/archive\/weewx.sdb<\/p>\n<p>Eine komplette Auflistung der Spaltennamen der weewx-Datenbank &#8230; ja, daran werke ich noch. Dachte das w\u00e4re einfach &#8230; jedoch stehe ich da wohl aktuell auf der Leitung.<br \/>\n<strong>Folgende habe ich bis dato ermittelt:<\/strong><br \/>\ndateTime<br \/>\nbarometer<br \/>\npressure<br \/>\naltimeter<br \/>\ninTemp<br \/>\noutTemp<br \/>\ninHumidity<br \/>\noutHumidity<br \/>\nwindSpeed<br \/>\nwindDir<br \/>\nwindGust<br \/>\nwindGustDir<br \/>\nrainRate<br \/>\nrain<br \/>\n<strong>Um die summeries zu l\u00f6schen, ist folgender Befehl n\u00f6tig:<\/strong><br \/>\nsudo \/home\/weewx\/bin\/wee_config_database \/home\/weewx\/weewx.conf &#8211;drop-daily<\/p>\n<p>Danach ein Restart von weewx und die sumeries werden neu berechnet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wie l\u00f6scht man aus der weewx sqlite Datenbank falsche bzw. nicht gewollte Daten per Commandline raus &hellip; <a title=\"weewx sqlite und falsche Daten aus dB l\u00f6schen\" class=\"hm-read-more\" href=\"https:\/\/www.pachlina.net\/stefan\/2015\/03\/16\/weewx-sqlite-und-falsche-daten-aus-db-loeschen\/\"><span class=\"screen-reader-text\">weewx sqlite und falsche Daten aus dB l\u00f6schen<\/span>Weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[9],"class_list":["post-160","post","type-post","status-publish","format-standard","hentry","category-it","tag-wetter"],"_links":{"self":[{"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/posts\/160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/comments?post=160"}],"version-history":[{"count":1,"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/posts\/160\/revisions"}],"predecessor-version":[{"id":2778,"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/posts\/160\/revisions\/2778"}],"wp:attachment":[{"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/media?parent=160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/categories?post=160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pachlina.net\/stefan\/wp-json\/wp\/v2\/tags?post=160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}