Das Loggen von Werten

Um bei ioBroker Werte oder Zustände von Datenpunkten loggen zu können später deren Verlauf darzustellen oder die Werte zu vergleichen, muss ein für geeigneter Adapter installiert und eine Instanz davon erstellt worden sein.

mögliche Adapter dafür wären:

  • History:
    • Dieser Adapter schreibt alle Daten in eine json Tabelle, ist daher langsamer und unflexibler. Außerdem benötigt History mehr Ressourcen. Dafür muss keine weitere Datenbank installiert werden. (alte Doku: ?page_id=144&lang=de)
  • influxDB:
    • Dieser Adapter schreibt in eine Datenbank, die auch auf einem anderen Rechner liegen kann. Diese Datenbank bietet genau die Funktionalität, die ioBroker benötigt. Die Datenbank muss vorher installiert werden, ist aber nicht bei einem Betrieb auf einer SD-Karte empfohlen.
  • sql:
    • Dieser Adapter schreibt ebenfalls in eine Datenbank, die auch auf einem anderen Rechner liegen kann. SQL ist sehr weit verbreitet und bietet einen großen Funktionsumfang. SQL muss ebenfalls vorher installiert werden.

In den fertigen Images ist bereits ein History-Adapter installiert und eine Instanz davon angelegt. Daher werden wir uns in diesem Tutorial auch damit beschäftigen.

 

Konfiguration des Adapters

Die im Reiter Adapter erzeugte Instanz des History-Adapters kann noch nach den eigenen Wünschen konfiguriert werden, muss aber nicht.

Dazu wird im Reiter Instanzen das Konfigurationsmenü der Instanz über das markierte Icon geöffnet:

 

Storage-Einstellungen

Hier kann unter Speicherverzeichnis ein Pfad eingegeben werden in dem die Daten gespeichert werden. Auch weitere spezielle Einstellungen sind möglich. Für unser Beispiel belassen wir im ersten Block alles bei den Grundeinstellungen.

 

Default-Einstellungen für Zustände

Diese Einstellungen werden bei den Einstellungen der einzelnen Datenpunkte als Vorgabe verwendet. Dort können sie selbstverständlich nochmal verändert werden. Um diese Änderungen jedoch auf ein Minimum zu beschränken, sollten hier bereits die Einstellungen vorgenommen werden, die später am häufigsten verwendet werden.

Maximale Ereignisse im RAM

Die Speicherung in der JSON-Tabelle findet in bestimmten Zeitabständen statt. In der Zwischenzeit werden die Daten im RAM gehalten. Dadurch werden die Schreibzugriffe auf die SD-Karte minimiert. Bei einem Stromausfall wären allerdings die Daten seit dem letzten Speichervorgang verloren.

Durch diesen Wert können weitere Speichervorgänge ausgelöst werden, sobald die hier angegeben Zahl an Messwerten im RAM vorliegt. Dies entlastet außerdem den verfügbaren Arbeitsspeicher.

 

Entprellzeit (ms)

Falls ein Gerät „prellt“, d.h. trotz einfacher Bedienung trotzdem mehrfach diesen Status sendet, kann man hier die  Sammlung der Daten auf einen Wert innerhalb des Zeitraums in Millisekunden begrenzen.

 

Gleiche Werte aufzeichnen (s)

Sollen gleiche Werte aufgezeichnet werden, kann hier das Intervall in Sekunden angegeben werden, wie oft diese gleichen Werte in der Datenbank erscheinen sollen. Gibt man 0 ein, werten gleiche Werte ignoriert.

 

Minimale Abweichung vom letzten Wert der Aufzeichnung

Will man das Datenvolumen noch weiter reduzieren, kann man sogar festlegen wie stark sich ein zu speichernder Wert von dem zuletzt gespeicherten unterscheiden muss um aufgezeichnet zu werden. Damit kann man ein „flattern“ von Werten filter, wenn z.B. bei einem Temperatursensor die Temperatur  wegen einer Rundung immer um 0/- 0,1°C schwankt.

Gibt man hier 0 ein, wird jeder geänderte Wert aufgezeichnet.

 

Storage Vorhaltezeit

Hier kann man festlegen wie lange die Werte in der Datenbank gehalten werden sollen, bevor sie automatisch gelöscht werden.

 


 

Festlegen der zu loggenden Datenpunkte

Bei ioBroker können (und müssen) die Datenpunkte, die geloggt werden sollen manuell festgelegt werden. Dies hat den Vorteil, dass die Datenbank nicht mit unnötigen Daten zugemüllt wird.

Um diese Auswahl zu treffen muss der Reiter Objekte im Admin geöffnet werden.

Sobald zumindest eine History-Instanz erstellt wurde, befindet sich in jeder Zeile eines Datenpunkts ganz rechts ein Zahnrad-Icon.

Klickt man dieses an , öffnet sich ein Fenster mit je einem Konfigurationsmenü für jede angelegte Instanz:

Hier wird jetzt die gewünschte Instanz aktiviert und ggf. die Werte angepasst. Ansonsten werden hier die in der Konfiguration der Instanz angegebenen Werte angezeigt. Über den Button Speichern werden die Einstellungen gesichert.

Will man mehrere Datenpunkte in der gleichen History-Instanz mit den gleichen Parametern loggen kann man dies auch mit einer Konfiguration automatisch erzeugen.

Diese Funktion ist mit Vorsicht zu verwenden!

Dazu wählt man geschickt Filterkriterien aus und trägt diese in den Filterfeldern über den Spalten ein.

Zur Kontrolle klickt man noch das Alles Aufklappen – Icon an (oben links – 4. Icon), um alle ausgewählten Datenpunkte zu sehen.

Anschließend klickt man das Zahnrad oben rechts (lila Kreis) an und erhält ein Konfigurationsmenü für alle ausgewählten Datenpunkte. Auch hier überprüft man zur Sicherheit noch die in der Titelzeile erwähnte Anzahl der ausgewählten Datenpunkte bevor man auf aktivieren und Speichern klickt.

 

Damit sind die Datenpunkte für das Loggen aktiviert.