Xiaomi ist auf dem Smart Home Markt längst kein unbekannter Player mehr. Mit dem Flower Sensor kannst du nun deine Pflanzen überwachen. Wie der Sensor auch in FHEM und Loxone eingebunden werden kann, erfährst du hier.
Was ist der Xiaomi Flower Sensor?
Der Flower Sensor von Xiaomi ist ein Sensor, der kabellos Werte wie Bodenfeuchtigkeit, die Bodenfruchtbarkeit und die Lichtintensität deiner „smarten Pflanzen“ misst. Der Sensor wird mit einer kleinen CR2032 Knopfzelle betrieben und die Batterielaufzeit beträgt laut Hersteller ca. 1 Jahr. Er funkt per BLE (Bluetooth Low Energy). Dadurch wird auch die hohe Batterielaufzeit erreicht. Die Reichweite bei dieser Funktechnik beträgt ca. 10m.
- Erfahren Sie über die Besonderheiten der Pflanzenpflege, in dem Sie auf Blümen und Pflanzen Smart Monitor über Ihr Smartphone zugreifen. Prüfen und überwachen Sie das Sonnenlicht, die Temperatur,...
- Finden Sie Ihre Pflanze in unserer benutzerfreundlichen iOS oder Android App - “Flower Care” Die Datenbank enthält mehr als 5000 Pflanzen. Die Namen der Pflanzen sind in lateinischer Sprache...
- Das Programm stellt für jede Pflanze individuelle Werte für die Bewässerung, Düngermittel, Lichtstärke und Temperatur ein. Die tägliche Wachstumsaufzeichnungen werden automatisch in der Cloud...
Letzte Aktualisierung am 21.05.2024 um 16:56 Uhr | Werbung | Bilder: Amazon Product Advertising API
Weiterhin steckt allerdings auch eine große Datenbank an Pflanzen hinter dem Sensor. Dadurch weiß er genau, was deine jeweilige Pflanze benötigt und wie trocken oder feucht sie es mag. Wer einen nicht ganz so grünen Daumen hat, ist das sicher eine gute Lösung.
Inbetriebnahme des Xiaomi Flower Sensor
Zu Beginn muss der Flower Sensor an seiner Kappe geöffnet werden. Hier ist eine kleine Kerbe vorhanden, um den Deckel des Sensors anzunehmen. Dieser ist relativ fest verschlossen, da der Sensor auch spritzwassergeschützt ist.
Ist der Sensor offen, muss das Plastik an der Lasche der Batterie herausgezogen werden. Damit ist der Sensor aktiv und kann über die Xiaomi App gefunden werden.
Wenn du bereits Xiaomi Produkte in der App verwaltest, kannst du den Sensor in der Home-Übersicht einfach mit dem + hinzufügen. Danach wird die Verbindung zum Sensor automatisch hergestellt. Wichtig ist, dass sich dieser in der Nähe des Handys befinden muss.
Die ersten Einstellungen
Nachdem der Sensor erfolgreich verbunden wurde, muss dieser noch konfiguriert werden. Es kann nun aus einer Datenbank von über 5000 Pflanzen die Richtige ausgewählt werden. Danach werden die optimalen Werte in der App angezeigt.
Xiaomi Flower Sensor mit FHEM verbinden
Solltest du FHEM als Hauptsystem in deinem Smart Home verwenden, sind vor der erfolgreichen Verbindung ein paar Vorbereitungen notwendig. In erster Linie gibt es zu beachten, dass die Funkstrecke zwischen dem Raspberry Pi und dem Sensor nicht zu weit ist.
Vorausgesetzt wird an dieser Stelle ein lauffähiger FHEM Server. Wie du diesen installierst, kannst du in einem früheren Blogpost nachlesen. Für den FHEM Server verwende ich einen Raspberry Pi 3 B+.
Fangen wir also direkt an und verbinden uns per SSH mit dem Raspberry Pi. Es müssen nun ein paar Pakete auf dem Raspberry Pi installiert werden.
sudo apt-get update && sudo apt-get install libjson-perl
sudo hcitool lescan
Danach erhältst du einen Bluetooth Scan, wo auch der Flower Sensor auftauchen sollte. Die MAC-Adresse benötigen wir nun für FHEM.
Auf der FHEM Oberfläche wird nun die folgende Codezeile in die obere Befehlsleiste eingefügt.
define FlowerSensor XiaomiBTLESens C4:7C:8D:6A:9C:13
Nach dem Bestätigen mit Enter muss noch das richtige model angegeben werden. Hier wird der FlowerSens angegeben und mit einem Klick auf attr bestätigt.
Danach wechselt der Sensor auf read sensor data und liest die Daten aus dem Flower Sensor aus. Ebenfalls wird der Sensor dem Raum XiaomiBTLESens zugeordnet.
Und damit ist der Sensor nun auch schon voll integriert und kann genutzt werden. Nun wäre also ein doif möglich, wenn die Feuchtigkeit unter 20 fällt. Das ist natürlich etwas abhängig davon, wie feucht es deine Pflanze so mag. Solch ein doif könnte wie folgt aussehen:
define flowersensor_moisture DOIF ([FlowerSensor:moisture] < 20) (set HinweisLampe on) DOELSEIF ([FlowerSensor:moisture] > 20) (set HinweisLampe off)
Man könnte also eine Lampe (oder sonst irgendetwas) damit schalten, sobald die Feuchtigkeit unter 20% fällt. Ist diese größer als 20%, wird die HinweisLampe wieder ausgeschaltet. Du könntest hierfür eine Philips Hue Lampe nutzen. Wie Philips Hue in FHEM eingebunden werden kann, erfährst du hier.
Letzte Aktualisierung am 21.05.2024 um 18:13 Uhr | Werbung | Bilder: Amazon Product Advertising API
Xiaomi Flower Sensor mit Loxone verbinden
Um den Sensor nun auch mit Loxone zu verwenden, gehe ich den Umweg über FHEM. Das heißt ich habe den Sensor genau wie oben angelernt und übergebe die Werte, genau wie in der bereits geschriebenen Anleitung, an den Miniserver. Daher erläutere ich die Schritt hier nicht so ganz im Detail.
Ich habe zum Auslesen einen neuen „Virtueller UDP Eingang Befehl“ in Loxone angelegt. Über diesen Eingang werden dann alle Werte des Sensors eingelesen.
Den virtuellen Eingang habe ich nun einfach mal „Feuchtigkeit“ benannt, damit dieser gleich den Feuchtigkeitswert des Sensors ausgibt.
Vorher muss nun aber auch noch FHEM konfiguriert werden. Die fhem.cfg muss um nachfolgende Zeile erweitert werden.
define XiaomiFlowerSensorToLoxone notify .*:lux.* {XiaomiFlowerSensorToLoxone("$NAME")}
Auch die 99_myUtils.pm Datei wird mit etwas Code gefüttert.
#XiaomiFlowerSensorToLoxone #device: #1 state #2 batteryPercent #3 fertility #4 firmware #5 lux #6 moisture #7 temperature sub XiaomiFlowerSensorToLoxone ($) { my ($device) = @_; my $state = ReadingsVal("$device","state","-1"); if ($state eq "active") { $state = "1"; } if ($state eq "error") { $state = "0"; } my $batteryPercent = ReadingsVal("$device","batteryPercent","-1"); my $fertility= ReadingsVal("$device","fertility","-1"); my $firmware = ReadingsVal("$device","firmware","-1"); my $lux = ReadingsVal("$device","lux","-1"); my $moisture = ReadingsVal("$device","moisture","-1"); my $temperature = ReadingsVal("$device","temperature","-1"); UDP_Msg("10.0.0.37" , "7000" , "$device: $state $batteryPercent $fertility $firmware $lux $moisture $temperature"); }
Mithilfe diesen Codes werden sämtliche Daten des Sensors übergeben. Also der erste Wert ist der state, der zweite der Prozentwert der Batterie usw., quasi genau wie du es in dem HowTo „FHEM mit Loxone erweitern“ nachlesen kannst.
Nach einem Klick auf Save 99_myUtils.pm kann es nun in Loxone weiter gehen.
In Loxone muss nun noch lediglich die korrekte Befehlerkennung hinterlegt werden. In meinem Beispiel möchte ich die Feuchtigkeit auslesen, welche dem obigen Code zufolge der sechste Wert ist. Daher lautet die Befehlerkennung: FlowerSensor: \# \# \# \# \# \v
FlowerSensor ist also der exakte Name des Device wie es in FHEM angelegt wurde. Mit den 5 vorangestellten \# überspringe ich die ersten 5 Werte und verwende dann den 6. Wert mittels \v.
Zum Verständnis wären dies alle Befehlserkennungen:
Reading | Befehlserkennung | Erläuterung |
State | FlowerSensor: \v | Wird mit 1 oder 0 übergeben. |
batteryPercent | FlowerSensor: \# \v | Zahlenwert (als Prozent) des Batteriezustands. |
fertility | FlowerSensor: \# \# \v | Fruchtbarkeit des Bodens |
firmware | FlowerSensor: \# \# \# \v | Firmware Version |
lux | FlowerSensor: \# \# \# \# \v | Helligkeit in lux |
moisture | FlowerSensor: \# \# \# \# \# \v | Bodenfeuchtigkeit |
temperature | FlowerSensor: \# \# \# \# \# \# \v | Temperatur in C° |
Damit werden nun jedes Mal wenn der Sensor seine Werte aktualisiert, automatisch an Loxone via UDP übertragen. So ist es nun z.B. möglich in Loxone einen Statistik über die Bodenfeuchtigkeit, Temperatur oder die Fruchtbarkeit der Erde erstellen zu lassen. Dazu wird direkt in dem virtuellen Eingangs Befehl der Haken bei „Statistik“ aktiviert.
Nun werden sich deine Pflanzen über den Sensor sicher freuen, da die Überlebenschancen damit enorm ansteigen 😛
- Erfahren Sie über die Besonderheiten der Pflanzenpflege, in dem Sie auf Blümen und Pflanzen Smart Monitor über Ihr Smartphone zugreifen. Prüfen und überwachen Sie das Sonnenlicht, die Temperatur,...
- Finden Sie Ihre Pflanze in unserer benutzerfreundlichen iOS oder Android App - “Flower Care” Die Datenbank enthält mehr als 5000 Pflanzen. Die Namen der Pflanzen sind in lateinischer Sprache...
- Das Programm stellt für jede Pflanze individuelle Werte für die Bewässerung, Düngermittel, Lichtstärke und Temperatur ein. Die tägliche Wachstumsaufzeichnungen werden automatisch in der Cloud...
Letzte Aktualisierung am 21.05.2024 um 16:56 Uhr | Werbung | Bilder: Amazon Product Advertising API
Schöner Artikel! Möchte man den Sensor per mqtt entkoppelt betreiben, gibt es schon einen fertigen Daemon: https://github.com/ThomDietrich/miflora-mqtt-daemon
Übrigens kann man den Sensor auch prima als Temperatursensor unabhängig von einer Pflanze benutzen. Ich habe einen im Kühlschrank liegen, um die Innentemperatur zu messen.
Funktioniert im Gefrierfach leider nicht, weil es dann zu einem Überlauf kommt und man bei sehr niedrigen Temperaturen plötzlich positive Ergebnisse bekommt.
Hallo Norbert,
danke für den Tipp, das schaue ich mir auch mal gerne an.
Auch die Idee mit dem Kühlschrank klingt gut 🙂
Viele Grüße
Michael