Smarte Wasserstandsanzeige in Node Red einbinden

Wie ich die Wasserstandsanzeige mit dem Wemos D1 mini gebaut habe, findest Du in dem vorherigen Beitrag. Hier geht es darum die ausgelesenen Daten an Node Red zu senden und darstellen zu können.
Software
Vorraussetzung für die Umsetzung ist eine NodeRed Installation. Außerdem solltest du einen MQTT Broker installiert haben. Dies geht ganz einfach über „apt-get install mosquitto„.
NodeRed einrichten
In NodeRed gibt es unter Network den Knoten „mqtt in„. Diesen ziehen wir in den Arbeitsbereich und konfigurieren ihn wie folgt:

Unter Server legen wir einen neuen an und geben hier „localhost“ an (Wenn Mosquitto und NodeRed auf dem gleichen Server laufen).
Auf dem Wemos D1 mini geben wir nun unter Configuration die passenden Daten ein und schon sendet er alle 5 Minuten die am Wassertank gemessene Distanz an Node Red.
Einrichten des Flows
Wir können jetzt mit den Daten arbeiten und umwandeln.
Zunächst müssen wir per JavaScript und einer Funktion die Distanz aus dem Payload holen, damit wir nur mit dem Werten weiter rechnen können. Dazu habe ich eine Funktion angelegt, die wie folgt aussieht:
var str = msg.payload.substring(48,58);
var end = str.indexOf(„}“);
var start = str.indexOf(„:“) + 1
var distance = str.substring(start,end)
msg.payload = distance;
return msg;
Da mein Wassertank genau 100cm hoch ist, rechne ich 100 – der gemessenen Distanz. Damit erhalte ich meinen Füllstand.
Dashboard
Danach nur noch eine Füllstandsanzeige und einen Graphen an die Daten gehangen und fertig ist die Übersicht der Regentonne:

Im Weiteren habe ich mir noch Benachrichtigungen eingerichtet, die mich per Pushbullet daüber informieren, wenn der Füllstand unter 30 cm fällt. Am Ende eines Tages bekomme ich ebenfalls eine Benachrichtigung über den aktuellen Füllstand.
Hier der komplette Flow:
