Dank Bodenfeuchtesensor unter FHEM alle Pflanzen im Griff
Seiteninhalte
Der Bodenfeuchtesensor „Xiaomi Mi Flower Care / Plant Flower Tester“ stellen eine sehr einfache und kostengünstige Möglichkeit dar, Blumen vor dem Austrocknen zu retten. Die kabellosen „Xiaomi Flower Care“ werden dabei einfach in Wurzelnähe in die Blumenerde gesteckt. Über die Leitfähigkeit der Erde liefern die Sensoren nicht nur Informationen über die Feuchtigkeit, sie geben durch ihre Messung auch Rückschluss über die Fruchtbarkeit der Erde.
Folgende Werte werden zur Verfügung gestellt:
moisture | Feuchtigkeit im Boden |
fertility | Fruchtbarkeit der Erde |
temperature | Temperatur |
lux | Helligkeit |
firmware | Firmware-Version des Sensors |
batteryLevel | Batteriefüllstand in Prozent |
Voraussetzung
Einkaufsliste
Der Bodenfeuchtesensor „Xiaomi Flower Care“ ist in Deutschland aktuell noch sehr teuer. Preise variieren zwischen 12EUR (Gearbest) und 34EUR (Amazon). Ich habe meine Sensoren bei Gearbest gekauft und nicht einmal 2 Wochen auf die Lieferung warten müssen. Vergleicht einfach die aktuelle Preislage und entscheidet nach Eurem eigenen Zeit- und Risikofaktor. Ich werden meine nächsten vorerst auch wieder bei Gearbest kaufen.
Name | Amazon | Ebay | Gearbest |
Original Xiaomi Mi Flower Care | zu Amazon | bei Ebay suchen | bei Gearbest kaufen |
Kinivo BTD-400 Bluetooth 4.0 LE Stick (beim Raspberry Pi 3 nicht benötigt) | zu Amazon | bei Ebay suchen |
Stromsparende Kommunikation über Bluetooth LE
Der„FlowerSens“ wird mit einer Knopfbatterie vom Typ „CR2032“ betrieben. Eine lange Haltbarkeit soll über die Nutzung von Bluetooth Smart, oder auch Bluetooth 4.0 LE (Low Energy) genannt, erreicht werden.
Ein Jahr lang soll die Batterie halten. Meine Sensoren, die sich innerhalb der Wohnung befinden, haben nach einem guten Monat aber erst 2-3% vom Batterielevel verloren. Inwieweit sich der ausgelesene Wert allerdings von der Wirklichkeit unterscheidet, wird erst die Zukunft zeigen.
Obwohl die Sensoren nicht für den Außenbereich gedacht sind, habe ich einen Sensor im Freien im Einsatz. Vor Regen geschützt wird er mit einer kleinen Kunststofftüte, die auf der Unterseite geöffnet ist. Dieser Sensor hat in der selben Zeit bereits 13% Batterieladung verloren. Dies mag an den momentan niedrigen Außentemperaturen von 5°C bis 10°C liegen.
Vom Hersteller wird für die Abfrage eine Android-App zur Verfügung gestellt. Ich kann ehrlich gesagt nicht sagen, ob es ebenfalls eine IOS-App gibt. Wir wollen uns in diesem Artikel aber sowieso auf die Nutzung unter FHEM konzentrieren.
Lediglich für Firmware-Updates wird die App zwingend benötigt. Da die Nutzung der App aber einen Xiaomi-Mi-Account voraussetzt, betreibe ich meine Sensoren immer noch mit der ausgelieferten Firmware Version 2.7.0.
Den FlowerSens in Betrieb nehmen
Um den Bodenfeuchtesensor „FlowerSens“ unter FHEM in Betrieb zu nehmen, benötigen wir natürlich einen Bluetooth-LE Empfänger. Im Raspberry Pi 3 ist dieser von Haus aus auf der Platine vorhanden. Alternativ tut es aber auch ein externer Stick, wie Ihr ihn oben in der Einkaufsliste findet.
Die Knopfzelle ist vormontiert, zum Schutz vor Entladung aber noch mit einem Stück Kunststoff gesichert. Ihr müsst den „Flower Care“ also vorsichtig, z.B. mit einem Schlitz-Schraubendreher, aufhebeln und die Kunststoff-Sicherung entfernen.
Linux und den Raspberry Pi 3 für Bluetooth LE vorbereiten
Der Raspberry Pi 3 (rPi3) hat eine Bluetooth 4.0 Unterstützung von Haus mit dabei, spricht also somit auch Bluetooth LE. Um das Bluetooth vom rPi 3 zu aktivieren, installieren wir einfach das Paket „pi-bluetooth“. Nutzt Ihr den Stick auf einem anderen Gerät, lasst Ihr das Paket einfach weg.
Für das FHEM-Modul „XiaomiFlowerSens“ wird außerdem das Perl-Modul „libjson-perl“ benötigt. „bluez“ und „bluetooth“ installieren das benötigte Linux-Toolkit für Bluetooth:
1 2 3 4 5 6 7 | apt-get install pi-bluetooth libjson-perl bluez bluetooth systemctl enable hciuart.service #nur rPi3 systemctl start hciuart.service #nur rPi3 systemctl enable bluetooth systemctl start bluetooth |
Im Anschluss sollte das Bluetooth Device gefunden werden. Wenn nicht ggf. erst einen „reboot“ durchführen und erneut ausprobieren:
1 2 3 | root@fhemtest:~# hcitool dev Devices: hci0 B8:27:EB:XX:XX:XX |
Die „FlowerCare“ sollten über einen LE-Scan auffindbar sein. Jeder Sensor wird 2x angezeigt. Die Ausgabe sollte in etwa so aussehen:
1 2 3 4 5 6 7 8 9 10 | root@fhemtest:~# hcitool lescan LE Scan ... C4:7C:8D:XX:XX:11 (unknown) C4:7C:8D:XX:XX:11 Flower care C4:7C:8D:XX:XX:22 (unknown) C4:7C:8D:XX:XX:22 Flower care C4:7C:8D:XX:XX:33 (unknown) C4:7C:8D:XX:XX:33 Flower care C4:7C:8D:XX:XX:44 (unknown) C4:7C:8D:XX:XX:44 Flower care |
Definition unter FHEM
Damit das Modul „XiaomiFlowerSens“ auch wirklich in der neuesten Version zum Einsatz kommt, sollte FHEM auf den aktuellen Stand gebracht werden:
1 2 | update shutdown restart |
Danach folgt die Definition mit der durch den LE-Scan ermittelten Adresse. Außerdem setzen wir einen sprechenden Alias und ändern das Abfrageintervall auf 2 Stunden (7200 Sekunden), um die Batterien möglichst lang zu schonen. Ihr könnt hier natürlich jeden beliebigen Wert nutzen:
1 2 3 | define wz_pflanze1 XiaomiFlowerSens C4:7C:8D:XX:XX:11 attr wz_pflanze1 interval 7200 attr wz_pflanze1 alias Die Pflanze im Wohnzimmer über der Heizung |
Das XiaomiFlowerSens-Modul wurde zuletzt so erweitert (Dank an dieser Stelle an CoolTux aus dem FHEM-Forum), dass bei Erreichen einer eingestellten Schwelle automatisch ein FHEM-Event ausgelöst wird. Wir setzen daher für die Pflanze passende Schwellwerte für „Moisture“ (Feuchtigkeit) und „Fertility“ (Fruchtbarkeit).
1 2 | attr wz_pflanze1 minMoisture 20 attr wz_pflanze1 minFertility 50 |
In der Anfangszeit müssen natürlich für jede Pflanze die individuellen Werte gefunden werden, eine offene Datenbank gibt es Stand heute leider noch nicht.
Mit DOIF die Events abfangen
Da ich mir Nachrichten über den Instantmessenger „Telegram“ schicke, setze ich neben dem DOIF noch einen DUMMY ein, der den aktuellen Status jeder Pflanze speichert. Da das Event (in diesem Beispiel minMoisture) bei jedem Abfrageintervall ausgelöst wird, hilft mir der DUMMY dabei, eine doppelte Benachrichtigung zu vermeiden.
Bei dem „FhemBot“ handelt es sich also um meinen Telegram-Bot, bei Bedarf kann ich hierzu gerne einen Artikel nachliefern. Ansonsten ersetzt Ihr diesen Part einfach durch den Schaltvorgang, der euch das Gießen signalisieren soll. Achtet beim Austauschen aber auf den hinteren Teil, der den Status im Dummy entsprechend setzt.
Hier der DOIF „di_FlowerSensMoisture“:
1 2 3 4 | ( [":minMoisture low"] and [?dum_FlowerSensMoisture:$DEVICE] ne "low") (set FhemBot message {(AttrVal("$DEVICE","alias", "$DEVICE"))} hat nur noch [$DEVICE:moisture]% Feuchtigkeit und muss gegossen werden, setreading dum_FlowerSensMoisture $DEVICE low) DOELSEIF ([":minMoisture ok"] and [?dum_FlowerSensMoisture:$DEVICE] ne "ok") (set FhemBot message Danke fürs Gießen! {(AttrVal("$DEVICE","alias", "$DEVICE"))} hat aktuell wieder [$DEVICE:moisture]% Feuchtigkeit, setreading dum_FlowerSensMoisture $DEVICE ok) |
Wichtig ist noch das Attribut „do always“, ansonsten bekommt Ihr nur für die erste Pflanze eine Meldung:
1 2 | attr di_FlowerSensMoisture do always attr di_FlowerSensMoisture room FlowerSens |
Der benötigte DUMMY „dum_FlowerSensMoisture“ wird folgendermaßen definiert:
1 2 | define dum_FlowerSensMoisture dummy attr dum_FlowerSensMoisture room FlowerSens |
Die Nachteile des Flower Care-Sensors
Neben Spiel und Spaß dürfen aber auch die Nachteile von diesem bzw. jedem anderen günstigen Feuchtigkeits-Sensor nicht verschwiegen werden: Da die Mess-Kontakte in dieser Preisklasse selbstverständlich nicht aus Edelmetall sind werden diese nach einiger Zeit vermutlich korrodieren. In der Theorie müssten die Kontakte z.B. vergoldet sein, ob ein Korrodieren zu verhindern.
Des Weiteren findet, sobald Gleichstrom fließt, eine Elektrolyse statt. Bei der Elektrolyse können für die Pflanzen giftige Eisenione entstehen. Dieses Problem kann minimiert werden, indem der Sensor möglichst selten abgefragt wird. Diese Einstellung haben wir bei der Einrichtung ohnehin schon angepasst.
Ich kann Euch leider nicht sagen, inwieweit die beiden Einflüsse wirklich relevant für Pflanze und Gesundheit sind. Fakt ist, dass durch die Luft ebenso Schadstoffe übertragen werden, die von den Pflanzen aufgenommen werden. Welche Dosis hier schwerwiegender ist, kann ich Euch nicht sagen. Jeder, der aber vor hat, die Sensoren in Verbindung mit Nutzpflanzen einzusetzen, sollte kurz über diese negativen Aspekte nachdenken.
Wer auf Nummer sicher gehen will setzt die Sensoren daher nur bei Zierpflanzen ein. Diese können z.B. als Messpunkte in der Nähe der Nutzpflanzen positioniert werden, berücksichtigen dann nur leider nicht den Wasserverbrauch der einzelnen Pflanze. Über weitere Informationen und Einschätzungen zu diesem Thema würde ich mich sehr freuen.
Ich wünsche Euch nun trotzdem viel Spaß beim Nachmachen. Für diesen Preis sind die Sensoren bisher unschlagbar in Preis und unschlagbar einfach in Handhabung und Inbetriebnahme.
Schreibe einen Kommentar