Fehlen Ihnen Daten in Ihren Berichten?
Oder haben Sie neue Sensoren und die Daten werden nicht angezeigt?
Falls Sie weewx schon länger benutzen oder es nicht richtig konfiguriert haben, könnten Ihre Daten im "alten" Standarddatenbankschema gespeichert sein.
Während der Entwicklung unseres neuesten weewx-Skins, NeoWX Material, haben wir alle verfügbaren Sensoren in diesen Skin eingefügt. Einige Werte werden durch Software berechnet, wie z.B. die Wolkenbasis oder der Windchill-Faktor. Der Windchill-Faktor wurde problemlos angezeigt, aber wir konnten die Wolkenbasis nicht darstellen.
Nach vielen Suchen und ein wenig Fehlersuche haben wir den Übeltäter dieses merkwürdigen Fehlers gefunden.
Wir benutzten das Standarddatenbankschema von weewx. Dies ist für die meisten Sensoren ausreichend, aber vor allem weniger gebräuchliche Sensoren oder neuere Werte wurden nicht in der Datenbank gespeichert und konnten daher nicht angezeigt werden.
Mit der Version 4 von weewx wurde ein neues Datenbankschema eingeführt.
->> Anwendung bei einer neuen Installation
Wenn Sie weewx für eine neue Wetterstation installieren und keine alten Daten haben, müssen Sie weewx nur so verwenden, wie es in der weewx-Dokumentation beschrieben ist.
Wie Sie in der weewx.conf Datei in Zeile 535 (Version 4.4.0) sehen können, ist das Standarddatenbankschema nun das erweiterte. Es wird also automatisch verwendet.
Ein kleiner Hinweis zum verwendeten Datenbanksystem:
Bitte nehmen Sie sich die Zeit und richten Sie eine MySQL / MariaDB-Datenbank für weewx ein. Eine echte Datenbank funktioniert viel besser und bietet Ihnen mehr Möglichkeiten, insbesondere wenn Sie Wetterdaten über einen langen Zeitraum speichern möchten, so wie wir. SQLite hat zu viele Einschränkungen für diesen Zweck.
->> Migration einer bestehenden weewx-Installation
Dies ist der häufigste Fall. Sie haben bereits viele Daten in Ihrer Datenbank und Ihr weewx läuft bereits seit geraumer Zeit. Wahrscheinlich schon seit Version 3 oder früher, was auch der wahrscheinlichste Grund für dieses Problem ist.
Im Grunde genommen verwenden Sie einfach ein weewx-Hilfsprogramm, das eine neue Datenbank mit dem neuen erweiterten Schema erstellt und dann alle Ihre Daten migriert.
Wir haben dafür MySQL verwendet. Wenn Sie derzeit eine SQLite-Datenbank verwenden, lesen Sie bitte die Transferoption von wee_database, um herauszufinden, wie Sie Ihre Daten von SQLite zu MySQL / MariaDB übertragen können.
|> Schritt 1: Vorbereitung von weewx
Zuerst sollten Sie weewx auf die neueste Version aktualisieren.
Dann stoppen Sie weewx. Abhängig von Ihrem System könnte dies so etwas sein wie systemctl stop weewx
.
Wenn Sie eine neue, saubere weewx.conf
erstellen möchten, können Sie Ihre aktuelle weewx.conf
verschieben und wee_config
ausführen, um eine neue zu erstellen. Dann müssen Sie nur noch einige Parameter anpassen, die Sie leicht aus Ihrer verschobenen weewx.conf
kopieren können.
Weitere Informationen finden Sie in den wee_config Dokumentationen.
In diesem Fall sollte das erweiterte Schema automatisch eingestellt werden.
Wenn Sie Ihre weewx.conf
behalten wollen, öffnen Sie sie und scrollen Sie zum Ende. In der Standard weewx.conf
ist dies Zeile 535.
Im Abschnitt [DataBindings]
finden Sie den Unterabschnitt [[wx_binding]]
, wo das Schema
am Ende eingestellt ist.
Aktualisieren Sie diese Zeile zu: schema = schemas.wview_extended.schema
. Dies stellt das gewünschte erweiterte Datenbankschema ein.
|> Schritt 2: Vorbereitung der Datenbank
Weewx wird eine neue Datenbank erstellen. Dies wird der Name Ihrer aktuellen Datenbank mit einem _new
Suffix sein.
In den meisten Fällen wird die bestehende Datenbank weewx
in die neue Datenbank weewx_new
migriert.
Weewx benötigt die richtigen Berechtigungen, um mit der neuen Datenbank zu arbeiten. Gewähren Sie die Berechtigungen in SQL:
GRANT select, update, create, delete, insert ON weewx_new.* TO weewx@localhost;
Je nach Ihrer Einrichtung müssen Sie vielleicht den Datenbanknamen weewx_new
,
den weewx Datenbankbenutzer weewx
oder den Host ändern. Vergessen Sie nicht, die Berechtigungen mit FLUSH PRIVILEGES;
zu aktualisieren.
Jetzt kann weewx die neue Datenbank erstellen und die ganze Arbeit erledigen.
|> Step 3: Ausführung von wee_database
Weewx bietet ein sehr nützliches Werkzeug, genannt wee_database.
Wenn Sie weewx über einen Paketmanager installiert haben, wird dieser Befehl wahrscheinlich in Ihrem $PATH
sein.
In anderen Fällen befindet sich dieser meistens in /home/weewx/bin/wee_database
.
Mit diesem Tool können wir leicht die neue Datenbank erstellen und alle Daten übertragen. Sehen Sie sich die oben verlinkte Dokumentation an für weitere Informationen und andere Optionen, die dieses Tool bietet.
Um diese Aufgabe zu erledigen, werden wir die Datenbank "neu konfigurieren". Wie die Hilfe sagt:
--reconfigure Create a new database using configuration information
found in the configuration file. In particular, the
new database will use the unit system found in option
[StdConvert][target_unit]. The new database will have
the same name as the old database, with a '_new' on
the end.
Der Befehl lautet somit: wee_database --reconfigure
Je nach Umfang Ihrer Daten kann dieser Vorgang eine Weile dauern. Dank unserer Davis Vantage Vue werden die Daten häufig aktualisiert. Wir haben uns dazu entschieden, alle Minute einen neuen Datensatz hinzuzufügen, was fast 2 Millionen Einträge zur Folge hatte. Die gesamte Migration dauerte etwa 30 Minuten auf unserem Server.
|>Schritt 4: Festlegen der neuen Datenbank
Jetzt, da alle Daten migriert sind, stellen wir die neue Datenbank als unsere primäre in weewx ein.
Sie können einfach die neue und alte Datenbank umbenennen oder Ihre weewx.conf
aktualisieren.
Um den Namen der Datenbank festzulegen, gehen Sie zum Abschnitt [Databases]
,
zum Unterabschnitt [[archive_mysql]]
und setzen database_name = weewx_new
. Dies ist in Zeile 550.
|> Schritt 5: Tageszusammenfassungen neu erstellen
In der neuen Datenbank fehlen die Tageszusammenfassungen.
Sie können diese leicht über wee_database
erstellen, indem Sie wee_database --rebuild-daily
ausführen.
|> Schritt 6: Weewx erneut starten
Jetzt müssen Sie nur noch weewx erneut starten. Wenn alles funktioniert hat, wird weewx alle fehlenden Datensätze zur neuen Datenbank hinzufügen und dann wie zuvor arbeiten. Nur mit einer größeren Datenbank.
|> Schritt 7: Optional die alte Datenbank löschen
Wir empfehlen immer, die Datenbank für eine längere Zeit zu behalten. Falls etwas schiefgegangen ist, können Sie Ihre alten Daten leicht wiederherstellen. Sie müssen nur Ihre weewx-Konfiguration anpassen.
Nach einiger Zeit können Sie Speicherplatz freigeben und die Datenbank entfernen.
|> Schritt 8: Verwendung unseres neuen Material-Skins
Wenn Sie all Ihre frischen, neuen Daten nutzen und auf eine schöne Weise anzeigen möchten, schauen Sie sich bitte unseren neuesten weewx-Skin an, NeoWX Material.
Dieser Skin hat viele Funktionen, einschließlich interaktiver Diagramme, eines großen Almanachs, einer separaten Telemetrie Seite und viele Optionen. Die Dokumentation zeigt Ihnen alle verfügbaren Einstellungen.
Title image by NOAA
->> No comments yet
Add a comment