Messung des Wasserstands im ioBroker mit dem Shelly UNI
Messung des Wasserstands im ioBroker mit dem Shelly UNI

Wir wollen in unserer Smarthome-Visualisierung sehen, wie voll unser Wasserspeicher bzw. unsere Zisterne aktuell ist. Daher haben wir eine Messung des Wasserstands im ioBroker in Verbindung mit einem Flüssigkeitssensor und einem Shelly Uni realisiert. In diesem Beitrag stellen wir unsere Lösung vor, die ebenfalls mit dem Shelly Plus Uni funktioniert.

Bevor es los geht: Auch wenn es sich hierbei um ein Projekt mit Kleinspannung handelt, so dient diese Anleitung lediglich als Vorschlag für die Umsetzung. Die Umsetzung selbst und ein möglicher Einsatz erfolgen natürlich auf eigene Gefahr!

Die benötigten Komponenten

Für die Messung des Wasserstands im ioBroker – mit dem Shelly Uni bzw. Shelly Plus Uni – benötigen wir die folgenden Komponenten:

Bei der Auswahl der Position der Kunststoffbox sollte man beachten, dass diese an einem trockenen Raum platziert werden muss, bei der auch eine gute WLAN-Verbindung vorhanden ist.

Messung des Wasserstands im ioBroker mit dem Shelly Uni bzw. Shelly Plus Uni – die Hardware

Um die Hardware zusammenzubauen, benötigen wir die oben genannten Komponenten. Die meisten dieser Utensilien haben Sie vermutlich bereits in Ihrem Haushalt zur Hand. Die Kunststoffbox bzw. Abzweigdose ist für die Hardware die zentrale Komponente, in die wir den Shelly Uni bzw. den Shelly Plus Uni platzieren werden.

Bei der Auswahl des Flüssigkeitsstandsensors sind folgende drei wichtige Eckpunkte zu beachten:

  • Wählen Sie einen Sensor, der den Wasserstand über die Stromstärke zurückgibt. Nur so können Sie das Signal über den Shelly Uni bzw. Shelly Plus Uni verarbeiten. Die Range sollte 4-20 mA sein.
  • Der Sensor hat immer eine gewisse Leitungslänge. Prüfen Sie, dass die Leitungslänge lange genug ist, um vom Boden des zu überwachenden Gefässes bis zur Abzweigbox zu reichen. Die Abzweigbox muss unbedingt in einem trockenen Raum untergebracht werden. Wir haben eine extra lange Leitung gewählt, damit diese bis in unseren Keller reicht.
  • Als zweite Angabe verfügt der Sensor über einen definierten Messbereich. Dieser muss nicht der Leitungslänge entsprechen. Wählen Sie hier stattdessen die Tiefe des zu überwachenden Gefässes. Der Messbereich ist somit ein Teil der Leitungslänge, also z.B. (2 Meter Messerbereich, 5 Meter Leitungslänge) Hierdurch wird bereits ab einem Flüssigkeitsstand von 2 Metern die maximale Stromstärke (20 mA) zurückgegeben.
sonde_fuer_wasserstandmessung Messung des Wasserstands im ioBroker mit dem Shelly Uni bzw. Shelly Plus Uni
Messung des Wasserstands im ioBroker mit dem Shelly UNI – das Netzteil- die Mess-Sonde

Haben wir alle Komponenten zusammen, so öffnen wir zunächst zwei der Durchstecköffnungen mit einem spitzen Gegenstand. Bitte die Löcher nur so gross machen, dass die entsprechenden Kabel gerade so hindurchpassen*

Durch die erste der beiden Öffnungen stecken wir dann den Hohlstecker des Netzteils. Sobald dieser durchgesteckt ist, stecken wir von Innen den Terminalblock 2 Pin auf den Stecker. Durch die zweite Öffnung kommt dann das Kabel des TL-136 Sensors.

Die beiden Kabel von Netzteil und Sensor fixieren wir von Innen mit entsprechend großen Kabelbindern als Zugentlastung. Dies verhindert somit, dass diese Kabel nicht mehr aus der Box herausrutschen können. Wenn beide Kabel durch die Öffnungen der Kunststoffbox hindurchgezogen sind, wird der Shelly Uni bzw. Shelly Plus Uni darin platziert und z.B. mit doppelseitigem Montageband befestigt.

Das folgende Schaubild zeigt, wie der Shelly Uni angeschlossen wird:

anschluss_an_shelly_uni Messung des Wasserstands im ioBroker mit dem Shelly Uni bzw. Shelly Plus Uni
Messung des Wasserstands im ioBroker mit dem Shelly Uni

Erfreulicherweise wurden die Kabelfarben beim Shelly Plus Uni beibehalten. Entsprechend wird der Shelly Plus Uni wie folgt angeschlossen:

anschluss_an_shelly_plus_uni Messung des Wasserstands im ioBroker mit dem Shelly Uni bzw. Shelly Plus Uni
Messung des Wasserstands im ioBroker mit dem Shelly Plus Uni

Das mittlere Röhrchen im Kabel des Flüssigkeitsstandsensor bitte nicht zukleben!

Messung des Wasserstands im ioBroker mit dem Shelly Uni bzw. Shelly Plus Uni: die Software

Der Shelly Uni bzw. Shelly Plus Uni sendet ein WLAN-Signal und kann hiermit mit dem lokalen WLAN verbunden werden. Nach der Erst-Inbetriebnahme aktiviert der Shelly einen Access Point mit dem man sich via Smartphone oder PC einmalig verbindet und die WLAN-Zugangsdaten des Heimnetzwerks (idealerweise, das IoT-WLAN) konfiguriert. Danach verbindet sich der Shelly mit dem WLAN, dem wir auch direkt eine fixe IP-Adresse zuordnen.

Sofern noch nicht erfolgt, installieren wir nun den Shelly-Adapter im ioBroker und konfigurieren dort die MQTT-Zugangsdaten. Diese hinterlegen wir dann wiederum im Shelly UNI (Internet & Security -> Advanced – Developer Settings -> Enable MQTT), damit sich dieser mit ioBroker verbindet.

Unter Settings stellen wir zusätzlich noch die ADC-Range auf 12 Volt. Das ist wichtig, damit wir eine gute Auflösung der gesendeten Daten erhalten. Das unten vorgestellte Skript im ioBroker geht von dieser Einstellung aus.

Ein Blockly-Skript in ioBroker zur Verarbeitung des Inputs des Shelly

Bevor wir das eigentliche Skript erstellen, welches den Füllstand der Zisterne berechnet, legen wir zunächst in ioBroker einen Ordner und zwei neue Objekte an. Dies erfolgt unter „Objekte“ ->“0_userdata“ -> „0“:

  • Klick auf „+“, Auswahl „Verzeichnis“ und den Namen „Zisterne“ eingeben und mit „Hinzufügen“ bestätigen
  • Dann das Verzeichnis „Zisterne“ auswählen
  • Klick auf „+“, Auswahl „Zustand“ und den Namen „Fuellstand in Liter“ (Zahl/numer und value) auswählen und mit „Hinzufügen“ bestätigen.
  • Zustand: „Fuellstand in Prozent“ (Zahl/numer und value) auswählen -> „Hinzufügen“

Das nun notwendige JavaScript, mit dem wir den Füllstand der Zisterne berechnen, erstellen wir im ioBroker als Blockly. Hierzu geht man auf „Skripte“ und legt mit „+“ ein neues Blockly-Skript an.

Das Blockly-Skript für eine 4800 Liter große Zisterne, welche die Form eines aufrecht stehenden Zylinders besitzt, kann man beispielsweise wie folgt umsetzen:

fuellstand_messen_blockly Messung des Wasserstands im ioBroker mit dem Shelly Uni bzw. Shelly Plus Uni
Messung des Wasserstands im ioBroker mit dem Shelly UNI – Blockly Skript

Damit das Skript funktioniert misst man zwei Werte: einmal den Wert des Shelly, wenn die Zisterne auf ihrem Tiefsstand ist und einmal wenn sie komplett voll ist. Diese beiden Werte werden als Konstanten im oberen Bereich des Blocklys eingetragen. Da sich der Wasserdruck mit steigender Tiefe linear erhöht, steigt auch die gemessene Spannung linear. So kann das Blockly den Füllstand in Prozent berechnen. Wenn man im Skript dann noch das Volumen der Zisterne angibt, erhält man auch den aktuellen Füllstand in Litern.

Je nach Form des Wasserspeichers kann man die Formel entsprechend noch einmal angepass. Für Zisternen in Form eines liegenden Zylinders, nimmt man folgende Formel:

Formel Messung des Wasserstands im ioBroker mit dem Shelly Uni bzw. Shelly Plus Uni
Volumenformel eines liegenden Zylinders

Vol steht hierbei für das aktuelle Wasservolumen in Litern, L ist die Länge des Zylinders, r steht für den Radius und h für die aktuelle Höhe des Wasserstandes, den man mit dem Flüssigkeitsstandsensor ermittelt.

Leider lässt sich diese Formel zum Zeitpunkt der Erstellung dieses Artikels nicht ohne Weiteres via Blockly im ioBroker abbilden, da es dort einen kleinen Bug bei den trigonometrische Funktionen (sin, cos, tan,…) gibt. Ein entsprechender Bug wurde bereits erfasst und somit dürfte dieses Problem bald gelöst sein.

Fazit

Mit diesem kleinen Projekt lässt sich eine Überwachung des Flüssigkeitsstand von verschiedenen Behältern umsetzen. Die Daten stehen dann als Objekte im ioBroker zur Verfügung und können beliebig weiterverarbeitet werden.

Feedback und Anregungen

Haben wir einen wichtigen Punkt vergessen oder haben Sie Anregungen? Dann freuen wir uns über einen Kommentar.

Die genaue Beschreibung der Überwachung des Wasserstands der Zisterne im ioBroker – mit dem Shelly Uni bzw. Shelly Uni Plus – folgt.

Avatar-Foto

Von joe

Schreibe einen Kommentar

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