Sensorlogger

  1. Übersicht
  2. Installation & Start
  3. Konfiguration & komplettes Beispiel

Übersicht

Verarbeitungsschema des Sensorloggers

Sensorlogger ist ein Programm, um Werte von Sensoren auszulesen, diese in Logbuchtabellen statistisch zusammenzufassen und eintreffende Werte wie auch statistisch ermittelte Werte an einen MQTT-Broker oder eine HomeMatic-CCU weiterzuleiten. Das Programm wurde geschrieben, um die Daten einer mit Tinkerforge-Sensoren ausgestatteten Wetterstation als 15-Minuten-Mittelwerte aufzuzeichnen, ist aber auch für viele andere Szenarien geeignet und sehr flexibel konfigurierbar.

Als Datenquellen werden (ausgewählte) Tinkerforge-Sensoren und JSON-Dateien unterstützt. Außerdem können Werte über Topics von einem MQTT-Broker abonniert werden oder über die XML-API einer HomeMatic-CCU ausgelesen werden. Die per MQTT abonnierten Werte können ihrerseits wiederum in JSON-Strings eingebettet sein.

Im Folgenden ist ein kurzes, einfaches Beispiel für eine Logbuch-Datei zu sehen. Hier werden alle 30 Minuten die Mittelwerte für die gemessene Temperatur und Luftfeuchte zusammengefasst.

# Time                 Temp [°C]    Feuchte [%RH]
2021-01-31 15:00:00    2.79615      65.0923
2021-01-31 15:30:00    1.182        70.46
2021-01-31 16:00:00    0.90467      75.36
2021-01-31 16:30:00    0.56         75.8733
2021-01-31 17:00:00    0.0286667    80.5067
2021-01-31 17:30:00    -0.499333    84.76
2021-01-31 18:00:00    -0.926       89.06
2021-01-31 18:30:00    -1.14067     89.1933

Daten­akku­mulation & Statistische Auf­bereit­ung

Der Sensorlogger ist in der Lage, Tinkerforge-Sensoren und JSON-Werte in angegebenen Zeit­intervallen auszulesen und intern zwischen­zuspeichern, solange sie für die statistische Auswertung benötigt werden. Nach dem Auslesen können diese Werte sofort an einen MQTT-Broker unter jeweils definierbaren Topics gesendet werden, oder an eine HomeMatic-Zentrale über die XML-API unter Angabe der ISE-ID einer Systemvariablen übertragen werden.

Außerdem können Werte über Interrupts jederzeit empfangen werden, z.B. von Tinkerforge IO-Bricklets oder über abonnierte MQTT-Topics.

Optional können die Messwerte anschließend in sogenannte Logbücher einfließen. Das sind Tabellen in Form von Tab-getrennten Text­dateien, die jeweils einen Messzyklus zusammenfassen, z.B. in Form von Mittel­werten, Summen, Minimal- oder Maximal­werten, Frequenzen von Zählern, usw. Der Benutzer stellt sich die einzelnen Logbuch­spalten in der Konfiguration selbst zusammen. Die Länge eines Mess­zyklus kann für jede Log­buch­datei frei gewählt werden. Außerdem können die statistischen Ergebnisse der Log­bücher ebenfalls an den MQTT-Broker übermittelt werden, wieder jeweils unter frei wählbaren Topics.

Installation & Start>>