Statistiken extern speichern und visualisieren

Statistiken extern speichern und visualisieren

In einem komplexen Regelsystem, wie z.B. für die zentrale Technik eines Einfamilienhaus mit verschiedensten Energieträgern wie einer reversibler Luft-Wärmepumpe (Heizen und Kühlen), Solar-Thermie, wasserführendem Kachelofen, kontrollierter Wohnraumlüftung, Beschattung, Fenster, Frischwasserstation für Warmwasser und zwei Energiepuffern, als auch Photovoltaik, Wärmestrom mit HT und NT und EVU-Sperre, gestaltet sich die Optimierung selbst mit dem so vielfältigen und funktionellen Loxone Miniserver sehr schwierig. Eine wesentlich umfangreichere Möglichkeit zur statistischen Auswertung von Mess-Reihen beschreibt der folgenden Artikel.

Komponenten

  • PC, VM, Raspberry PI oder ähnliches

  • InfluxDB - die Datenbank, In die Statistik-Daten in Form von Messreihen gespeichert werden

  • Telegraf - dieser Service empfängt die Daten vom Loxone Miniserver und speichert sie in der InfluxDB 

  • Grafana - damit werden die Dashboards auf Basis der Daten aus der InfluxDB erstellt

Alle Komponenten sind für verschiedenste Plattformen verfügbar.

Vom Loxone Miniserver aus werden die Daten per virtuelle Ausgang mit einem HTTP Post Request gesendet.

Die folgende Anleitung beschreibt die Installation auf einem Windows Server. Für Linux und Raspberry Pi unterscheiden sich die Schritte für die Installation, aber nicht die Konfiguration.

Installation auf einem Raspberry Pi

Die Installation auf einem Raspberry Pi ist in diesem Blog gut beschrieben https://simonhearne.com/2020/pi-influx-grafana/ .

Installation unter Windows

Download: https://portal.influxdata.com/downloads/ und für diese Anleitung bitte nach unten blättern und die Version 1.8.4 verwenden. Für Windows geht man wie folgt vor:

  1. Powershell öffnen

  2. Folgenden Befehl eingeben, um die InfluxDB herunterzuladen:

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.4_windows_amd64.zip -UseBasicParsing -OutFile influxdb-1.8.4_windows_amd64.zip



    Die  heruntergeladene Datei befindet sich nun im aktuellen Verzeichnis der Powershell.

  3. Falls diese Fehlermeldung erscheint: "wget : Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden..", dann eingeben

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]'Tls11,Tls12'

    und anschließend 2. wiederholen.

  4. Telegraf herunterladen:

    wget https://dl.influxdata.com/telegraf/releases/telegraf-1.18.1_windows_amd64.zip -UseBasicParsing -OutFile telegraf-1.18.1_windows_amd64.zip



  5. Im Verzeichnis C:\Program Files (bzw. C:\Programme) den Ordner

    C:\Program Files\InfluxDB

    erstellen.

  6. Die .exe Dateien aus der InfluxDB ZIP und die .exe Datei aus der Telegraf ZIP in den neuen Telegraf Ordner kopieren.

  7. Im Verzeichnis C:\Programdata (ggf. im Explorer die Anzeige von versteckten Dateien/Verzeichnissen aktivieren) den Ordner

    C:\ProgramData\InfluxDB

    erstellen.

  8. Die .conf Dateien aus der InfluxDB ZIP und die .conf Datei aus der Telegraf ZIP in den neuen Telegraf Ordner kopieren.

  9. In der Windows Firewall den Port 8080 freischalten, da in dieser Beschreibung der MiniServer seine Daten per HTTP über diesen Port schicken wird.

  10. Download https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1

  11. Die MSI Setup-Datei starten und ausführen.



Für die Einrichtung von InfluxDB und Telegraf als Windows Service kann NSSM https://nssm.cc verwendet werden, denn die Statistik-Erfassung soll ja auch ohne manuelles Starten oder vorheriger Anmeldung an und in Windows funktionieren.

Konfiguration

InfluxDB

  1. In der C:\ProgramData\InfluxDB/InfluxDB.conf in den entsprechenden Abschnitten eintragen bzw. einkommentieren:

    [meta] # Where the metadata/raft database is stored dir = "C:/ProgramData/InfluxDB/meta" [data] # The directory where the TSM storage engine stores TSM files. dir = "C:/ProgramData/InfluxDB/data" # The directory where the TSM storage engine stores WAL files. wal-dir = "C:/ProgramData/InfluxDB/wal" [http] # Determines whether HTTP endpoint is enabled. enabled = true



  2. In den Systemeigenschaften das Verzeichnis  "C:\Program Files\InfluxDB"  zur Systemvariable PATH hinzufügen.

  3. Eine Eingabeaufforderung öffnen und InfluxDB starten:

    influxd -config "C:\ProgramData\InfluxDB\influxdb.conf"



  4. Nun in einer neuen Eingabeaufforderung das Influx CLI starten:

    influx



  5. Jetzt mit folgenden Befehlen die Datenbank und den Admin-Benutzer erstellen:

    create database LoxoneMS



    use LoxoneMS



    create user admin with password 'admin' with all privileges



    grant all privileges on LoxoneMS to admin