Ziel
Dieses Tutorial soll die von den Mi Flora-Sensoren bereitgestellten Informationen in Gladys hochladen. Dafür benötigen wir:
- Einen Mi Flora-Sensor
- Einen Raspberry Pi Zero W
- Eine Gladys-Instanz
Der Raspberry Pi Zero dient als Gateway für die Daten: Er führt das Python-Skript von Thom Dietrich als Dienst aus, um die Daten abzurufen und sie in MQTT-Topics einzutragen, die von Gladys zugänglich sind.
Voraussetzungen
Ein MQTT-Server muss über Gladys konfiguriert sein (siehe MQTT-Integration)
1- Gladys
Gehe zu Integration > MQTT > Gerät hinzufügen
Name: MiFlora Sensor - Basilikum (Beispiel)
Externe ID: mqtt:miflora:basilic
Hinweis: Die externe ID muss zwingend mit mqtt:miflora: beginnen, gefolgt vom Namen der Pflanze, die Sie später zur Konfiguration des Python-Skripts verwenden.
Externe ID: mqtt:miflora:[Pflanzenname]
Als Nächstes die verschiedenen Funktionen des Sensors hinzufügen
Wichtig: Die externen IDs der Funktionen müssen genau wie auf den Screenshots kopiert werden, sie entsprechen den IDs des Python-Skripts.
Gladys kann nun die Informationen des Sensors Basilikum vom MQTT-Server lesen.
Raspberry Pi Zero
Der Rest dieses Tutorials ist eine Übersetzung mit Anpassungen des Wikis von Thom Dietrich. Da der PR noch nicht von Thom integriert wurde, verwende ich mein Git als Referenz für das für Gladys modifizierte Skript.
Verbinde dich per SSH mit dem Raspberry
sudo apt install git python3 python3-pip bluetooth bluez
git clone https://github.com/Chouille/miflora-mqtt-daemon.git /opt/miflora-mqtt-daemon
cd /opt/miflora-mqtt-daemon
sudo pip3 install -r requirement.txt
Der Daemon hängt von GATTTool ab, einem externen Tool, das vom Paket bluez bereitgestellt wird. Um sicherzustellen, dass GATTTool installiert ist
gatttool --help
Als Nächstes erstellen wir die Konfigurationsdatei, die das Skript benötigt.
cp /opt/miflora-mqtt-daemon/config.{ini.dist,ini}
Rufen Sie die MAC-Adresse Ihres Sensors wie folgt ab:
sudo hcitool lescan
4B:47:E2:DE:CE:9A (UNKNOWN)
84:C0:EF:46:B2:8A (UNKNOWN)
10:0B:F1:43:59:16 (UNKNOWN)
C4:7C:8D:62:40:29 FLOWER CARE
Bearbeiten Sie die Konfigurationsdatei, hier eine grundlegende Konfiguration:
[General]
reporting_method = gladys-mqtt
adapter = hci0
[Daemon]
enabled = true
period = 3600 #1 hour
hostname = [Gladys-IP]
port = 1883
keepalive = 60
base_topic = gladys/master/device
username=gladys
password=[Siehe Gladys-Setup]
Basilic@Salon=C4:7C:8D:62:40:29
Wichtig: Die Deklaration der MAC-Adresse erfolgt durch den Namen der Pflanze, den Sie in Gladys angegeben haben. Der Standort des Sensors (@Room) ist optional.
Test
sudo python3 /opt/miflora-mqtt-daemon/miflora-mqtt-daemon.py
Von einem MQTT-Client, der mit dem Gladys-MQTT-Server verbunden ist, sollten Sie dies sehen:
Nach der Erstellung eines Abschnitts im Gladys-Dashboard sollten Sie dies erhalten:
Skript als Dienst speichern
Wichtig: Der Daemon-Modus muss in der Konfigurationsdatei aktiviert sein!
sudo cp /opt/miflora-mqtt-daemon/template.service /etc/systemd/system/miflora.service
sudo systemctl daemon-reload
sudo systemctl start miflora.service
sudo systemctl status miflora.service
sudo systemctl enable miflora.service
Jetzt, da die Pflanzenüberwachung in Gladys erfolgt, können Sie:
- Benachrichtigt werden, wenn Ihre Pflanze Wasser benötigt und/oder eine Pumpe zum Bewässern starten.
- Benachrichtigt werden, wenn die Temperatur für Ihre Pflanze zu hoch/niedrig ist.
- Eine zusätzliche Wachstumslampe einschalten, wenn sie Licht benötigt.
- usw…








