Sorte: Geestboden

Der Abend, an dem der Garten-Wemos sprechen lernte

ChipESP8266
FirmwareTasmota
Display128 × 32

Wer einen Gartenblog mit „Bytes“ im Namen schreibt, muss irgendwann auch Platinen zeigen. Hier ist sie: das Gehirn meiner zukünftigen Tropfbewässerung. Und die Geschichte eines Sommerabends, an dem sie zum ersten Mal komplett funktioniert hat. Nach ein paar Umwegen.

Was ist das für ein Ding?

Die Platine heißt Garten-Wemos PRO und kommt als Bausatz von Edi's Techlab. Bausatz heißt: Widerstände, Dioden, MOSFETs, Klemmen und Sockel einzeln einlöten. Das Herz ist ein Wemos D1 mini, ein kleiner Mikrocontroller mit WLAN, der für ein paar Euro zu haben ist. Dazu kommen:

  • zwei Ausgänge für 12- oder 24-Volt-Pumpen, geschaltet über MOSFETs
  • drei Eingänge für Bodenfeuchtesensoren und einer für einen Lichtsensor, alle über einen Multiplexer an einem einzigen Analogeingang
  • ein Wasserstandsschalter, der meldet, wenn der Tank leer ist
  • eine rote und eine grüne LED für den Status
  • ein Taster für „jetzt sofort gießen“
  • ein winziges OLED-Display
  • ein Anschluss für weitere Sensoren, bei mir inzwischen ein Thermometer mit Luftdruck und Luftfeuchte

Statt der mitgelieferten Software läuft bei mir Tasmota, eine offene Firmware für solche Chips. Sie bringt Weboberfläche, Updates über WLAN und eine kleine Skriptsprache mit. Theoretisch.

19:34 Uhr: Pixelsalat

Strom drauf, grüne LED leuchtet, das Display zeigt … das hier:

Das erste Lebenszeichen: ein paar verstreute Pixel. Die Platine lebt, das Display hat aber offenbar eine ganz eigene Vorstellung von Ordnung.
Das erste Lebenszeichen: ein paar verstreute Pixel. Die Platine lebt, das Display hat aber offenbar eine ganz eigene Vorstellung von Ordnung.

Die Ursache war schnell gefunden, nachdem sie lange nicht gefunden war: Das Display ist 128 × 32 Pixel groß, nicht 128 × 64, wie ich angenommen hatte. Tasmota hat also fröhlich ein doppelt so hohes Bild in ein halb so hohes Display geschrieben. Dazu kam, dass auf dieser Platine die beiden Leitungen für das Display, also Takt und Daten, genau andersherum belegt sind als üblich. Zwei Fehler auf einmal sind die Königsdisziplin: Man repariert einen und sieht keine Verbesserung.

19:41 Uhr: Es spricht!

Mit dem richtigen Treiber, der richtigen Größe und vertauschten Pins zeigt das Display seinen ersten ganzen Satz:

Das Display zeigt MAC-Adresse und IP. Die IP ist 0.0.0.0, weil das WLAN gerade noch überlegt. Die MAC-Adresse habe ich unkenntlich gemacht, man weiß ja nie.
Das Display zeigt MAC-Adresse und IP. Die IP ist 0.0.0.0, weil das WLAN gerade noch überlegt. Die MAC-Adresse habe ich unkenntlich gemacht, man weiß ja nie.
19:50 Uhr: Firmware-Version und Anzeigemodus. Für Außenstehende langweilig, für mich in diesem Moment ein Feuerwerk.
19:50 Uhr: Firmware-Version und Anzeigemodus. Für Außenstehende langweilig, für mich in diesem Moment ein Feuerwerk.

Das Skript, das nie kaputt war

Jetzt sollte der Wemos selbst entscheiden: Boden trocken und Wasser im Tank, dann Pumpe an. Tank leer, dann Pumpe gesperrt und rote LED. Dafür gibt es in Tasmota eine eigene Skriptsprache.

Mein Skript tat: nichts. Kein Fehler, keine Meldung, einfach Stille. Ich war fest überzeugt, die Skript-Funktion selbst sei defekt, und habe die Firmware dreimal neu gebaut. Mit anderen Optionen, mehr Speicher, weniger Ballast.

Die Wahrheit: Die Skriptsprache war völlig in Ordnung. Meine Syntax war falsch. Befehle brauchen einen bestimmten Vorsatz, sonst werden sie kommentarlos ignoriert. Eine schließende Klammer muss auf einer eigenen Zeile stehen. Und so weiter. Tasmota beschwert sich über nichts davon, es tut einfach nichts. Wie ein Kollege, der eine unklare Mail bekommt.

Zwei Fundstücke aus dieser Phase verdienen einen Ehrenplatz:

  • Halbe Klammern, ganze Wirkung. Eine Bedingung mit „und“ und „oder“ muss vollständig geklammert sein. Ist sie es nicht, stolpert der Parser und führt ab dieser Stelle alles aus, was folgt. Bedingungslos. Mit dem Ergebnis, dass die Pumpen bei leerem Tank fröhlich vor sich hin pulsten. Genau das, was der ganze Aufwand verhindern sollte.
  • Unsichtbare Zeichen. Wer ein Skript per Kopieren und Einfügen in die Weboberfläche bringt, schleppt gern unsichtbare Sonderzeichen mit. Die sieht man nicht, der Wemos aber schon. Seitdem lade ich das Skript nur noch als Datei hoch.

Immerhin: Die drei Neubauten waren nicht umsonst. Die Firmware ist jetzt schlanker und hat mehr Platz für Skripte. Das nennt man dann wohl Kollateralnutzen.

19:52 Uhr: der Ernstfall

Dann der echte Test. Der Bodenfeuchtesensor steckt trocken in der Luft, der Wasserstandsschalter hängt ebenfalls im Trockenen. Also: Boden 0 %, Tank leer.

Rote LED, „Tank LEER“, „Pumpe aus“. Genau so soll es sein: Kein Wasser, keine Pumpe. Die Pumpe läuft nicht trocken, und ich bekomme Bescheid.
Rote LED, „Tank LEER“, „Pumpe aus“. Genau so soll es sein: Kein Wasser, keine Pumpe. Die Pumpe läuft nicht trocken, und ich bekomme Bescheid.

Der Wasserstandsschalter kommt ins Wasserglas, der Sensor in feuchte Erde:

19:55 Uhr: grüne LED, Boden 97 %, Tank OK, Pumpe aus, weil nass genug. Feierabend.
19:55 Uhr: grüne LED, Boden 97 %, Tank OK, Pumpe aus, weil nass genug. Feierabend.

Einundzwanzig Minuten vom Pixelsalat bis zum grünen Licht. Die Wochen davor zählen wir nicht mit.

Was ich dabei gelernt habe

  • Das Datenblatt lesen, bevor man drei Firmwares baut. Die Anleitung von Edi's Techlab beantwortet die meisten Fragen, man muss sie nur aufschlagen.
  • Ein Taster kann lügen. Der Taster auf der Platine meldet „gedrückt“, wenn Strom fließt, Tasmota erwartet es andersherum. Ohne die passende Einstellung schaltete der Wemos beim Start einmal kurz die Pumpe ein. Phantom-Gießen, sozusagen.
  • Eine Sicherung gegen Trockenlauf gehört immer dazu. Jede Pumpe schaltet sich nach spätestens zwei Minuten von selbst ab, egal was das Skript meint. Falls ich mich wieder irgendwo in der Syntax verlaufe.
  • Keine Einstellungen bei jedem Schaltvorgang speichern. Der Multiplexer schaltet jede Sekunde um. Speichert Tasmota dabei jedes Mal, ist der Flash-Speicher irgendwann durch. Eine Option, ein Haken, Problem gelöst.

Nachtrag, Oktober 2026: der Wemos auf Probe

Bis Tank und Pumpen im Garten stehen, wohnt der Garten-Wemos auf einem Hocker in der Wohnung. Ein Sensor steckt in einem Blumentopf, der Wasserstandsschalter liegt daneben, der Lichtsensor ragt in die Luft. Klingt wenig glamourös, ist aber ein ehrlicher Dauertest.

Der Testaufbau: Platine, Bodenfeuchtesensor im Blumentopf, Wasserstandsschalter und ein Thermometer am Sensoranschluss. Der Topf hat seit Tagen kein Wasser gesehen, das Display sagt „Boden 0 %“, und es hat recht.
Der Testaufbau: Platine, Bodenfeuchtesensor im Blumentopf, Wasserstandsschalter und ein Thermometer am Sensoranschluss. Der Topf hat seit Tagen kein Wasser gesehen, das Display sagt „Boden 0 %“, und es hat recht.

Seine Werte schickt er regelmäßig ins Heimnetz, und dort malt ein Dashboard daraus bunte Kurven:

Die letzten 24 Stunden. Oben die Bodenfeuchte und der Wasserstand, unten links die Helligkeit, unten rechts die Rohwerte der Sensoren.
Die letzten 24 Stunden. Oben die Bodenfeuchte und der Wasserstand, unten links die Helligkeit, unten rechts die Rohwerte der Sensoren.

Was man darauf sieht:

  • Bodenfeuchte 1: 1 %. Der Blumentopf ist trocken. Der Sensor ist ehrlich.
  • Bodenfeuchte 2 und 3: 100 %, in Alarmrot. Dort ist allerdings gar kein Sensor angeschlossen. Ein offener Eingang liefert den Rohwert null, und null heißt für die Umrechnung „klatschnass“. Die beiden sind die Optimisten im Team. Sie werden kalibriert, sobald sie echte Erde zu sehen bekommen.
  • Wasserstand: OK, in sattem Grün. Der Schalter liegt zwar auf dem Hocker und nicht im Tank, aber er sieht offenbar keinen Grund zur Sorge. Ein Optimist mehr im Team.
  • Pumpe: genau ein kurzer Ausschlag am Mittag. Ein einsamer Strich in 24 Stunden. Auf dem Hocker gibt es ja nichts zu gießen.
  • Helligkeit: die schönste Kurve. Gegen acht Uhr wird es hell, mittags ist Spitze, und um sieben Uhr abends ist Schluss. Ein Lichtsensor für ein paar Cent als Tagebuch des Wetters.

Und jetzt?

Auf dem Schreibtisch funktioniert alles. Im Garten wartet noch Arbeit: Die Sensoren müssen kalibriert werden, die Pumpen sollen künftig länger und nur frühmorgens laufen, und wenn der Tank im Urlaub leer wird, soll eine Nachricht aufs Handy kommen. Und natürlich fehlen noch der Tank, die Pumpen und die Tropfschläuche.

Aber das Gehirn steht. Und es spricht.