Zum Inhalt springen

Datenimport

Hast du mindestens die Advanced-Edition unseres Loxone Datenloggers erworben, kannst du die auf dem Loxone Miniserver gespeicherten Statistiken in die Visualisierung bzw. die Datenbank importieren.

Hierbei hast du über die folgenden Parameter die Möglichkeit, den Import zu steuern:

PARAMETERERFORDERLICHBESCHREIBUNG
-yJaLegt fest aus welchem Jahr die Daten vom Loxone Miniserver importiert werden sollen.
-mNeinLegt einen speziellen Monat im Jahr fest für den die Daten vom Loxone Miniserver importiert werden sollen.
–dry-runNeinZeigt die geplanten Schreibvorgänge nur an, ohne tatsächlich in die Datenbank zu schreiben – ideal zum Prüfen vor dem eigentlichen Import.

Um das Importieren der Daten zu starten, führe den folgenden Befehl aus:

Terminal-Fenster
lxlogger import -y 2020

Der LxLogger wird nun alle Daten (insofern vorhanden) aus dem Jahr 2020, in die Datenbank speichern. Je nach Anzahl der aufgezeichneten Daten und deren Intervall kann dies mehrere Minuten in Anspruch nehmen.

Willst du zum Beispiel nur die Daten vom Oktober 2020 importieren, nutze folgenden Befehl:

Terminal-Fenster
lxlogger import -y 2020 -m 10

Während des Imports zeigt ein Fortschrittsbalken den Verlauf an; zum Abschluss erhältst du eine Zusammenfassung (geschriebene Datenpunkte, Fehler und Dauer).

Der Import schreibt die Werte Monat für Monat in die Datenbank. Scheitert dabei ein Schreibvorgang, bricht er ab und nennt den betroffenen Monat. Starte den Import danach einfach erneut. Er holt die fehlenden Werte nach, bereits geschriebene Punkte werden dabei mit denselben Werten überschrieben.

Mit --dry-run kannst du vorab sehen, was importiert würde, ohne tatsächlich in die Datenbank zu schreiben:

Terminal-Fenster
lxlogger import -y 2020 -m 4 --dry-run

Der Miniserver speichert seine Statistiken in Ortszeit, ohne Angabe der Zeitzone. lxlogger import liest sie in der Zeitzone aus [miniserver] timezone bzw. der Umgebungsvariable LXL_MINISERVER_TIMEZONE. Ohne Angabe gilt die Zeitzone des Systems, auf dem der LxLogger läuft. Weicht diese von der Zeitzone des Miniservers ab, würden alle Werte verschoben in der Datenbank landen: im Winter um eine, im Sommer um zwei Stunden.

Setze deshalb die Zeitzone deines Miniservers in der Konfigurationsdatei:

[miniserver]
timezone = "Europe/Berlin"

Erlaubt sind IANA-Namen wie Europe/Berlin, Europe/Vienna oder Europe/Zurich.

  • Docker: Das Image setzt ab v1.2.1 LXL_MINISERVER_TIMEZONE=Europe/Berlin. Das passt für Deutschland, Österreich und die Schweiz. Für eine andere Zone startest du den Container mit -e LXL_MINISERVER_TIMEZONE=<Zone>, z. B. -e LXL_MINISERVER_TIMEZONE=Europe/London. Die Umgebungsvariable hat Vorrang vor timezone in der Konfiguration. Siehe Docker → Zeitzone.
  • Linux (deb/rpm): Ohne timezone gilt die Zeitzone des Servers. Steht er auf UTC, setze timezone in /etc/lxlogger/lxlogger.toml. Siehe Linux → Zeitzone prüfen.
  • Windows: Ohne timezone gilt die Zeitzone des Systems. Stimmt sie nicht mit der des Miniservers überein, setze timezone in der Konfiguration.

Bevor der Import den ersten Wert schreibt, fragt er den aktuellen UTC-Versatz des Miniservers ab. Diesen vergleicht er mit dem Versatz der eingestellten Zeitzone. Weichen beide ab, bricht der Import mit Code 1 ab und schreibt nichts in die Datenbank. Das gilt auch für einen Probelauf mit --dry-run. Die Meldung nennt beide Versätze, z. B.:

The Miniserver's UTC offset (+02:00) differs from that of the host time zone (+00:00). Refusing to import, every value would be shifted.
Set the Miniserver's time zone via `[miniserver] timezone` (or LXL_MINISERVER_TIMEZONE), e.g. "Europe/Berlin".

Setze dann timezone auf die Zeitzone deines Miniservers und starte den Import erneut. Mit --dry-run prüfst du vorab, ob die Zeitzone passt.

Kann der LxLogger den Versatz nicht abfragen, schreibt er eine Warnung ins Log und importiert trotzdem.

Ein Import löscht keine Daten. Er überschreibt nur Punkte mit identischem Measurement, Tags und Zeitstempel. Ob ein erneuter Import verschobene Werte korrigiert, hängt deshalb vom Intervall der Statistik ab:

  • Festes Intervall (z. B. alle 5 Minuten oder stündlich): Importiere den gesamten betroffenen Zeitraum lückenlos neu. Die verschobenen Punkte liegen auf dem Raster der Statistik und werden mit den richtigen Werten überschrieben. Nur hinter dem letzten echten Wert bleiben bis zu zwei Stunden falscher Punkte stehen.
  • Bei jeder Änderung: Hier hilft ein erneuter Import nicht. Die Zeitstempel sind unregelmäßig, alter und neuer Punkt stehen danach nebeneinander. Lösche den Zeitraum vorher in der InfluxDB und importiere ihn dann neu.

Für ein sauberes Ergebnis löschst du den betroffenen Zeitraum zuerst. Lege das Ende zwei Stunden hinter den Zeitraum, damit auch die verschobenen Punkte am Rand erfasst werden. Beispiel für das Jahr 2025:

Terminal-Fenster
influx delete --bucket <bucket> \
--start 2025-01-01T00:00:00Z \
--stop 2026-01-01T02:00:00Z

Importiere danach den Zeitraum neu:

Terminal-Fenster
lxlogger import -y 2025