Timestamp Handling – so nützlich sind Zeitstempel

Wenn unsere Datenlogger ihren Job erfüllen, entstehen Daten. Um diese so schnell, einfach und sinnvoll wie möglich nutzen zu können, sind die Geräte und der Server auf Basis der UTC zeitsynchronisiert. Wird ein Wert aufgezeichnet, wird diesem ein eindeutiger Zeitstempel zugewiesen. In weiterer Folge wird das Datenpaar an den Server übertragen und dort gespeichert.

Inhaltsverzeichnis

Wieso UTC?

Die UTC (Coordinated Universal Time) wird in myDatanet als grundlegende Zeitzone verwendet. Das gilt sowohl für den Server selbst, als auch für alle mit dem Server kommunizierenden Datenlogger.

Der Grund dahinter ist einfach erklärt: Alle auf der Welt verfügbaren Zeitzonen basieren auf UTC. Alle lokalen Uhrzeiten lassen sich unter Angabe der Zeitzone und der zusätzlichen Angabe von Sommer- und Winterzeit berechnen.
In die umgekehrte Richtung ist dies nicht zu jeder Sekunde des Jahres möglich. Bei der mitteleuropäischen Sommerzeit gibt es an jedem letzten Sonntag im Oktober die Umstellung von UTC+2 (Sommerzeit) auf UTC+1 (Normalzeit, “Winterzeit”). Gemeinhin wird die Zeit von 03:00 Uhr auf 02:00 Uhr “zurück gestellt”, also existiert die Stunde von 02:00 Uhr bis 03:00 Uhr zwei Mal hintereinander. Technisch wäre die Speicherung in lokaler Zeit nicht bzw. nur mit nicht rechtfertigbarer Komplexität machbar.

So läuft das mit der Zeit in myDatanet

Im myDatanet-Ökosystem können Zeitstempel in einem Raster von 1/256 Sekunden gespeichert bzw. erfasst werden. Es ist also nicht möglich, zu jeder einzelnen Millisekunde Datensätze zu erfassen. Die Zeitstempel haben immer einen Abstand von 1/256 Sekunden, das entspricht genau 3,90625 Millisekunden. Dieser Wert wird systemintern immer auf ganze Millisekunden gerundet. Daher ergeben sich hier Abstände von 3 oder 4 Millisekunden, je nachdem welcher exakte Wert gerade verwendet wird.

Woher bekommt der Server die aktuelle Zeit?

Das aktuelle Datum und die Uhrzeit werden vom myDatanet-Server direkt vom unterliegenden Betriebssystem bezogen. Die Aktualisierung der Uhrzeit auf dem Betriebssystem kann einerseits durch das Betriebssystem selbst (falls konfiguriert) oder durch myDatanet (einstellbar, Synchronisierung mit öffentlichen Zeitservern über NTP) übernommen werden.

Synchronisierung mit Datenloggern

Beim Aufbau der Verbindung von einem Gerät zum Server wird der aktuelle Zeitstempel (UTC) vom Server zum Gerät übertragen. Das Gerät übernimmt den übermittelten Zeitstempel als neue Zeit. Falls die Zeit im Gerät um mehr als 5 Sekunden korrigiert wird, wird ein entsprechender Eintrag in das Geräte-Log geschrieben.

Die lokale Zeit im Gerät

Jedes Gerät erhält vom Server auch die Information darüber, in welcher Zeitzone es tatsächlich arbeitet. Welche Zeitzone dabei zum Einsatz kommt, wird in dieser Reihenfolge ermittelt: Site -> Kunde -> Server. Ist keine spezifische Einstellung in der Site getätigt worden, so werden die Einstellungen des Kunden übernommen. Ist auch dort keine spezifische Einstellung vorhanden, werden die Einstellungen des Servers übernommen.

Beispiel: Bei der Verwendung von Tageszählern ist es wichtig, den Zähler zum korrekten Zeitpunkt zurückzusetzen. Dafür muss die eingestellte Uhrzeit zur Rücksetzung am Gerät auch korrekt interpretiert werden können. Die Speicherung der aufgezeichneten Daten erfolgt aber weiterhin in UTC.

Konfigurationen und historische Datensätze

Die Synchronisation der Datenlogger mit dem Server wird primär über Zeitstempel gesteuert. Zu Beginn jeder Verbindung meldet das Gerät dem Server den aktuellen Zeitstempel (bei “Single”-Datensätzen wie z. B. Konfigurationen) bzw. den neuesten Zeitstempel (bei historischen Datenströmen) für jeden einzelnen Datenblock bzw. historischen Datenstrom.

Zusätzlich wird berücksichtigt, in welche Richtung Konfigurationen synchronisiert werden dürfen. Bei IoT-Apps kann dies durch den Entwickler der Applikation definiert werden. Es macht Sinn, Einstellungen ausschließlich in eine Richtung synchronisieren zu lassen, z. B. “config2” nur Upload, “config3” nur Download. Damit kann allfälligen Diskrepanzen schon zum Zeitpunkt der Entwicklung vorgebeugt werden.

Ist der Zeitstempel am Gerät neuer, so fordert der Server die neuen Daten vom Gerät an. Ist der Zeitstempel am Server neuer, so sendet der Server den veränderten Datensatz an das Gerät.

Synchronisation von Dateien (Files)

Die Synchronisation von Dateien erfolgt nach einem ähnlichen Muster wie die Konfigurationen. Wenn eine Datei in beide Richtungen transferiert werden kann, so wird immer die Version mit dem älteren Zeitstempel überschrieben.

Die Synchronisationslogik von Dateien beinhaltet jedoch noch weitere Kriterien, die vor dem Zeitstempel zum Zug kommen. Abhängig vom Design der jeweiligen Applikation findet eine Übertragung von Dateien meist nur unidirektional oder gar nicht statt.

Es wird empfohlen, Dateien zwischen Up- und Download zu trennen und die gleiche Datei nicht in beide Richtungen übertragen zu lassen.

Benutzereinstellungen

Die Darstellung von Uhrzeiten kann am Server auf mehreren Ebenen konfiguriert werden. Die Einstellungen werden in folgender Reihenfolge abgehandelt: Benutzer -> Site -> Kunde -> Server.

Benutzerebene

Benutzerebene Timestamp

Wenn die Lokalisierungseinstellungen auf Benutzerebene abgeändert werden, dann werden alle Zeitstempel am Server in dieser Zeitzone angezeigt, unabhängig von den sonstigen Einstellungen bei Site, Kunden oder Server.

Siteebene

Siteebene Timestamp

Kundenebene

Kundenebene Timestamp

Serverebene

Serverebene Konfiguration Timestamp

Server-Administratoren können die Standard-Einstellungen für die Darstellung von Zeitstempeln am Server festlegen.

Praxis in der REST API

Die Zeitstempel die von der REST API ausgegeben bzw. als Parameter entgegen genommen werden, werden immer in der Standardzeit UTC gehandelt, außer es ist explizit in der einzelnen Ressource anders beschrieben.

Die Verwendung von lokaler Zeit ist jedoch in der REST API selten anzutreffen und wird nur eingesetzt, wenn ein Bezug zur lokalen Zeit notwendig wird. Ein Beispiel dazu ist die verdichtete Ausgabe von Messwerten, die in Tagesintervallen oder noch größeren Intervallen ausgegeben werden. Die Berechnung von Werten wie Minimum, Maximum, Durchschnitt, etc. macht dabei nur Sinn, wenn man die Daten in der lokalen Uhrzeit betrachtet. Das Gleiche gilt für Tagessummen, die üblicherweise zu Mitternacht der lokalen Zeitzone zurückgesetzt werden.

Datenlogger für Ihren Einsatzort auswählen und loslegen!

Wassermeister kontrolliert die Wasserverbräuche
Anwendungen

5 Gründe, warum Wasserverbrauchszähler für Wasserzweckverbände und Wassermeister unverzichtbar sind

Wasserzweckverbände, Wassermeister und Wassernetzbetreiber benötigen Diagnose- und Analysewerkzeuge, um die Wassernetze entsprechend zu managen. Für ein effizientes, nachhaltiges Wassernetz muss sichergestellt werden, dass keine Verluste und Leckagen im Netz auftreten. Zudem müssen Bedarfe analysiert und der im Wassernetz notwendige Druck entsprechend sichergestellt werden.

Kanal-Entlastung in den Fluss mit drei Enten
Anwendungen

Umsetzung der EU-Kommunalabwasserrichtlinie in Österreich

Die EU-Kommunalabwasserrichtlinie schützt die Umwelt vor schädlichen Auswirkungen durch die Einleitung von kommunalen Abwasser. Die Richtline geht auf das Jahr 1991 zurück und befindet sich aktuell in Überarbeitung. Die geplanten Neuerungen stärken den Umweltschutz. Gleichzeitig gehen damit verschärfte Anforderungen an Kanalnetzbetreiber, Kläranlagen und Hersteller einher.

Nachfolgend fassen wir die wichtigsten Eckpunkte zusammen, zeigen was die Umsetzung der EU-Kommunalabwasserrichtlinie für Österreich im speziellen für die Mischwasserkanalisation bedeutet und geben einen Einblick in die möglichen Technologien, die bei der Umsetzung unterstützen.

Um unseren Live-Chat benutzen zu können, müssen Sie dem Laden von Hubspot-Cookies zustimmen. Mehr dazu erfahren Sie in unserer Datenschutzerklärung.