Neues Modul zur Bewässerungssteuerung

Begonnen von Tobias, 03 April 2014, 15:57:09

Vorheriges Thema - Nächstes Thema

Tobias

Hi,
das Modul hat diverse Fehler drin. Mittlerweile gibts DOIF welches viel besser funktioniert. Ich möchte Euch empfehlen diese zu benutzen.
Ich habe die Module nur noch nicht aus dem contrib Ordner gelöscht.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

gestein

Hallo Tobias,

schade.
Könntest Du mir bitte einen Tipp geben, welches DOIF Du da meinst?

lg, Gerhard

Tobias

Eine Definition die bei mir läuft:
defmod DOIF_Bew_Tomaten DOIF ([BF_Tomaten:moisture]<=[$SELF:2-treshold-moisture,99] and [?AgroWeather:fc0_rain]<[$SELF:2-treshold-rain,99])\
  (set PumpControl valve3-on-for-timer [$SELF:0-duration])\
DOELSEIF\
([BF_Tomaten:moisture]<=[$SELF:1-treshold-moisture,99] )\
  (set PumpControl valve3-on-for-timer [$SELF:0-duration])\
DOELSE
attr DOIF_Bew_Tomaten DbLogExclude .*
attr DOIF_Bew_Tomaten disable 0
attr DOIF_Bew_Tomaten do always
attr DOIF_Bew_Tomaten readingList 1-treshold-moisture 2-treshold-moisture 2-treshold-rain 0-duration
attr DOIF_Bew_Tomaten room Aussen
attr DOIF_Bew_Tomaten verbose 3


BF_Tomaten kommt von einem Xiaomi BLE Sensor, Agroweather ist das Proplanta Modul
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

gestein

Danke!
Pfuh, da muss ich mich erst mal einlesen um das zu verstehen  ;)

lg, Gerhard

maddinthebrain

Hallo Tobias,

was bedeutet das jetzt? Soll ich das Sprinkle und Sprinkle-Control weglassen und stattdessen eine DOIF Definition nehmen? Ich finde nämlich, dass das Modul grundsätzlich funktioniert und man es nur ein wenig ausbauen bzw. verbessern muss:

- Bewässerungszeiten abhängig von Bodenfeuchte und Außentemperatur, auch gefallener Regen (aus eigener Wetterstation oder z.B. DWD) und eine Regenwahrscheinlichkeit für den nächsten Tag (z.B. DWD). Ggf. kann noch den Verdunstungsfaktor (der DWD oder Proplanta stellt hier Werte zur Verfügung) berücksichtigen
- Fehlerkorrektur.

Naja nun könnte man natürlich das Modul auf DOIF Basis neu aufbauen. Ich möchte mich aber halt nicht hinstellen und alles selber programmieren müssen. Dafür sind meine Zeit und Perl-Kenntnisse zu sehr eingeschränkt.

Viele Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Tobias

Doif ist ein Modul :)
Wirklich programmieren musst du nur die Definition mit Hilfe der Doku die übrigens ganz gut ist, genauso der Support im Doif unterforum

Gesendet von meinem Leap mit Tapatalk
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

gestein

Hallo Tobias,

würde denn Dein SprinkleControl auch mit DOIFs zu ersetzen sein?

lg, Gerhard

Damian

#82
Zitat von: gestein am 11 August 2018, 14:45:43
Hallo Tobias,

würde denn Dein SprinkleControl auch mit DOIFs zu ersetzen sein?

lg, Gerhard

Die DOIF-Definition von Tobias vergleicht die aktuelle Feuchtigkeit mit einem Schwellenwert und den "Regen" mit einem Schwellenwert und schaltet bei Unterschreitung  das Ventil für eine bestimmte Zeit. Wenn kein Regen zu erwarten ist (zweiter DOIF-Fall) wird ein anderer Schwellenwert für die Bodenfeuchtigkeit genommen und das Ventil entsprechend geschaltet.

Das ist relativ simpel und erfordert kein spezielles Modul.

Wenn mehr Komplexität erforderlich ist, kann man es elegant mit DOIF-Perl lösen, siehe https://forum.fhem.de/index.php/topic,84969.msg822560.html#msg822560
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tobias

noch eine Ergänzung: in meinem Beispiel ist SprinkleControl nicht abgebildet. Wenn ihr also die maximale parallele Anzahl gleichzeitig geöffneter Ventile begrenzen wollt, so geht das mit einem einfachen zusätzlichen Dummy der in seinem Reading die aktuelle Anzahl aufnimmt, und dieser Dummy wird einfach in obigem DOIF integriert (lesen => ReadingsVal/ setzen => setReading)
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Zur Info,
statt "SprinkleControl" war bei mir ein ESP8266 mit ESPEasy im Einsatz. Leider deckt ESPEasy nicht alles ab sodass ich gerade an einer Eigenlösung arbeite mit ESP8266, Ultraschallsensor und jede Menge Magnetventilen...

Das Projekt findet ihr hier: https://github.com/tobiasfaust/ESP8266_PumpControl/wiki
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

irenaeusbecker

Hallo Tobias,

danke für das Update zu deinen PM-Modulen; ich hatte diese noch heute versucht einzubinden, möchte aber gerne auch Wasserkreise ohne Bodenfeuchtesensor einbinden. Der Umbau wäre dann doch einfach zu groß geworden.

Das mit dem DOIF ist für mich dann wohl die bessere Option, da dies für meine Bedürfnisse pro Wasserkreis individuell angepasst werden kann. Sind die Variablen "$SELF:2-treshold-moisture,99" etc direkt via GPIO abgefragt oder verwendest du hier zwischengespeichert Werte von z.B. einer stündlichen Abfrage der Sensoren?

Hilft der DOIF oder sogar WeekDayTimer Ansatz einen Forecast darstellen, sprich ob heute oder z.B. morgen bewässert wird und das via GUI darstellen?

VG
Irenäus



irenaeusbecker

Hallo Tobias (nochmal),

kannst du das bitte mit dem Sprinkler=MAX(1) in FHEM Sprache darstellen?  Bekomme das irgendwie nicht hin .... Danke vorab!!
Die Ventile habe ich als Devices Ventil_1, Ventil_2 etc eingebunden.


Tobias

Forecast geht natürlich nicht, die variablen verweisen auf andere fhem readings, Bodenfeuchtesensoren


Gesendet von iPhone mit Tapatalk
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Das Modul habe ich komplett aus dem FHEM Repo entfernt,
stattdessen gehts hier weiter: https://forum.fhem.de/index.php/topic,92443.0.html
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ChiliNova

Zitat von: Damian am 04 April 2014, 13:09:45
Hallo Tobias,

was mit THRESHOLD einfach machbar wäre:


-Zeitsteuerung läßt sich über zeitabhängige Feuchtigkeitsvorgabe realisieren:

define Watering WeekdayTimer hygrostat 15:00|60  20:00|0 set @ desired %

oder über aktivieren/deaktivieren

define Watering WeekdayTimer hygrostat 15:00|active  20:00|deactivated set @ %

Für jede Bewässerungsstelle mit einem eigenem Feuchtigkeitsmesser wird natürlich ein eigenes THRESHOLD-Modul definiert.

Wenn man mehrere Schalter pro Messstelle schalten will, dann müsste man die alle anführen:

define hygrostat THRESHOLD hym_sens:humidity dehydrator|set switch1,switch2 off|set switch1,switch2 on|1

Komplexe Abhängigkeiten muss man dann schon in eine Perl-Unterroutine auslagern, die man über das Modul beim Überschreiten bzw. Unterschreiten der Schwelle aufrufen lassen könnte.

Buttons gehen z. Zt. noch nicht (nur indirekt über Dummy)

Gruß

Damian

Hallo zusammen,

der Thread ist schon etwas älter...
Ich hätte eine hoffentlich recht schnell beantwortete Frage:

Ich bin komplett neu was FHEM angeht, sollte aber gute Voraussetzungen mitbringen, um mich nach und nach selbst in die Materie einarbeiten zu können.
Mit einer Automation möchte ich recht klein einsteigen; wie meinem Namen zu entnehmen ist, ziehe ich gerne scharfes Gemüse.
Der Bewässerungsvorgang soll möglichst vollständig automatisiert werden, mit der aktuellen (OOTB-) Lösung von Gardena bin ich nicht wirklich glücklich.

Meine Frage: Ist es möglich, den Durchschnitt der von mehreren Bluetooth-Sensoren (Flower Care) gemeldeten Feuchtigkeit als THRESHOLD Wert einzubeziehen?

Danke und vG
Linus