Auswertung des H2Oreaders in ioBroker

In diesem Artikel zeige ich Dir, wie ich die Auswertung des H2Oreaders in ioBroker umgesetzt und implementiert habe.

In einem der letzten Artikel habe ich Dir den neuen H2Oreader vorgestellt. Wie versprochen zeige ich Dir heute, wie ich dazu die Auswertung in ioBroker implementiert habe. Falls Du den Artikel dazu noch nicht gesehen hast, hier der Link dazu:

Der H2Oreader liefert primär den aktuellen Zählerstand des Wasserzählers in Form einer Kubikmeter-Angabe. Für meine Auswertungen für die Visualisierung und für den Verlauf der historischen Werte benötige ich aber die Mengenangaben pro Tag in Liter. Folgende Auswertungen möchte ich erstellen:

  • Wassermenge des aktuellen Tages in Liter
  • Wassermenge des vorherigen Tages in Liter
  • Diagramm für den Verlauf der letzten x Tage

Vorbereitungen

Für die Auswertung des Zählerstands verwende ich den Adapter SourceAnalytix. Zum Zeitpunkt der Artikel-Erstellung habe ich Version 0.4.8-alpha.2 im Einsatz.

Nach der Installation des Adapters habe ich im nächsten Schritt die Konfiguration angepasst. Hierzu öffnest Du den Bereich Instanzen und suchst nach dem Adapter „sourceanalytix“. Über die hier gelb markierte Konfigurations-Schaltfläche kann dann die Adapter-Konfiguration angepasst werden.

Ich habe in den Haupteinstellungen die folgende Konfiguration für die Instanz hinterlegt.

Eigene Datenpunkte erstellen und konfigurieren

Für die Visualisierung sowie die Erstellung von Diagrammen für den Wasserzähler habe ich mir zunächst drei eigene Datenpunkte angelegt. Eigene Datenpunkte werden immer im Ordner 0_userdata.0 angelegt. In meinem Beispiel habe ich dazu einen Unterordner mit dem Namen Wasser hinzugefügt. Dieser Ordner dient der besseren Strukturierung von Datenpunkten. Ich habe (wie im Screenshot zu sehen) die folgenden Datenpunkte angelegt:

  • 0_userdata.0.wasser.history
  • 0_userdata.0.wasser.today
  • 0_userdata.0.wasser.yesterday

Alle drei Datenpunkte besitzen die folgenden Datenpunkt Eigenschaften:

  • Art: Zahl
  • Maßeinheit: Liter

Nach dem wir nun die Datenpunkte erstellt und konfiguriert haben, können wir im nächsten Schritt nun den eigentlich Zählerstand-Datenpunkt für den sourceAnalytix Adapter aktivieren. Gehe dazu in den Objekten in den Bereich des MQTT-Adapters und klicke hier auf das gelb markierte Icon des Datenpunkts mqtt.0.wasserzaehler.main.value.

In den Einstellungen für sourceanalytix habe ich die folgenden Einstellungen im Bereich Main settings hinterlegt. Den Bereich Kosten habe ich hier aktuell noch nicht aktiviert.

Wenn wir nun in den Objekten in den Bereich sourceanalytix schauen, dann sehen wir hier nach kurzer Zeit die folgende Datenpunkt-Struktur des Wasserzählers. Für uns wichtig ist der Datenpunkt 01_currentDay. In diesem Datenpunkt steht der Wasserverbrauch des aktuellen Tages in Kubikmeter (m³).

Wir haben nun die benötigten Datenpunkte erstellt und die sourceanalytix Konfiguration soweit abgeschlossen. Im nächsten Schritt werden wir nun die eigenen Datenpunkte mittels einem kleinen Blockly-Script befüllen.

Blockly-Script anlegen

Für die Visualisierung haben wir uns einen eigenen Datenpunkt mit dem heutigen Wasserverbrauch in Litern angelegt. Diesen Datenpunkt werden wir nun mit dem folgenden Script befüllen. Der hier gezeigte Trigger geht auf den Datenpunkt 01_currentDay des sourceanalytix Adapter. Bei einer Veränderung des Datenpunkts wird somit der Trigger ausgelöst. Im ersetzen Schritt habe ich mir nun den Wert aus dem Trigger (neuer Wert des Datenpunkts) mit 1000 multipliziert und in die Variable „liter“ geschrieben. Zu Debug-Zwecke sende ich mit zudem aktuell noch den Wert per Telegram an mein Smartphone. Im letzten Schritt wird dann noch der Datenpunkt „0_userdata.0.Wasser.today“ mit dem Wert in Litern aktualisiert.

In einem zweiten Script wird dann per Zeitplan am Ende des Tages der aktuelle Zählerstand ausgelesen, in Litern umgewandelt und dann in den Datenpunkt history und yesterday geschrieben. Mit diesem Script habe ich nun automatisch den Wert in Litern des Vortages gespeichert und zudem eine Historie für die Erstellung von Diagrammen aufgebaut.

Nach der Erstellung und Aktivierung der Scripts können wir im nächsten Schritt in den Einstellungen des Datenpunkts 0_userdata.0.wasser.history die History-Einstellungen aktivieren. Mit diesen Einstellungen zeichnet der Datenpunkt nun die historischen Werte auf und kann in Diagrammen verwendet werden.

Für die Auswertung der täglichen Verbrauchswerte habe ich nun eine einfache Liniengrafik erstellt. Hierfür nutze ich den Adapter eCharts. Als Datenquelle wird hier einfach der von uns erstellte Datenpunkt 0_userdata.0.wasser.history verwendet.

In den Datenpunkten im Bereich 0_userdata.0.wasser sehen wir nun die folgenden Datenpunkte, welche so einfach in der Visualisierung eingesetzt werden können.

Ich hoffe Dir gefällt der Artikel. Über Kommentare, Anregungen oder Ideen freue ich mich wie immer 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

4 Gedanken zu „Auswertung des H2Oreaders in ioBroker

  • 23. Oktober 2021 um 13:42
    Permalink

    Hallo Hr. Korte,
    danke für die ausführliche Anleitung, möchte diese bei mir auch demnächst umsetzen. Statt Blockly bevorzuge ich mangels Kenntnisse lieber (noch) Javascript. Wie müsste das aussehen?
    mfg ME

    Antwort
    • 30. Oktober 2021 um 7:03
      Permalink

      Hallo,

      ich kann dazu gerne noch Beispiele zur Verfügung stellen.

      LG Matthias

      Antwort
  • 26. Oktober 2021 um 19:09
    Permalink

    Als ich es installiert habe, war der 0.4.12-1 aktuell. Der hatte mir aber nicht alle Datenpunkte/Ordner angelegt.
    An was kann das liegen?

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.