Statistik direkt in InfluxDB speichern

Statistiken direkt in InfluxDB speichern

  • direkt - kein Loxberry oder ähnliches notwendig

  • schützen Sie Ihre Daten vor Verlust

  • bereiten Sie Ihre Daten ansprechend auf

  • machen Sie umfangreiche Analysen

  • kostenfrei

Inhaltsverzeichnis

Die Lösung ist einfach

Loxone InfluxDB Geiger Smart Home
Ein kleiner Überblick

Kurz ausgeholt: Der Miniserver ist die Smart Home Zentrale des Loxone Systems. Bei seinen Automatisierungsaufgaben fallen jede Menge Daten an, die man oft als Statistik visualisieren möchte. Loxone bietet dazu ein eigenes Statistikprogramm an. Dies ist voll in die Loxone App eingebettet und bietet einige Möglichkeiten. Allerding gibt es auch viele Nachteile, sei es der Datenverlust, wenn die SD-Karte defekt ist, oder einfach ein vernünftige Datenanalyse. Damit wir da mehr Möglichkeiten bekommen, bietet es sich an, die Daten in eine  Zeitreihendatenbank zu senden. InfluxDB ist so eine Datenbank und kann selbst in der kostenlosen Version Unmengen an Daten vom Loxone Miniserver verarbeiten. Bei der kostenlosen Version können Sie allerdings die Daten nur 30 Tage speichern!

Wie gehen Sie vor

Sie erstellen für jeden Messwert, den Sie mit einer Statistik auswerten wollen einen virtuellen Ausgang. Eine Vorlage finden Sie weiter unten. Mit einem kleinen Trick, denn wir Ihnen später zeigen, können Sie dann in wenigen Sekunden weitere Messpunkte hinzufügen. Sie brauchen pro Messpunkt einen Statusbaustein. Er dient dazu dem Messwert einen Namen zu geben und diesen mit Tags zu versehen. Tags dienen dazu, dass Sie später in der Datenbank ihre Daten sortieren können. Diesen Statusbaustein können Sie dann ebenfalls leicht kopieren und einfügen.  

Voraussetzungen, damit das für Sie funktioniert
  1. Sie brauchen eine Account bei InfluxDB Cloud
  2. Sie brauchen einen Miniserver Gen2 (Gen1 geht leider nicht)
  3. Sie brauchen unsere Vorlage

InfluxDB im Detail

Nicht erschrecken es kommt jetzt eine Schritt für Schritt Anleitung, die etwas umfangreich ausschaut, aber eigentlich sehr einfach ist.

Letztendlich geht es um folgende Schritte:

  1. Account anlegen
  2. Plan (Abo-Model) wählen
  3. Bucket (Datensammelstelle) erstellen
  4. Api Token für Loxone erstellen
InfluxDB Account anlegen

Zuerst müssen Sie bei InfluxDB einen Account anlegen. Achten Sie darauf dass Sie die Cloud Verstion 2.0 auswählen. Oder folgen Sie diesem Link. -> hier geht es zur Anmeldung

InfluxDB Anmeldung Geiger Smart Home

Im nächsten Schritt müssten Sie Ihre Email bestätigen. Sie erhalten ein Email von InfluxDB. (Ev. auch den Spamordner prüfen). Dann in diesem Email auf „Verify your email“ drücken.

Email Bestätigen - Geiger Smart Home

Sie werden dann direkt auf einen neu Seite geleitet. Dort tragen Sie bitte unter Account und Organisation Ihren Namen oder Firma ein. Wichtig ist auch noch den Serverstandort auszuwählen, da nehmen Sie bitte EU Frankfurt, damit die Daten in der EU bleiben. Zuletzt noch den Bedingungen zustimmen.

InfluxDB Server auswählen - Geiger Smart Home
Plan (Abo-Model) auswählen

Sie müssen sich nun für einen Plan (Abo) entscheiden. Dies können Sie natürlich jederzeit auch später noch ändern. Wir nehmen hier den Plan „Free“, der erstmal nichts kostet und auch keine Kreditkarten-Informationen benötigt. Der kostenlose Plan hat gewisse Einschränkungen, die hier direkt dargestellt werden. Der wichtigste Punkt ist, das die Daten nur 30 Tage gespeichert bleiben (30 days Storage).

InfluxDB Plan - Geiger Smart Home
Bucket (Datensammelstelle) erstellen

Damit wir die Daten in InfluxDB speichern können brauchen wir zuerst ein „Bucket“ (Deutsch: Eimer). Dieser heißt so, weil dort alle Daten aller unserer Statistiken „reingeschmissen“ werden. Über eine Abfragesprache (Flux) kann man sich dann gezielt einzelne Datenreihen kombiniert mit den Tags abrufen. Das ist sehr mächtig, darf Sie aber keinesfalls abschrecken. Es ist einfach und Sie müssen nicht programmieren können!

Bucket erstellen - Geiger Smart Home

Es ist möglich mehrere Buckets zu erstellen, wir arbeiten hier aber nur mit einem. Wählen Sie unter „Load Data“ Buckets aus und drücken Sie „+ Create Bucket“.

Bucket erstellen - Geiger Smart Home

Wir nennen unser Bucket beispielsweise „Loxone“. Sie könnten hier dann noch festlegen, wie lange die Daten gespeichert bleiben sollen, da wir aber den kostenlosen Account gewählt haben, stehen uns sowieso nur 30 Tage zu.

Bucket erstellen - Geiger Smart Home
API Token für Loxone erstellen

Der Miniserver muss, damit er Daten in die Datenbank schreiben kann, sich legitimieren. Dies geschieht über einen API Token (Schlüsselnummer), die der Miniserver bei jedem Datensatz mitschicken muss. 

InfluxDB Api erstellen - Geiger Smart Home

Wählen Sie nun einen Custom API Token, da wir nicht die kompletten Rechte freigeben wollen, sondern nur gezielt, was notwendig ist.

InfluxDB API - Geiger Smart Home

Wir geben dem Token beispielsweise die Description (Beschreibung) „Miniserver“ und wählen lediglich das Bucket „Loxone“ aus und erteilen dafür Schreibrechte (Write). Somit ist es mit diesem Token nur möglich in das Bucket Loxone zu schreiben.

API Token Loxone - Geiger Smart Home

Sie erhalten nun den Token (Schlüsselnummer) für Loxone. Achtung, dieser wird nur einmalig angezeigt. Drücken Sie „Copy to Clipboard“ (der Schlüssel ist nun kopiert) und speichern Sie sich diesen für später in eine Text-Datei ab. Sollte der Schlüssel verloren gehen, können Sie diesen jederzeit neu generieren.

InfluxDB Api Token für Loxone - Geiger Smart Home

Wir brauchen noch für den Datenversand seitens Loxone die Adresse des Servers und die Nummer unserer „Organisation“. Speichern Sie diese ebenfalls in eine Textdatei für den späteren Gebrauch.

InfluxDB mit Loxone und Geiger Smart Home
InfluxDB mit Loxone und Geiger Smart Home

Loxone Config im Detail

Auch hier nicht erschrecken es kommt jetzt eine Schritt für Schritt Anleitung, die etwas umfangreich ausschaut, aber eigentlich sehr einfach ist.

Wichtig ist, dass Sie hier ganz genau hinschauen. Es muss alles exakt so ausschauen. Kein Zeichen zu viel und kein Zeichen zu wenig.

Letztendlich geht es um folgende Schritte:

  1. Virtuellen Ausgang anlegen
  2. Virtuellen Ausgangsbefehl hinzufügen
  3. Trick zur Vereinfachung
  4. Statusbaustein für die Bodyinformation
  5. Config
Virtuellen Ausgang anlegen

Erstellen Sie einen neuen Virtuellen Ausgang und fügen als Adresse unser zuvor gespeicherten Server ein. Achten Sie zudem darauf, dass das Häkchen bei „Verbindung nach Senden schließen“ gesetzt ist. Das Trennzeichen und den Befehl bei Verbindungsaufbau bleiben leer. 

Anbindung Loxone InfluxDB mit Geiger Smart Home
Anbindung InfluxDB an Loxone mit Geiger Smart Home
Virtuellen Ausgangsbefehl hinzufügen

Fügen Sie nun einen einen „Virtuellen Ausgangs Befehl“ hinzu. Wir müssen dort an den 4 angezeigten Stellen etwas ändern. Was Sie einfügen müssen folgt im Verlauf.

Anbindung Loxone InfluxDB mit Geiger Smart Home
Anbindung Loxone InfluxDB mit Geiger Smart Home

Zunächst der „Befehl bei Ein„:

Hier müssen Sie hinter „org=“ Ihre Organisation, die Sie vorher gespeichert haben, und hinter „bucket=“ Ihr Bucket, falls Sie es anders benannt haben, eingefügt werden.

 

Anbindung Loxone an InfluxDB mit Geiger Smart Home

Die Zeile „HTTP header bei Ein„:

Hier muss hinter Token Ihr Api Schlüssel, den Sie vorher gespeichert haben, eingefügt werden. 

Anbindung Loxone an InfluxDB mit Geiger Smart Home

Bei „HTTP body bei EIN“ kommt <v>. Damit sind wir in der Lage den Body jedesmal dynamisch aus der Config heraus zu übergeben.

Anbindung Loxone an InfluxDB mit Geiger Smart Home

Für „HTTP Methode bei EIN“ muss POST gewählt werden.

Anbindung Loxone an InfluxDB mit Geiger Smart Home
Trick zur Vereinfachung

Nachdem wir die relevanten Daten des Body Elements mittels Werteübergabe <v> realisieren ist der komplette Aufbau des virtuellen Ausgangsbefehls immer gleich. Machen Sie bitte einen Rechtsklick auf den Ausgangsbefehl und speichern diesen als Standard ab (siehe Bild). Damit können wir nun in Sekunden einen weitern Messpunkt hinzufügen, einfach indem ein neuer virtueller Ausgang eingefügt wird. Dieser wird dann automatisch bereit mit den korrekten Daten befüllt.

Anbindung Loxone an InfluxDB mit Geiger Smart Home
Statusbaustein für die Body-Information

Hier folgt nun der notwendige Statusbaustein. Dieser ist für jeden Messpunkt individuell, d.h. hier sind beispielhaft Werte zu sehen.

Den Statusbaustein selbst würde ich für die Visualisierung unsichtbar konfigurieren.

Wir nutzen nur eine Zeile, da der Wert immer ausgegeben werden soll.

Der Ausgabewert muss in die Spalte „Statustext“. 

Der Aufbau muss so aussehen:

  • Messpunkt: hier „Raumwerte“ [Pflichtfeld]
  • „,“ (Komma): dies nur wenn Tags folgen, diese könnten auch komplett wegfallen
  • Tag=Tagwert: hier „Etage=OG“ [optional]
  • weitere Tagwerte, wenn gewünscht, jeweils mit einem Komma vorab. Hier „,Raum=WC“ [optional]
  • “ “ (Leerstelle): Dies ist die Trennung zu den Messwerten [Pflichtfeld]
  • Messwerte=Wert: hier „Temperatur=<v1.2>, Mit der Angabe <v1.2> wird der erste Wert des Statusbausteins mit 2 Nachkommastellen verwendet [Pflichtfeld]
  • weitere Messwerte, wenn gewünscht, jeweils mit einem Komma vorab. Hier „,Feuchte=<v2.2> [optional]
Anbindung Loxone an InfluxDB mit Geiger Smart Home
Anbindung Loxone an InfluxDB mit Geiger Smart Home
Config

So würde der Aufruf in der Config aussehen. Die Eingänge mit den Messwerten versehen. Den Ausgang „Txt“ für den virtuellen Ausgangsbefehl nutzen. Der Statusbaustein selbst wir so konfiguriert, dass er in der Visu nicht sichtbar ist. Sie können den Statusbaustein, einfach kopieren, einfügen und die Werte anpassen. Damit kann sehr schnell ein weiterer Messpunkt angelegt werden.

Anbindung Loxone an InfluxDB mit Geiger Smart Home

Viel Erfolg beim Probieren.

Damit es leichter von der Hand geht habe ich hier das Loxone Beispiel zum Download abgelegt. Die InfluxDB Datenbank existiert noch, sodass Sie mit unserem Beispiel erstmal testen können, ob die Messwerte tatsächlich versendet werden.

Wenn die Daten in der InfluxDB Datenbank sind, können Sie diese entweder direkt dort ansehen oder analysieren oder die Daten z.B. an Grafana weitergeben. 

Nach oben scrollen