Blockly Bewässerungssteuerung und Visualisierung

Im folgenden Artikel erstellen wir gemeinsam eine Bewässerungssteuerung über Blockly sowie Visualisierung über ioBroker VIS.

Sommerzeit ist Bewässerungszeit. Auch wenn dieser Sommer bei uns zumindest eher verregnet als zu trocken ist, ist das Thema der Bewässerungssteuerung trotzdem ein aktuelles und wichtiges Thema jeder Haus-Automatisierung. Im folgenden Artikel werden wir gemeinsam eine kleine Bewässerungssteuerung für 3 Zonen implementieren. Dabei ist es egal, ob Ventile oder Pumpen gesteuert werden sollen. In meinem Beispiel werden hier demnächst 3 Ventile zur Bewässerungssteuerung eingesetzt. Die Datenpunkte sowie das Script und die spätere Visualisierung sind für 3 Zonen (Ventile oder Pumpen) ausgelegt, können aber einfach in den Datenpunkten und im Blockly-Script erweitert werden.

Datenpunkte für die Steuerung

Im ersten Schritt zeige ich Dir hier die benötigten Datenpunkte zur Steuerung. Ich habe dazu die folgenden Datenpunkte im Bereich 0_userdata.0 angelegt. Mit dem Datenpunkt Aktiv unter der jeweiligen Zone soll gesteuert werden können, ob die Zone mit bewässert wird oder nicht. Der Datenpunkt Dauer gibt die Bewässerungsdauer in Minuten an. Mit dem Datenpunkt Status kann der aktuelle Bewässerungsstatus in der Visualisierung eingesehen werden. Zudem steht der Datenpunkt Start zur Verfügung. Mit diesem Datenpunkt wird die Bewässerung gestartet.

In den folgenden Einstellungen siehst Du die Datenpunkt-Einstellungen für die drei oben genannten Datenpunkte.

Blockly Script

Wir haben nun die Grundlage für unsere Bewässerungssteuerung angelegt und können im nächsten Schritt das Blockly-Script importieren. Hierfür habe ich mir einen neuen Ordner Garten sowie ein leeres Blockly-Script angelegt. In den folgenden Screenshots siehst Du dazu die jeweiligen Schritte.

Lade jetzt das Blockly-Script über folgenden Download-Link auf Deinen PC runter.

Blockly - Bewässerungssteuerung für 3 Zonen (38 Downloads)

Über die hier gelb markierte Schaltfläche können wir dann das so eben heruntergeladene Script importieren.

Nach dem Import sollte das Script wie folgt aussehen (Auszug des Scripts). Im Script wird für jede Zone ein Ausführen nach Timeout Block verwendet. Somit wird die jeweilige Zone aktiviert, die Bewässerung abgewartet und dann mit der nächsten aktiven Zone fortgeführt. An den hier gelb markierten Kommentaren kannst Du deine Pumpen oder Ventile implementieren. Verwende dazu einfach einen Steuere-Block mit dem jeweiligen Wert (true/false) für das Einschalten bzw. Ausschalten.

Visualisierung

Das Script haben wir nun importiert und an unsere Gegebenheiten angepasst. Im nächsten Schritt können wir jetzt die Widgets für die Visualisierung importieren. Bitte beachte vor dem Import noch folgende Hinweise:

VIS - View für Bewässerungssteuerung (28 Downloads)

Für die Visualisierung müssen die folgenden Widgets und Adapter installiert sein:

  • hqWidgets Style Widgets
  • jQuery-UI-Stil Widgets

Über die gelb markierte Schaltfläche Widgets importieren können wir den Import durchführen.

Die Visualisierung wird nun wie folgt im Designer angezeigt.

Mit den Schaltern kann die Aktivität der jeweiligen Zone gesteuert werden. Über die Dauer in Minuten kann zudem je Zone die Bewässerungsdauer auf der Visualisierung verändert werden. Die grünen Status-Felder geben an ob und welche Zone aktuelle bewässert wird.

Fazit

Für die Steuerung der verschiedenen Zonen kann natürlich auch ein Adapter eingesetzt werden. Aus Flexibilitätsgründen wollte ich hier aber auf ein eigenes Script setzen um so später einfacher noch eigene Informationen wie z.B. Sensor-Informationen verarbeiten zu 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.

Schreibe einen Kommentar

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