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

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
- Sie brauchen eine Account bei InfluxDB Cloud
- Sie brauchen einen Miniserver Gen2 (Gen1 geht leider nicht)
- 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:
- Account anlegen
- Plan (Abo-Model) wählen
- Bucket (Datensammelstelle) erstellen
- 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

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.

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.

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).

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!

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“.

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.

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.

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

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.

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.

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.


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:
- Virtuellen Ausgang anlegen
- Virtuellen Ausgangsbefehl hinzufügen
- Trick zur Vereinfachung
- Statusbaustein für die Bodyinformation
- 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.


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.


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.

Die Zeile „HTTP header bei Ein„:
Hier muss hinter Token Ihr Api Schlüssel, den Sie vorher gespeichert haben, eingefügt werden.

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

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

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.

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]


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.

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.