Mit dem neuen Analog Sensor Board bietet OpenSprinkler eine technische Lösung für die Anbindung von bis zu acht analogen Sensoren. Wie das funktioniert und welche Möglichkeiten es einem eröffnet, zeige ich in diesem Beitrag.
Bei OpenSprinkler handelt es sich um einen WiFi Open Source Bewässerungscomputer, für den sowohl der Quellcode der Software als auch die Baupläne der Software offen liegen und eine eigene Community laufend an der Weiterentwicklung des Produktes arbeitet und spezielle Lösungen für zahlreiche Anwendungsfälle zur Verfügung stellt. Zudem kann man mit entsprechendem Geschick und Wissen auch selbst in das Produkt eingreifen und es nach den eigenen Bedürfnissen modifizieren. Wenn Sie mehr dazu erfahren möchten: In folgendem Beitrag gehe ich im Detail auf die Geschichte und Philosophie von OpenSprinkler ein und in einem weiteren Beitrag erkläre ich wie die Installation funktioniert und welche Funktionalitäten die Software enthält.
In diesem Beitrag geht es speziell um die Erweiterung des OpenSprinklers mit einem Analog Sensor Board. Das ist ein Hardware-Teil, das erst seit wenigen Monaten am Markt angeboten wird und aktuell auch nur exklusiv über den deutschsprachigen Webshop Opensprinklershop.de bezogen werden kann. Dahinter steht der Betreiber des deutschsprachigen Shops Stefan Schmaltz, der sowohl die Hardware entwickelt hat als auch für die Produktion des Teils und die Softwareerweiterung verantwortlich zeichnet.
Hinweis: Lesern dieses Blogs offeriert Opensprinklershop.de bis 31.12.2024 die folgende Aktion*: 10% Rabatt auf den Einkauf und ab 50 Euro Bestellsumme zudem kostenlosen Versand (innerhalb der EU). Nutzen Sie dazu bei der Bestellung einfach den Gutscheincode H2Q75SQR !
Da das Analog Sensor Board aktuell noch keine Aufnahme in die reguläre OpenSprinkler Firmware gefunden hat, ist zur Nutzung ein einmaliges Upgrade auf die von OpenSprinklerShop.de zur Verfügung gestellte angepasste Firmware notwendig, die der aktuellen offiziellen Firmware entspricht, jedoch um die Analog Sensor Board Funktionalitäten erweitert ist. Möchte man den OpenSprinkler über die App steuern, dann benötigt es hierzu ebenfalls eine eigene App Version, die in Google Play bzw. im Apple App Store unter dem Namen “OpenSprinklerASB” downgeloadet werden kann. Sollte die Funktionalität später in die offizielle Firmeware und App aufgenommen werden, wäre dieser Umweg nicht mehr notwendig.
Welche Vorteile bringt das Analog Sensor Board?
Da ist zum einen einmal die hohe Anzahl von bis zu 8 Sensoren, die man damit an den OpenSprinkler anbinden kann. Ohne diese Erweiterung ist der OpenSprinkler auf maximal 2 Sensoren limitiert und ich kenne aktuell auch keinen anderen Bewässerungscomputer, bei dem mehr als zwei Sensoren möglich wären. Diese hohe Anzahl an Sensoren kann man auf zweierlei Arten nutzen:
- Anbindung vieler unterschiedlicher Sensoren. Das ist vor allem auch unter dem Aspekt interessant, dass der OpenSprinkler nicht nur auf die Funktion als Bewässerungscomputer beschränkt ist, sondern zudem auch als Smart Home Schaltzentrale für Zuhause genutzt werden kann.
- Anbindung vieler Sensoren vom gleichen Typ. Das ermöglicht einem in einem Bewässerungssystem zum Beispiel, die Bewässerung jeder Zone von einem eigenen Bodenfeuchtesensor abhängig zu machen, anstatt für alle Zonen das Messergebnis des gleichen Sensors zu verwenden. Bei Zonen, die sich punkto Bodenbeschaffenheit bzw. darin wie stark sie Regen ausgesetzt sind stark unterscheiden, ein entscheidender Vorteil, um die Bewässerung möglichst präzise zu steuern.
Oder man kann auch in einer Zone mehrere Sensoren platzieren und einen Durchschnitt aus den gemessenen Werten zur Steuerung heranziehen, sodass Messausreißer eines Sensors weniger Auswirkung haben.
Und zum zweiten handelt es sich bei den acht Eingängen des Analog Sensor Boards um keine Eingänge für die sonst üblichen digitalen Sensoren, sondern um solche für analoge Sensoren. Der Unterschied: Digitale Sensoren können nur fix vorgegebene Werte übermitteln, oftmals nur “An” oder “Aus” Signale, bei analogen Sensoren wird jedoch der konkrete gemessene Wert übermittelt.
Am Beispiel Bodenfeuchtesensor: Ein digitaler Bodenfeuchtesensor sendet an den Bewässerungscomputer ein Aus-Signal sobald der Feuchtigkeitsgrad 30% übersteigt und ab einem Unterschreiten dieser 30% Grenze ein An-Signal. Ein analoger Bodenfeuchtesensor sendet hingegen in vordefinierten Intervallen den konkreten Bodenfeuchtewert an den Computer. Das gibt weitaus umfangreichere Möglichkeiten in der Weiterverarbeitung und man kann zielgenau die Entwicklung des Feuchtigkeitsniveaus über einen bestimmten Zeitraum nachvollziehen.
Mit dem Analog Sensor Board ist man somit nicht mehr auf digitale Sensoren beschränkt, für die der OpenSprinkler 2 Anschlüsse an Bord hat, sondern es steht einem zusätzlich das gesamte Spektrum an analogen Sensoren offen.
Wie funktioniert das Analog Sensor Board?
Das Analog Sensor Board scheint auf den ersten Blick baugleich mit dem OpenSprinkler Zone Expander, den man zur Erweiterung um zusätzliche Zonenanschlüsse verwendet. Nur die Aufschrift auf dem Gerät ist eine andere.
Dieser Eindruck täuscht aber, denn für die Fabrikation wurde nur das gleiche Gehäuse verwendet, innen steckt aber eine komplett andere Technik! Das Analog Sensor Board hat eine ganz eigene Platine mit 2 x ADS1115 16 bit Digitalwandlern. Die Daten werden über den I2C Bus ausgelesen und die anderen Kontakte der linken und rechten Stecker durchgeführt. Die Anschlüsse sind nicht beschriftet. Um zu wissen, welcher Anschluss wozu dient, braucht es die beim Kauf beiliegende Legende:
Die Anschlüsse Nr. 9 bis 16 dienen also als Eingänge für bis zu 8 analoge Sensoren. Über den 5V Anschluss (Nr. 6) erhält der Sensor seine Stromversorgung und der mit GND bezeichnet Anschluss (Nr. 8) dient zum Anschluss der Erdung. In der Legende nicht eingezeichnet: Unter Nr. 7 stünde auch noch ein zweiter Stromanschluss mit etwas schwächerer Spannung von 3,2 Volt zur Verfügung. Die Anschlüsse Nr. 1 bis 5 sind ohne Funktion.
An die Sensoreingänge kommt jeweils ein Sensor, der 5 Volt Anschluss und der GND Anschluss für die Erdung werden bei Verwendung mehrerer Sensoren gemeinsam genutzt.
Welche Sensoren können angeschlossen werden?
Im OpenSprinkler Shop werden aktuell die folgenden Sensoren angeführt:
- Truebner SMT100 RS485 Modbus über IP2Modbus Adapter
- Truebner SMT100 Analog Version 3,3V
- Truebner SMT50 Bodenfeuchtigkeit und Bodentemperatur
- Vegetronix VH400
- Vegetronix THERM200
- Vegetronix AquaPlumb
Prinzipiell ist der Anschluss von jedem analogen Sensor möglich, für die zuvor aufgezählten ist jedoch bereits die notwendige Formel zur Umrechnung des Messsignals in die zu messende Einheit hinterlegt. Über den Menüpunkt “User defined” Sensor-Typ kann man Offset und Faktoren für nicht angeführte Sensorentypen selbst definieren.
Im folgenden beschreibe ich die Schritte, die notwendig sind, um das Analog Sensor Board in den OpenSprinkler einzubinden.
Upgrade der Software
Dazu habe zuerst einmal sicherheitshalber im Programm die aktuelle Konfiguration exportiert (Menüpunkt “Konfiguration exportieren). Auf diese kann man im Fall der Fälle, sollte etwas nicht funktionieren, zurück switchen, ohne seine Einstellungen zu verlieren.
Upgrade Firmware
Dann habe ich am Desktop unter dem Link https://opensprinklershop.de/2024/02/18/firmware-2023-2-3-0/ die erweiterte OpenSprinkler ASB Firmware heruntergeladen und weggespeichert und dann durch Eingabe der URL http://x.x.x.x/update die Updatefunktion meines OpenSprinklers im Webbrowser aufgerufen. Die x.x.x.x sind durch die IP-Adresse des eigenen OpenSprinklers zu ersetzen. Diese erfährt man, indem man am OpenSprinkler Computer auf die B1-Taste drückt. In meinem Fall war die aufzurufende URL http:/192.168.0.170/update.
Auf der Update Seite lädt man nun die zuvor weggespeicherte .bin Firmware Datei und führt nach Eingabe des OpenSprinkler Passwortes das Upgrade durch.
Nach Beendigung des Upgrades kann man unter dem Menüpunkt “Über” überprüfen, dass nun die korrekte Firmware zur Verfügung steht:
Download der OpenSprinklerASB App
Damit man die Analog Sensor Board Funktion auch auf der App nutzen kann, ist nun noch der Download der OpenSprinklerASB App im Google Play bzw. im Apple App Store notwendig. Diese kann man am Handy optisch am leicht unterschiedliche Icon von der offiziellen OpenSprinkler App unterscheiden, die OpenSprinklerASB App hat zusätzlich den Zusatz “analog sensor”:
Da die OpenSprinklerASB App alles kann, was die offizielle auch kann, ist es prinzipiell nicht notwendig die offizielle parallel dazu zu haben. In meinem Fall habe ich die offizielle App daher nun gelöscht.
Anschluss des Analog Sensor Boards
An den OpenSprinkler wird das Analog Sensor Board über ein Flachbandkabel angesteckt, das im Lieferumfang des Analog Sensor Boards mit enthalten ist. Das Board verfügt sowohl rechts als auch links über einen dementsprechenden Eingang, so dass man bei Bedarf weitere Zonenerweiterungen anschließen kann. Ob man den rechten oder linken Anschluss zur Verbindung mit dem OpenSprinkler nutzt, ist egal.
Anschluss Sensor
Für meinen Test verwende ich einen analogen Bodenfeuchtesensor der deutschen Firma Trübner, den Trübner SMT50. Dieser ist ein Mehrfachsensor und misst sowohl die Bodenfeuchte als auch die Bodentemperatur und hat eine Bodenfeuchte-Messgenauigkeit von ± 0,8°C. Das ist für den geplanten Einsatzzweck Bewässerung absolut ausreichend. Wer es noch genauer benötigt, kann auch zum großen Bruder Trübner SMT100 greifen, der aber auch in etwa das Doppelte kostet.
Im Vergleich zu digitalen Bodenfeuchtesensoren ist aber auch der SMT50 nicht unbedingt ein Schnäppchen, hat als kapazitiver Bodenfeuchtesensor aber den Vorteil, dass er keine metallischen Elektroden besitzen und es daher zu keiner Korrosion kommen kann. Der Sensor ist daher wartungsfrei und deutlich langlebiger. Zur Messung erzeugt der Sensor ein elektrischen Feld um die Messelektroden und misst die resultierende elektrische Kapazität. Von dieser leitet er den Wassergehalt des Bodens ab.
Das Kabel des Sensors hat 4 Adern:
- Braune Ader zur Stromversorgung – wird an den 5 Volt Ausgang des Sensor Boards angeschlossen (Nr. 6)
- Weiße Ader für die Erdung – wird an GND angeschlossen (Nr. 8)
- Gelbe Ader zur Messung der Bodenfeuchtigkeit – kann an einen x-beliebigen der Sensoreingänge angeschlossen werden (ich nehme im Test die Nr. 9)
- Grüne Ader zur Messung der Temperatur – kann an einen x-beliebigen der Sensoreingänge angeschlossen werden (ich nehme im Test die Nr. 10)
Und so sieht die Testumgebung schließlich fertig angeschlossen aus:
Anbringung des Sensors
Der Sensor muss jetzt nur mehr an der gewünschten Stelle angebracht werden. Dabei zu beachten:
- Der Sensor muss vollständig in der Erde platziert sein, weil sonst nicht die gesamte Fläche der Messelektroden zur Bodenfeuchtemessung zur Verfügung steht bzw. der in der Kappe angebrachte Temperatursensor gar nicht funktioniert. Wie in folgender Abbildung dargestellt ist es also falsch!
- Zudem soll der Sensor auch nicht in grobkiesigem Material angebracht werden und bei Anbringung in Pflanzgefäßen nicht am Rand des Gefäßes. Bei einer Messung im Zusammenspiel mit Tropfern auch nicht abseits der Tropfstelle.
- Der Sensor sollte generell in Wurzeltiefe installiert werden, beim Rasen also in etwa 10 Zentimetern Tiefe. Um ihn nicht zu beschädigen, darf er nicht mit dem Hammer in die Erde geschlagen werden. Am sinnvollsten ist es, ein kleines Loch auszuheben und den Sensor darin zu platzieren und wieder zuzuschütten. Das kann sowohl in horizontaler als auch vertikaler Lage erfolgen.
Abschließend wird das Loch wieder zugeschüttet und der Boden ordentlich verdichtet. Einschlämmen ist lt. Herstellerangabe nicht notwendig, kann aber auch nicht schaden, auch um gleich einmal zu kontrollieren, ob der Feuchtegehalt wie erwartet ansteigt. Das Sensorkabel ist für Nutzung in der Erde geeignet. Bei mir im Testbeispiel führt dieses direkt aus dem Rasen hinaus, in der tatsächlichen Praxis müsste man dieses so unterirdisch aus dem Rasen führen, dass es einem nicht beim Rasenmähen in die Quere kommt.
Aktivierung des Sensors in der OpenSprinkler Software
Im Vergleich zur offiziellen Version der Software sind bei der ASB Version zwei zusätzliche Menüpunkte verfügbar: Das Hinzufügen analoger Sensoren passiert im Menüpunkt “Analog Sensor Konfig” nach Klick auf den Button “Sensor hinzufügen”.
In meinem Fallbeispiel mit dem SMT50 Mehrfachsensor sind gleich zwei Sensoren anzulegen, ein Bodenfeuchte- und ein Temperatursensor. Das erfolgt schrittweise, ich beginne mit dem Bodenfeuchtesensor:
Erklärung zur Eingabe:
- Sensor-Nr: Als laufende Nummer einfach 1, bei jedem weiteren Sensor dann die Nummer um 1 erhöhen
- Typ: Beim Typ den angeschlossenen Sensor auswählen. In meinem Fall lege ich zuerst den Bodenfeuchtesensor an und wähle dafür “OpenSprinkler analog Extension Board 2xADS1x15 x8 – SMT50 moisture mode” aus.
- Gruppe: Gruppe lasse ich auf 0. Wollte man mehrere gleiche Sensoren zu einer Gruppe bündeln, dann könnte man diesen gezielt die gleiche Gruppennummer zuweisen. Zum Beispiel um dann Messergebnisse für die gesamte Gruppe zu verwenden bzw. anzuzeigen.
- Name: Name unter dem der Sensor angezeigt werden soll – Ich nenne meinen “Bodenfeuchte”, um ihn vom Temperatursensor unterscheiden zu können.
- IP-Adresse und Port: Wird in meinem Beispiel nicht benötigt. Würde man brauchen, wenn man einen Sensor nicht über ein angestecktes Analog Sensor Board sondern über Netzwerkzugriff einbinden würde.
- ID: Gibt an, an welchem Eingang des Analog Sensor Boards der Sensor angesteckt ist. Allerdings ist hier nicht die am Board angebrachte Nummer einzugeben, sondern für Port Nr. 9 ist bei ID 0 einzugeben, für Port Nr. 10 die ID 1, für Port Nr. 11 die ID 2 usw. usf.
- Leseintervall: Hier kann man festlegen, in welchen Abständen in Sekunden das Messergebnis des Sensors aktualisiert werden soll. 60 bedeutet minütlich.
- Sensor ein: Hier könnte man den Sensor deaktivieren. Standardmäßig bleibt er aktiviert.
- Daten Protokollierung: Bewirkt, dass die gemessenen Daten zum späteren Abrufen weggespeichert werden
- Auf der Hauptseite zeigen: Wenn angehakt, dann wird das Messergebnis des Sensors auf der Startseite angezeigt
Und auf gleiche Art und Weise erfolgt dann die Anlage des Temperatursensors. Dieser hat als Typ “OpenSprinkler analog Extension Board 2xADS1X15 X8 – SMT50 temperature mode” und als Port 1. Als Name habe ich hier “Temperatur” und als Sensor Nr. 2 vergeben, die restlichen Einstellungen sind gleich wie zuvor:
Damit sind die Sensoren nun angelegt und man bekommt – wenn man die entsprechende Option ausgewählt hat – auf der Startseite die Messergebnisse bereits angezeigt:
Um die Messungen des Sensors nun in die Bewässerung mit einfließen zu lassen, muss nun noch das Bewässerungsprogramm dementsprechend angepasst werden.
Analogen Sensor in das Bewässerungsprogramm einfließen lassen
Das geschieht nicht in der Programmbearbeitung, in der man sonst das Bewässerungsprogramm definiert, sondern ebenfalls unter dem neuen Menüpunkt “Analog Sensor Config” unter “Programmanpassung hinzufügen”.
Der Sensor kann auf drei Arten in ein Programm eingreifen:
- Anpassung der Bewässerungsdauer (“Linear scaling”)
- Aussetzen der Bewässerung, solange bis ein bestimmter Wert unterschritten wird (“Digital under min”)
- Aussetzen der Bewässerung, solange bis ein bestimmter Wert überschritten wird (“Digital over max”)
Bei der ersten Variante “Linear scaling” wird die Bewässerungsdauer linear angepasst. Man kann hier festlegen, ab welchem unteren Schwellenwert eine Anpassung erfolgen soll und bis zu welchem oberen Schwellenwert diese erfolgen soll. Und zudem, welche Anpassung beim Erreichen des unteren Schwellenwertes und welche bei Erreichen des oberen Schwellenwertes durchgeführt werden soll. Bei allen Werten zwischen unterem und oberem Schwellenwert führt das System die Anpassung automatisch linear durch.
Ein Beispiel:
Man möchte, dass ab einem Überschreiten von 10% Bodenfeuchtigkeit eine Verringerung der Bewässerungsdauer von Bewässerungsprogramm 1 erfolgt. Mit Erreichen von 50% Bodenfeuchtigkeit soll der Bewässerungslauf komplett entfallen. Die zu setzten Werte wären demnach wie folgt:
- Typ: Linear scaling
- Minimum Sensorwert: 10%
- Maximum Sensorwert: 50%
- Faktor für Minimum: 0
- Faktor für Maximum: 1
Das wird folgendermaßen in der App angelegt:
Die Bewässerungsdauer wird bei dieser Variante wie im folgenden Diagramm dargestellt angepasst:
Möchte man stattdessen die Bewässerungsdauer nicht reduzieren sondern erhöhen, dann müsste man einen Faktor größer als 1 eingeben.
Bei den zwei weiteren Varianten “Digital under min” und “Digital over max” ist im ersten Fall nur der Min. Sensorwert und im zweiten Fall nur der Max. Sensorwert einzutragen, die Felder Faktor 1 und 2 sowie der zweite Sensorwert werden bei diesen Varianten nicht beachtet und brauchen daher nicht befüllt werden.
Nach Anlage der Programmanpassung wird einem neben der Anpassung angezeigt, um wie viel Prozent diese mit aktuellem Stand die Laufdauer des Bewässerungsprogrammes reduzieren würde:
Hinterlegt man für dasselbe Programm mehrere Programmanpassungen, z.B. weil man die Laufzeit des Programms von mehreren Sensoren, beispielsweise sowohl von einem Regen- als auch von einem Windsensor abhängig machen möchte, dann multiplizieren sich die Anpassungen! Ein Beispiel: Würde die erste Programmanpassung um 10% auf 90% anpassen und die zweite Programmanpassung um 20% auf 80%, dann ergibt sich insgesamt eine Anpassung von 0,9 x 0,8 = 0,72, also auf 72%.
Historie der gemessenen Sensorwerte
Ein zweiter positiver Effekt neben der Verwendung der Sensormesswerte zur Programmanpassung ist die Protokollierung der Messwerte. Im Menüpunkt “Analoges Sensorprotokoll anzeigen” kann eine Historie der Sensormesswerte für die letzten 24 h, letzten Wochen und letzten Monate in Diagrammform abgerufen werden. Diese Werte können zur Weiterverarbeitung zudem in Tabellenform heruntergeladen werden.
Fazit
Die Einbindung des Analog Sensor Boards funktionierte bei mir im Test so weit einwandfrei und das sensorgesteuerte Testprogramm lief über mehrere Wochen ohne Probleme. Eine nützliche Option, wenn man analoge Sensoren mit dem OpenSprinkler nutzen möchte bzw. mehr Sensoren nutzen möchte als es der OpenSprinkler standardmäßig zulässt. Vor allem, da mir aktuell kein anderes Produkt bekannt ist, mit dem das sonst so möglich wäre.
Die hier gezeigte Anwendung ist nur eine von vielen möglichen, da man den OpenSprinkler prinzipiell nicht nur als Bewässerungscomputer, sondern auch als Schaltzentrale für die Heimautomatisierung nutzen kann. Somit ist die Anbindung unterschiedlichster Sensoren denkbar, um damit Abläufe im Smart Home automatisiert mittels Sensor zu steuern.
Kleiner Kritikpunkt: In den neu hinzugekommenen Bedienungsmasken gibt es an der einen oder anderen Stelle noch Optimierungspotential was die intuitive Erkennbarkeit der Funktionalität und der Bedienbarkeit der Masken betrifft. Da sollte in den nächsten Versionen noch ein bisschen nachgebessert werden, sodass sich alles noch einfacher erschließt!
Update ca. 1 Woche nach Schreiben des Berichtes: Es gibt mittlerweile bereits eine neue Version der App mit verbesserter Benutzeroberfläche!
Aber alles in allem ein sehr innovatives, cleveres Produkt, bei dem man als deutschsprachiger User ausnahmsweise in der Pole Position steht und es schon erwerben kann, noch bevor es international erhältlich ist.
Bezugsmöglichkeit
Aktuell exklusiv zu beziehen im deutschen Webshop Opensprinklershop.de*
Hinweis: Für Leser von bewaesserung-selbst-bauen.de gibt es dort bis 31.12.2024 10% Rabatt (ab 50 Euro Bestellsumme) sowie kostenlosen Versand (innerhalb der EU). Dafür den Gutscheincode H2Q75SQR bei der Bestellung eingeben!