Software-Architektur
In diesem Guide wird der strukturelle Aufbau der Software erklärt. Welche Komponenten gibt es? Wie interagieren diese miteinander? Dieser Guide gibt darüber einen Überblick.
Die drei Hauptkomponenten
Prinzipiell besteht unser System aus drei Softwarekomponenten, die jeweils auf getrennter Hardware laufen:
- Drip Master: Führt die Bewässerung der Pflanze(n) durch, kontrolliert Pumpe (und Ventil(e))
- Soil Sensor: Liefert Feuchtigkeitsdaten
- Home Assistant Instanz: Sendet Befehle an den Drip Master bzw. verwaltet ihn
Home Assistant ist also die verwaltende Instanz, drip-master und soil-sensor sind nur ausführend. Die Kommunikation läuft über Wifi, Zigbee und MQTT.
Drip Master
Der Drip Master ist für die Bewässerung der Pflanze(n) zuständig. Er kann das in drei verschiedenen Modi. Der Modus muss vor dem Start konfiguriert werden. Home Assistant kann den Modus des Drip Masters nicht steuern.
-
Single Plant Offline Drip Cycle (
MODE_OFFLINE)Der Drip Master bewässert Pflanze 0 in einem stetigen Intervall mit einer konstanten Menge. Eine Home Assistant Instanz ist in diesem Modus nicht erforderlich. Flussmenge und Intervall sind hardgecodet. Auch Tankgröße und Füllstand sind hardgecodet. Über den Reset-Button kann der Tank nach dem Neubefüllen zurückgesetzt werden. Dieser Modus eignet sich für einen schnellen Test.
-
(Multiple) Plant Online Drip On Command (
MODE_WIFI_MQTT)Der Drip Master bewässert eine beliebige Pflanze auf Befehl. Die Befehle kommen von einer Home Assistant Instanz. In Home Assistant wird auch die Tankgröße eingestellt und nach dem Neubefüllen das Tanklevel per Button zurückgesetzt. Dieser Modus eignet sich für Automatisierungen, die auf anderen Faktoren (wie z. B. einem Feuchtigkeitssensor) basieren und in Home Assistant die Befehle triggern. Dieser Modus ist nicht für den Batteriebetrieb ausgelegt.
-
(Multiple) Plant Online Drip Cycle (
MODE_WIFI_MQTT_OFFLINE)Der Drip Master bewässert jede Pflanze in einem stetigen Intervall. Die Menge wird über Home Assistant für jede Pflanze dynamisch einzeln verwaltet. In Home Assistant wird auch die Tankgröße eingestellt und nach dem Neubefüllen das Tanklevel per Button zurückgesetzt. Dieser Modus eignet sich am besten für den stetigen Betrieb mit einer oder mehreren Pflanze(n). Dieser Modus ist für den Batteriebetrieb ausgelegt.
Nähere Erläuterungen zum Drip Master finden Sie hier.
Soil Sensor
Der Feuchtigkeitssensor misst in einem stetigen Intervall die Feuchtigkeit und sendet diese indirekt (über Zigbee und einen Zigbee2MQTT-Client) via MQTT an Home Assistant. Die Daten können für Automatisierungen verwendet werden (beispielsweise im Modus MODE_WIFI_MQTT).
Nähere Erläuterungen zum Soil Sensor finden Sie hier.
Home Assistant Instanz
In Home Assistant verwaltet man den Drip Master. Dieser muss sich dazu entweder im MODE_WIFI_MQTT oder MODE_WIFI_MQTT_OFFLINE Modus befinden. Dann kann man in Home Assistant die Tankgröße einstellen und das Tanklevel einsehen und zurücksetzen (nach Neubefüllen). Je nach Modus kann man hier auch eine Pflanze mit einer bestimmten Menge bewässern bzw. die immer wieder zu gießende Menge einstellen.
Nähere Erläuterungen zu Home Assistant finden Sie hier.