-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Bewässerungssteuerung für ein Hauswasserwerk sowie automatisierter Umschaltung bei leerer Zisterne auf Trinkwasser
Entwicklung abgeschlossen. Bugs bitte als Issue melden
- Steuerung beliebig viele Ventile/Relais über Kaskadierung von PCF8574 Controllern
- kontinuierliche Messung des Füllstandes einer Zisterne per Ultraschall
- Anzeige des prozentualen Füllstandes über ein OLED
- pushen des Füllstandes per MQTT
- Unterstützung einer automatisierten Umschaltung auf eine alternative Wasserzufuhr (zb. Trinkwasser) bei leerer Zisterne
- Einstellung einer maximalen, gleichzeitigen Bewässerung je nach maximal möglicher Fördermenge
- selbständiges Schließen der Ventile nach Erreichen der Öffnungsdauer (on-for-timer)
- Steuerung vollstaändig per MQTT
Nach dem Flashen der Firmware startet der ESP im AccessPontModus mit dem AccesspointNamen: AutoConnectAP und dem Passwort: password
Nach Connect befindet sich der Login Screen unter: http://192.168.4.1 zur Auswahl des WLAN Netzwerkes und des WLAN Schlüssels. Siehe auch Referenz zum WiFiManager (https://github.com/tzapu/WiFiManager)
Nach erfolgreichem Verbinden im WLAN Netzwerk sind folgende Einstellungen möglich:
Auf dieser Seite werden alle Basis-Einstellungen eingestellt.
LfdNr | Einstellung | Bsp. Value | Beschreibung |
---|---|---|---|
1 | Gerätename | PumpControl | Eindeutiger Name dieses Devices. Dieses ist auch gleichzeitig das erste Identitätsmerkmal im MQTT |
2 | MQTT Host | 192.178.1.10 | IP-Adresse des MQTT Servers |
3 | MQTT Port | 1883 | Port Nummer des MQTT Servers |
4 | Pin SDA | 0 | GPIO des Pin, der für I2C SDA genutzt wird |
5 | Pin SCL | 4 | GPIO des Pin, der für I2C SCL genutzt wird |
6 | Pin HC-SR04 Trigger | 12 | Pin des ESP auf dem das TriggerSignal für den HC-SR04 liegt |
7 | Pin HC-SR04 Echo | 13 | Pin des ESP auf dem das EchoSignal für den HC-SR04 liegt |
8 | Adresse OLED1306 | 3C | i2c Adresse des OLED 1306 in hex (ohne 0x), 3C = 0x3C |
9 | externes Javascript | Hier kann ein externes Javascript-File angegeben werden welches beim Web-Konfigurationsaufruf geladen wird. Default: https://raw.githubusercontent.com/tobiasfaust/ESP8266_PumpControl/master/javascript.js | |
10 | externes CSS | Hier kann ein externes CSS-File angegeben werden welches beim Web-Konfigurationsaufruf geladen wird. Default: https://raw.githubusercontent.com/tobiasfaust/ESP8266_PumpControl/master/style.css |
Auf dieser Seite wird der Sensor HC-SR04 korrekt eingestellt und auf den Regenwasserspeicher kalibiert.
LfdNr | Name | Bsp. Value | Beschreibung |
---|---|---|---|
1 | Messintervall | 30 | Messintervall des Abstandsensors HC-SR04 in Sekunden |
1 | Abstand Sensor max | 110 | Maximaler Abstand vom Sensor zum Boden des Regenspeichers wenn er leer ist. |
2 | Abstand Sensor min | 5 | Kleinster Abstand vom Sensor zur Wasseroberfläche wenn der Regenspeichers komplett gefüllt ist. Der Sensormuss mindestens 3 cm Abstand zur Wasseroberfläche haben, ansonsten wird die Messung fehlerhaft |
Auf dieser Seite werden alle verfügbaren Ventile mit aktiviert/deaktiviert, mit einem MQTT Substring versehen auf welches jedes Ventil individuell regaieren soll sowie die dazugehörige Ventil-Portadresse des PCF8574 eingestellt
LfdNr | Aktiv | MQTT Substring | Port | LangBeschreibung |
---|---|---|---|---|
1 | Ja/Nein | Ventil1 | 1...254 | Aktivierung eines Ventils. Die Angabe des MQTT Substrings schaltet dieses Ventil. Die Portnummer beschreibt den Port eines PCF8274 oder eines ESP8266 internen GPIOs |
... | ... | ... | 1...254 | |
16 | Ja/Nein | Ventil16 | 1...254 | Bis zu 16 Ventie sind aktuell möglich |
Folgende MQTT Kommandos sind möglich. Die "Value" Angabe erfolgt in Sekunden.
LfdNr | MQTT Kommando | Syntax | Beispiel |
---|---|---|---|
1 | on-for-timer | <Hostname>/<Substring>/on-for-timer <value> | PumpControl/Ventil1/on-for-timer 300 |
Die Angabe der Portnummer gestaltet sich wie folgt:
Für den PCF8574:
A0 | A1 | A2 | Address | Port range |
---|---|---|---|---|
''0'' | ''0'' | ''0'' | 0x20 | 1 - 8 |
''1'' | ''0'' | ''0'' | 0x21 | 9 - 16 |
''0'' | ''1'' | ''0'' | 0x22 | 17 - 24 |
''1'' | ''1'' | ''0'' | 0x23 | 25 - 32 |
''0'' | ''0'' | ''1'' | 0x24 | 33 - 40 |
''1'' | ''0'' | ''1'' | 0x25 | 41 - 48 |
''0'' | ''1'' | ''1'' | 0x26 | 49 - 56 |
''1'' | ''1'' | ''1'' | 0x27 | 57 - 64 |
Für den PCF8574A:
A0 | A1 | A2 | Address | Port range |
---|---|---|---|---|
''0'' | ''0'' | ''0'' | 0x38 | 65 - 72 |
''1'' | ''0'' | ''0'' | 0x39 | 73 - 80 |
''0'' | ''1'' | ''0'' | 0x3A | 81 - 88 |
''1'' | ''1'' | ''0'' | 0x3B | 89 - 96 |
''0'' | ''0'' | ''1'' | 0x3C | 97 - 104 |
''1'' | ''0'' | ''1'' | 0x3D | 105 - 112 |
''0'' | ''1'' | ''1'' | 0x3E | 113 - 120 |
''1'' | ''1'' | ''1'' | 0x3F | 121 - 128 |
Für die internen ESP8266 GPIO Ports. Die definierten i2c und Sensor Ports sind nicht auswählbar:
GPIO | Name | Port |
---|---|---|
0 | D3 | 200 |
1 | D10 | 201 |
2 | D4 | 202 |
3 | D9 | 203 |
4 | D2 | 204 |
5 | D1 | 205 |
12 | D6 | 212 |
13 | D7 | 213 |
14 | D5 | 214 |
15 | D8 | 215 |
16 | D0 | 216 |
Auf dieser Seite können diverse Automatikfunktionen eingestellt werden. Bei Einstellung "Ventilauswahl" können nur die Ventile ausgewählt werden, die im Reiter "Ventil Konfiguration" konfiguriert worden sind.
LfdNr | Aktiv | Automatik Name | Einstellung | LangBeschreibung |
---|---|---|---|---|
1 | - | Sensor Treshold Min | 1...100 | Schwellwert in %, ab welchem Wasserstand im Regenspeicher das 3WegeVentil auf Trinkwasserumschalten soll, zb. 26 |
2 | - | Sensor Treshold Max | 1...100 | Schwellwert in %, ab welchem Wasserstand im Regenspeicher das 3WegeVentil zurück auf den Regenspeicher umstellen soll, zb. 30 |
3 | Ja/Nein | 3WegeVentil Trinkwasser Bypass | Ventilauswahl | Beim Erreichen des Sensor Schwellwertes schaltet das 3 WegeVentil um |
4 | Ja/Nein | Ventil Trinkwasser Bypass | Ventilauswahl | Wenn das 3WegeVentil auf Trinkwasserposition steht, wird bei jedem Ventilschaltvorgang dieses Ventil syncron aktiviert. Damit liegt Trinkwasser nur dann auf der Leitung, wenn wirklich ein Bewässerungsventil aktiviert ist, ansonsten ist die Trinkwasserzufuhr drucklos. Das Ventil wird 3sek vor dem Schließen des letzten Ventils geschlossen um Drucklosigkeit zu gewährleisten |
5 | - | Max. parallel | 0..16 | Anzahl der maximalen parallel geöffneten Ventile. Die Einstellung hängt von der maximalen Durchflussmenge ab um einen minimalen Betriebsdruck an den Bewässerungsaktoren zu gewährleisten. Auswahl 0 bedeutet = deaktiviert |
- Überblick
- Aufbau der Hardware
- Konfiguration
- Steuerung via MQTT
- Integration in FHEM
- Beispiele zum Aufbau
- Technik