Informationen zur Zeit beim Betrieb der EmonCMS-Datenbank

Diese Seite erklärt, warum eine korrekt eingestellte Systemzeit auf dem Raspberry Pi so wichtig ist, was bei einer falschen oder springenden Uhrzeit in der EmonCMS-Datenbank passiert, und wie sich das beim Aufbau an einem neuen Standort (z. B. Messestand, Kongress, andere Schule) zuverlässig vermeiden lässt. Siehe auch RTC-Nachrüstung und Hauptanleitung.


Warum die Systemzeit so wichtig ist

EmonCMS speichert Messwerte in PHPFina-Feeds an einer festen Position, die direkt aus dem Zeitstempel berechnet wird:

Position im Feed = (Zeitstempel - Feed-Startzeit) / Feed-Intervall

Jeder Messwert landet also nicht „irgendwo“, sondern exakt an der Stelle, die seiner Systemzeit zum Sendezeitpunkt entspricht. Stimmt diese Zeit nicht, stimmt auch die gespeicherte Position nicht – unabhängig davon, ob der eigentliche Messwert (Temperatur, CO2 usw.) korrekt war.


Was bei falscher/springender Zeit passiert

  • Uhrzeit läuft dauerhaft falsch (z. B. falsche Zeitzone): Alle Werte werden konsequent verschoben gespeichert – die Messreihe an sich bleibt lückenlos und „sieht richtig aus“, nur mit falschem Zeitstempel
  • Uhrzeit springt vorwärts (z. B. durch nachträgliche Korrektur): Für den übersprungenen Zeitraum entsteht eine Lücke im Feed – dort wurde nichts gespeichert, obwohl real Zeit verging
  • Uhrzeit springt rückwärts (z. B. Korrektur von einer zu spät gehenden Uhr auf die richtige Zeit): Neue Messwerte landen an Positionen, die vorher bereits belegt waren – die alten (falsch datierten) Werte an diesen Stellen werden dabei überschrieben
Wichtig: Diese Effekte lassen sich mit den EmonCMS-Standardwerkzeugen
NICHT rückwirkend sauber korrigieren. Eine nachträgliche Bereinigung
wäre nur mit direktem Zugriff auf die PHPFina-Rohdateien möglich und
für den Alltagsbetrieb kaum den Aufwand wert. Für einen Messestand
oder eine kurze Präsentation ist das meist unkritisch - ab dem
Korrekturzeitpunkt läuft alles wieder sauber weiter.

Typische Fehlerquelle: falsche Zeitzone (BST statt CEST)

Das emonSD-Image (siehe Hauptanleitung, Teil 2) kommt aus Großbritannien und ist standardmäßig auf Europe/London (BST, UTC+1) eingestellt – nicht auf Europe/Berlin (CEST, UTC+2). Wird die Uhrzeit gesetzt, ohne vorher die Zeitzone zu korrigieren, ergibt sich ein fester Versatz von 1 Stunde. Details und Lösung siehe RTC-Seite, Stolpersteine.


Rolle der RTC-Uhr

Eine nachgerüstete RTC (siehe HW-111-Anleitung) sorgt dafür, dass die einmal korrekt gesetzte Uhrzeit auch Neustarts und Stromausfälle übersteht – ohne RTC würde die Zeit sonst bei jedem Neustart auf einen Werksstand zurückfallen.

Wichtig: Die RTC schützt NICHT automatisch vor einer falsch
eingestellten Zeitzone oder einer einmalig falsch eingegebenen
Uhrzeit - sie speichert zuverlässig genau das, was ihr beim
"hwclock -w" mitgegeben wurde. Eine falsche Ersteinrichtung wird
also ebenso zuverlässig "eingefroren" wie eine richtige.

Checkliste vor Inbetriebnahme an einem neuen Standort

Besonders relevant bei einem mobilen Einsatz (Messestand, Kongress, Vorführung an einer anderen Schule), wo das System ggf. neu gestartet oder erstmals in Betrieb genommen wird:

  1. Per SSH verbinden und Zeit/Zeitzone prüfen:
date
timedatectl
  1. Zeitzone bei Bedarf korrigieren:
sudo timedatectl set-timezone Europe/Berlin
  1. Uhrzeit danach korrekt setzen (nicht nur die Zeitzone ändern – die zugrunde liegende Uhrzeit muss neu berechnet werden):
sudo date -s "JJJJ-MM-TT HH:MM:SS"
  1. Bei vorhandener RTC die korrigierte Zeit dauerhaft sichern:
sudo hwclock -w
  1. Kontrolle: date sollte „CEST“ (nicht „BST“) und die korrekte Uhrzeit zeigen
  2. Erst danach EmonCMS-Feeds anlegen bzw. den Dauerbetrieb starten, damit von Anfang an konsistente Zeitstempel entstehen
Falls am jeweiligen Standort Internetzugang verfügbar ist, ist die
Zeit alternativ auch automatisch per NTP synchronisierbar, statt sie
manuell zu setzen - das isolierte Messnetz-Konzept (siehe
Hauptanleitung, Teil 1) sieht im Dauerbetrieb zwar bewusst kein
Internet vor, für eine kurzzeitige Erstsynchronisation an einem
Standort mit Internet ist das aber ebenfalls eine Option.

Falls doch mal ein Zeitsprung passiert ist

Keine Panik – wie oben beschrieben, betrifft das nur den Zeitraum zwischen der fehlerhaften Inbetriebnahme und der Korrektur. Ab dem Moment der Korrektur läuft die Aufzeichnung wieder sauber und durchgehend weiter. Für die Praxis (Vorführung, Messestand, kurzer Testlauf) ist das in aller Regel unproblematisch – für eine langfristige, wissenschaftlich auswertbare Zeitreihe (z. B. den festen Schulaufbau) lohnt sich dagegen, die Checkliste oben schon bei der Ersteinrichtung einmal sorgfältig durchzugehen.

QR-Code
QR-Code www-messdatenerfassung-sas:emoncms_zeit_hinweise (erstellt für aktuelle Seite)