Wie eingangs erwähnt, möchte ich meine Wetterdaten zur Steuerung einer Gartenbewässerung verwenden.

Gartenbewässerung

Mein Bewässerungssystem habe ich mir mit einem unterirdischen Pipeline System von Gardena und den entsprechenden Beregnern erstellt. Es mag bessere und auch preiswertere Lösungen geben. Ich habe mich dennoch für Gardena entschieden, da man hier die einzelnen Komponenten, Rohre und Verbinder im Baumarkt sich anschauen und problemlos kaufen kann. Auch denke ich, dass der nachkauf bei Gardena auch in 5 oder 10 Jahren kein Problem ist. Aber ich will hier keine Werbung für Gardena machen sondern meine Wassersteuerung mittels ioBroker vorstellen.

Hardware

Für die eigentliche Steuerung habe ich nicht auf die teureren Gardenalösungen zurückgegriffen sondern mir meine Komponenten selbst zusammengestellt.

Zunächst habe ich mir ein elektrisches Wasserventil im Internet für ca. 20,- Euro zugelegt. In meinem Fall genügt ein Ventil, da ich nur einen Wasserkreis bedienen muss.

Das gute Stück kam dann in eine Plastikbox und wurde in meinen Wasserzulauf für das Bewässerungssystem integriert.

Damit ich dieses mit Strom versorgen kann ist noch ein Netzteil erforderlich. In diesem Fall ein 24 V Wechselstrom Netzteil. So eines hatte ich noch in meinem Fundus. Stammte mal von einem älteren Router. Aber weil das Ventil nicht immer offen sein soll sobald Strom anliegt, muss es noch geschaltet werden. Hier kommt der bereits mehrfach vorgestellt Gosund SP1 Netzstecker zum Einsatz.

Das Ganze sieht dann so aus:

Da die Teile bei mir unter Dach verbaut sind benötige ich keinen Erhöhten Wetterschutz. Wer die Schaltung im Freien hat muss natürlich hier für entsprechenden Schutz einen höheren Aufwand betreiben oder doch die Wettergeschützte Box von Gardena kaufen. Hier gibt es Boxen für ein oder drei Ventile. Allerdings nur passend für die teuren Gardenaventile. Wie auch immer Ihr euer Projekt verwirklichen wollt ist in jedem Fall Eigenverantwortung gefragt!

Schalter mit VIS

Im nächsten Schritt baue ich mir mit meinem VIS-Editor einen Schalter um das Ventil mittels Handy oder Tablet schalten zu können. Die Handhabung mit VIS sollte aus vorherigen Kapiteln bekannt sein. Das könnte z.B. so aussehen.

Damit lässt sich meine Beregnungsanlage zwar sehr schön Ein- und Ausschalten, aber automatisch geht noch nichts.

Das Skript

Ich brauche also einen Skript für eine Steuerung, den ich auch gleich mit Blockly erstelle.

Zunächst lege ich fest, wann mein Garten bewässert werden soll. Ich möchte ihn Montag, Mittwoch und Freitag mit Wasser versorgen. Das sieht dann so aus:

Jetzt muss der Gosund Schalter festgelegt werden. Dies ist in meinem Fall der Switch der Gosund B und dieser soll am Mo. Mi. und Fr. um 7:00 Uhr einschalten. Also auf “wahr“.

Damit wird mein Bewässerungssystem eingeschaltet. Zum Ausschalten lege ich wiederum einen Zeittrigger an. Der kann täglich abschalten, also auf falsch gehen.

Damit schaltet nach 30 Minuten die Bewässerung wieder ab. Doch was mache ich wenn es genügend Regen gibt. Soll ich dann mein Bewässerungssystem immer von Hand abstellen damit ich nicht unnötig gieße? Das wäre kontraproduktiv und wäre nicht mal eine Halbautomatik.

Wetterdaten ins Skript

Um dies besser zu machen lasse ich meine Wetterdaten in das Skript mit einfließen. Ich kann ja 5 Tage in die Zukunft blicken. Habe ich da ausreichend Regen, bewässere ich nicht. Bzw. genügt es mir schon das Wetter für heute und morgen zu wissen, denn übermorgen wird wieder neu entschieden ob bewässert wird oder nicht. Auch zeigt sich, dass die Wetterdaten bei einer längeren Voausschau oftmals nachträglich berichtigt werden. Aber mit zwei Tagen liegt man ziemlich genau.

Ich baue mein Skript also um.

Zunächst erstelle ich eine Variable mit dem Namen “Regen“ und weise dieser den Wert unserer Regenmenge von Day_1 zu. Weiter wird ein neues Variabel Element mit Erhöhe (“Regen“) den Wert von Day_1 um den Wert von Day_2 erstellt.

Damit habe ich schon mal die Regenmenge von heute und morgen ermittelt. Nun muss ich diese nur noch zur Auswertung bringen. Also wenn die Regenmenge einen bestimmten Wert überschreitet dann steuere folgendes Objekt.

Diese Steuerung ersetze ich nun in meinen oberen Skript, der dann wie folgt aussieht:

Das Skript funktioniert nun folgender maßen. Um 7:00 am Mo. Mi. und Fr. wird in der Variable “Regen“ die Regenmenge von heute (Day_1) und morgen (Day_2) erfasst. Nun wird geprüft ob die Variable “Regen“ kleiner als 3 mm (Liter/qm) ergibt. Ist dies der Fall dann wird die Gosund B eingeschaltet. Das Netzteil bekommt Strom und das Wasserventil macht auf. Um 7:30 Uhr schaltet die Gosund den Strom wieder ab.

Prima, meine Bewässerung läuft, alledings nur wenn es nicht bzw. ganz wenig regnet. Es gibt jedoch auch Tage an denen es zwar etwas über 3 mm regnet aber es dann so heiß wird, dass der wenige Regen nicht ausreicht. Daher erweitere ich mein Skript noch um die Bedingung: bei großer Hitze trotzdem bewässern. Ich will also ab einer Temperatur von 28°C bewässern auch wenn es geregnet hat. Bei Stärkerem Regenwetter erreicht das Thermometer sowieso keine 28°C und somit ist auch keine Bewässerung nötig.

Ich hole mir aus den Verzeichnissen System, Logik und Mathematik die entsprechenden Bausteine für eine “ODER“ Verknüpfung und setze sie entsprechend zusammen. Bis mein Skript wie oben gezeigt aussieht. Speichern nicht vergessen und schon wird trotz Regen bei einer Temperatur ab 28°C ebenfalls beregnet.

Um auch die Temperatur von Day_2, also morgen, noch zu berücksichtigen ist eine weitere “ODER“ Verknüpfung erforderlich, was dann letztendlich so aussieht:

Somit ist mein Skript fertig.

Am Mo. Mi. und Fr. wird um 7:00 Uhr die Regenmenge von heute und morgen abgefragt. Ist diese kleiner als 3 mm (Liter/qm) wird beregnet. Ist sie größer wird geprüft ob die heutige oder morgige Temperatur 28°C erreicht oder überschreitet. Ist dies der Fall wird ebenfalls beregnet. Ist sie kleiner erfolgt keine Beregnung.

An Hand meiner Beschreibung kann individuell auf die persönlichen Bedürfnisse angepasst werden. Entscheidet selbst wie oft und wie lange in der Woche bewässert werden soll. Oder bastelt euch ein völlig anderes Skript mit anderen Parametern. Dieses Skript sollte nur ein Gedankenanstoß für ein Bewässerungskonzept sein. Auch muss ich mein Skript noch beobachten ob die Bewässerung so sinnvoll ist oder nicht. Ich werde sicher noch etwas an meien Einstellungen feilen müssen.

Als kleiner Tipp:

Beispielsweise hat es heute stark geregnet, jedoch ist in den nächsten beiden Tagen kein Regen prognostiziert. Mein Skript würde dennoch für morgen unnötiger weise die Bewässerung aktivieren. Um dies zu vermeiden schalte ich ganz einfach heute mein Skript aus, so dass morgen früh keine Bewässerung stattfindet.

Um diese Abschaltung komfortabel durchführen zu können baue ich mir eien Schalter in VIS. Dieser erspart mir das umständliche Suchen im ioBroker unter Skripte und hier beim richtigen Skript deaktivieren veranlassen.

Aber später nicht das wieder Einschalten vergessen.

Das könnte dann so aussehen:

Wie ihr einen Skript mit VIS Ab- und wieder Einschalten könnt verrate ich in der Rubrik Tipps und Tricks in Kapitel T5.

Ein weiterer Clou wäre die Verwendung eines Boden-Feuchte-Sensors der zusätzlich Daten für die Bewässerung liefert. Aber so weit bin ich noch nicht.