Sensorlogger

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

Statistik & Logbücher

Statistische Auswertungen sind im Sensorlogger immer an die Spalten eines Logbuchs gebunden. Um eine statistische Auswertung durchzuführen, muss daher immer ein gedachtes Logbuch konfiguriert werden, egal, ob dieses letztlich tatsächlich in Form einer Datei geschrieben wird oder nicht.

Logbücher sind tab-getrennte Textdateien, in denen die gemessenen Werte zyklisch aufbereitet und aufgezeichnet werden. Es können beliebig viele Logbücher konfiguriert werden, mit unterschiedlichen Spalten, statistischen Operationen und Zyklusdauern. Ein sehr einfaches Beispiel für eine Logbuchdatei ist im Folgenden zu sehen. Hier werden die Werte alle 30 Minuten als Mittelwerte zusammengefasst.

# Time                 Temp [°C]    Luftfeuchte [%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

Logbücher konfigurieren

Bei dem Parameter logbooks in der Konfigurationsdatei des Sensorloggers handelt es sich immer um ein JSON-Array, das beliebig viele Logbuch-Definitionen aufnehmen kann.

"logbooks": [
    ...
    {
        "filename": "/home/user/weather/weatherlog.txt",
        "cycle_time": {"value": 15, "unit": "min"},
        "max_entries": 96,
        "missing_data": "-",
        "columns": [
            ...
        ]
    },
    ...
]

Logbuch-Spalten

Bei "columns" (als Unterobjekt eines Logbuch-Objekts) handelt es sich immer um ein JSON-Array, das beliebig viele Spalten-Definitionen aufnehmen kann. Die erste Spalte eines jeden Logbuchs enthält das Datum und die Uhrzeit der Einträge. Alle weiteren Spalten werden hier konfiguriert.

"columns": [
    ...
    {
        "title": "Temperatur",
        "unit":  "°C",
        "sensor_id": "Wetterstation/Temperatur",
        "mqtt_publish": "Haus/Wetterstation/Temperatur/Mittelwert",
        "homematic_publish": "34572",
        "operation": "mean",
        "evaluation_period": {"value": 1, "unit": "h"},
        "confidence_absolute": 10.0,
    },
    {
        "title": "Luftfeuchte",
        "unit":  "%rel",
        "sensor_id": "Wetterstation/Luftfeuchte",
        "mqtt_publish": "Haus/Wetterstation/Luftfeuchte/Median",
        "homematic_publish": "37856",
        "operation": "median",
        "confidence_sigma": 3.0
    },
    {
        "title": "Wind",
        "unit":  "Hz",
        "sensor_id": "Wetterstation/Wind",
        "mqtt_publish": "Haus/Wetterstation/Wind/Frequenz",
        "homematic_publish": "22156",
        "operation": "freq",
        "count_factor": 0.5
    },
    ...
]