Der Artikel „Smart Home: Bodenfeuchtesensor mit ESP32 Einrichten (Tasmota)“ von Rudolf Schäfing beschreibt ein DIY-Projekt zur automatischen Überwachung der Pflanzenfeuchtigkeit im Smart Home.
Hier ist die zusammenfassende Übersicht:
Ziel & Hardware
- Ziel: Den Bodenfeuchtegehalt von Zimmerpflanzen messen, um das Gießen zu optimieren.
- Hardware:
- Kapazitiver Bodenfeuchtesensor (Hygrometer Modul V1.2 von AZDelivery, der im Gegensatz zu resistiven Sensoren nicht korrodiert).
- ESP32-Board zur Messwertaufnahme und WLAN-Übertragung.
- Batterieversorgung (z. B. CR123 Lithium-Batterien) für einen kabellosen Betrieb.
Software & Tasmota-Installation
- Flashen: Der ESP32 wird per USB an den Rechner angeschlossen und über das Programm Tasmotizer (oder Alternativen wie Web-Flasher / ESPHome-Flasher) mit der Firmware
tasmota32.binbespielt. - WLAN-Einrichtung: Nach dem Flashen öffnet der ESP32 einen Access Point. Über dessen IP-Adresse im Browser werden die Zugangsdaten für das Heim-WLAN hinterlegt.
Integration in ioBroker via MQTT
- In ioBroker (z. B. auf einem Raspberry Pi) wird der Sonoff-Adapter genutzt.
- Unter
Configuration$\rightarrow$Configure MQTTwerden am ESP32 die IP-Adresse des ioBroker-Servers sowie Zugangsdaten hinterlegt. Nach dem Neustart werden die Datenpunkte automatisch in ioBroker unter dem konfigurierten Client-Namen angelegt.
Hardware-Verkabelung & Energieeinsparung
- Die Stromversorgung des Sensors hängt an Steuer-Pins (Relais-Funktion in Tasmota), damit er nur während der Messung eingeschaltet wird.
- Der Analog-Ausgang des Sensors liegt an GPIO 32 (ADC).
- Ein Pin (GPIO 14) dient als Aufwach-/Aktivierungsschalter für den Konfigurationsmodus.
Kalibrierung & DeepSleep-Modus
Um den Stromverbrauch zu minimieren und Batteriebetrieb zu ermöglichen, wird der Sensor nicht dauerhaft mit Strom versorgt:
- Kalibrierung: Auslesen des Messwerts im trockenen Zustand (ca. 2300) und im Wasserglas, um die Grenzwerte festzulegen.
- DeepSleep einrichten:
- Die Telemetrie-Zeit (
Telemetry Period) in den Tasmota-Einstellungen wird auf z. B. 20 Sekunden verkürzt (Zeitraum, in dem der ESP32 nach dem Aufwachen Daten sendet). - Über die Tasmota-Konsole wird per Befehl (z. B.
deepsleeptime 14400) ein Schlafzyklus eingerichtet (z. B. 14.400 Sekunden = 4 Stunden).
- Die Telemetrie-Zeit (
Ergebnis: Der ESP32 erwacht alle 4 Stunden für ca. 20 Sekunden, liest den Sensor aus, sendet die Daten per MQTT an ioBroker und geht wieder in den stromsparenden Schlafmodus.
Code
https://www.rudolfschafing.de/2022/02/24/tasmota-getting-started/
![[Logo]](https://www.swagner.de/wp-content/themes/swagner/images/traveltux.jpg)