Neues Modul zur Bewässerungssteuerung

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

Vorheriges Thema - Nächstes Thema

Tobias

Ausgehend von meiner schnell zusammengefrickelten Bewässerungssteuerung (-> Wiki) bin ich jetzt endlich mal hergegangen und alles in ein Modul gefasst.
ZurZeit teste ich mit einem DummySensor und einem FS20 Schaltaktor

Was schon geht:
* An/Aus/AutomaticMode/Toggle
* Reaktion auf externe Änderung des Schaltaktors
* Interner Timer (siehe Define)
* Definieren einer SprinkleControl Instanz mit Angabe einer Maximalen Anzahl von parallelen Bewässerungsvorgängen und Einordnen neuer Bewässerungsvorgänge in eine übergeordneten Queue wenn Maximum erreicht. Problem: mein Brunnen schafft nur einen Regner gleichzeitig! Habe aber 12 Bewässerungsventile ;)

ToDo2: Angabe von Prioritäten. Zb. soll die Waschmaschine (die auch am Brunnen hängt) einen bereits laufenden Beregnungsvorgang unterbrechen können wenn Max aus 1) erreicht ist. Anschließend soll der unterbrochene Beregnungsvorgang fortgesetzt werden.

Ich wäre über Rückmeldungen Dankbar.


define BF_Dummy dummy
attr BF_Dummy room FS20
attr BF_Dummy stateFormat VWC_A%
setreading BF_Dummy VWC_A 10

define FS20_a53101 FS20 a531 01
attr FS20_a53101 room FS20

define FS20_a53102 FS20 a531 02
attr FS20_a53101 room FS20

define FS20_a53103 FS20 a531 03
attr FS20_a53101 room FS20

define SprinkleControl SprinkleControl
attr SprinkleControl SprinkleControl_MaxParallel 2
attr SprinkleControl room FS20

define MySprinkle1 Sprinkle FS20_a53101 BF_Dummy:VWC_A +00:01:30
attr MySprinkle1 SprinkleControl SprinkleControl
attr MySprinkle1 Sprinkle_DefaultCmd Auto
attr MySprinkle1 Sprinkle_OnTimeSec 30
attr MySprinkle1 Sprinkle_SensorThreshold 54
attr MySprinkle1 devStateIcon An:sani_sprinkling Aus:general_aus Auto:time_automatic disabled:remotecontrol/black_btn_POWEROFF2
attr MySprinkle1 disable 0
attr MySprinkle1 room FS20
attr MySprinkle1 webCmd Auto:An:Aus:Toggle:Disable

define MySprinkle2 Sprinkle FS20_a53102 BF_Dummy:VWC_A +00:00:30
attr MySprinkle2 SprinkleControl SprinkleControl
attr MySprinkle2 Sprinkle_DefaultCmd Auto
attr MySprinkle2 Sprinkle_OnTimeSec 5
attr MySprinkle2 Sprinkle_SensorThreshold 54
attr MySprinkle2 devStateIcon An:sani_sprinkling Aus:general_aus Auto:time_automatic disabled:remotecontrol/black_btn_POWEROFF2
attr MySprinkle2 disable 0
attr MySprinkle2 room FS20
attr MySprinkle2 webCmd Auto:An:Aus:Toggle:Disable

define MySprinkle3 Sprinkle FS20_a53103 BF_Dummy:VWC_A +00:00:15
attr MySprinkle3 SprinkleControl SprinkleControl
attr MySprinkle3 Sprinkle_DefaultCmd Auto
attr MySprinkle3 Sprinkle_OnTimeSec 5
attr MySprinkle3 Sprinkle_SensorThreshold 54
attr MySprinkle3 devStateIcon An:sani_sprinkling Aus:general_aus Auto:time_automatic disabled:remotecontrol/black_btn_POWEROFF2
attr MySprinkle3 disable 0
attr MySprinkle3 room FS20
attr MySprinkle3 webCmd Auto:An:Aus:Toggle:Disable


Nach dem Definieren solltest ihr das Attribut Sprinkle_Threshold auf einen bei Euch sinnvollen Wert setzen, zb: 50 ist schon voreingestellt. Das ist die Schaltschwelle zum Sensorwert
Bei ersten Klick auf "Auto" wird der AutoMode aktiviert. Ein nochmaliger Klick startet sofort den AutoMode, also je nach Schaltschwelle wird der Aktor bedient oder nicht.

Attribute SprinkleControl:
* SprinkleControl_MaxParallel => legt die maximale anzahl paralleler Threads fest

Attribute Sprinkle:
* SprinkleControl => optionale Angabe einer SprinkleControl Instanz
* Sprinkle_DefaultCmd => Bei Angabe eines Timers im Define wird dieses Command ausgeführt
* Sprinkle_OnTimeSec => Bei Angabe eines numerischen Wertes wird statt "ON" ein "on-for-timer x" ausgeführt
* Sprinkle_SensorThreshold => Schaltschwelle des SensorMesswertes
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

Damian

Hallo Tobias,

gibt´s da nicht schon etwas für solche Zwecke?

define hygrostat THRESHOLD hym_sens:humidity dehydrator|set @ on|set @ off|1

mit

set hygrostat desired 60

wird die Feuchtigkeit zwischen 50 % und 60 % gehalten.

mit

set hygrostat deactivated und set hygrostat aktiv

lässt sich die Steuerung ein- und ausschalten.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tobias

Hi Damian,
ja das kenne ich bzw hab es mir angeschaut. Sehr mächtig, habe es aber mit meinen Anforderungen nicht hinbekommen. Kann aber auch an der Treshold-Unerfahrenheit liegen.
Wenn ich mich nicht irre bist du der Modulautor?

Die obigen ToDos sind nicht ganz vollständig, es fehlt noch:
- Zeitsteuerung: Es soll nicht immer mit einem Trigger des Sensors bewässert werden sondern mit einem integrierten Timer, zb. morgens um 5Uhr. Zb. doof wenn der Rasenregner angeht wenn man gerade auf der Sonnenliege liegt ;)
- Angabe eines integrierten Masters der die gleichzeitigen Bewässerungen pro Pumpe (hier nur eine ;) ) überwacht. So ist es damit möglich, zb. maximal 2 gleichzeitige  Bewässerungsvorgänge laufen zu lassen. Möchte ein dritter dazukomen, so landet dieser in einer Queue und wird automatisch abgearbeitet sobald einer der aktiven beendet wird.
- Im FHEM-Web benötige ich die von mir abgebildeten Buttons: Auto, An, Aus, Toggle, Disable
Ist der Status <> Auto, so schaltet der erste Klick in den AutoMode, der zweite Klick triggert die Bewässerung an (je nach Sensorwert)

Die Obige VErsion ist der erste Entwurf. Wenn du meinst das das mit Threshold leistbar ist, immer her damit. Ich bin ein Freund davon keine doppelten Entwicklungen und damit unnötige Module zu haben.
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

Damian

Zitat von: Tobias am 04 April 2014, 08:13:01

Die obigen ToDos sind nicht ganz vollständig, es fehlt noch:
- Zeitsteuerung: Es soll nicht immer mit einem Trigger des Sensors bewässert werden sondern mit einem integrierten Timer, zb. morgens um 5Uhr. Zb. doof wenn der Rasenregner angeht wenn man gerade auf der Sonnenliege liegt ;)
- Angabe eines integrierten Masters der die gleichzeitigen Bewässerungen pro Pumpe (hier nur eine ;) ) überwacht. So ist es damit möglich, zb. maximal 2 gleichzeitige  Bewässerungsvorgänge laufen zu lassen. Möchte ein dritter dazukomen, so landet dieser in einer Queue und wird automatisch abgearbeitet sobald einer der aktiven beendet wird.
- Im FHEM-Web benötige ich die von mir abgebildeten Buttons: Auto, An, Aus, Toggle, Disable
Ist der Status <> Auto, so schaltet der erste Klick in den AutoMode, der zweite Klick triggert die Bewässerung an (je nach Sensorwert)

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

betateilchen

Ich denke auch, eine Gartenbewässerung sollte durchaus mit bereits existierenden fhem-Modulen umsetzbar sein.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

ihr habt Recht. Habe mit Threshold nochmal angesehen und es ist alles mit vorhandenen Modulen umsetzbar. Allerdings sehr kompliziert und in mehreren Stufen. Das habe ich allerdings jetzt auch schon Mehr oder Weniger mit meiner MyUtils Prozedur.
Mit meinem Modul ist es IMHO einfacher. Alles zusammen gekapselt.
Zumindest aus jetziger Sicht wird mein Modul auch nicht öffentlich werden, maximal bis ins contrib. Es sei denn es gibt genug(!) Interessenten.

Danke für die Einschätzung...
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

betateilchen

Zitat von: Tobias am 04 April 2014, 17:34:38maximal bis ins contrib. Es sei denn es gibt genug(!) Interessenten.

Genau aus dem Grund ist auch mein ListenLive jetzt ins contrib gewandert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

Allerdings ob contrib oder nicht, eine ordentliche Doku gemäß commandref kommt ins Modul rein ;)

Gesendet von meinem ALCATEL ONE TOUCH 997D 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

Gerhard

Hallo Tobias,

schade, der Sommer ist nicht mehr weit!

Zwar wird mein Haus erst in September fertig, dann folgt Garten, und freute mich schon über einen Bwesserungsmodul!!!
Klar kann man es auch anders lösen, aber ein Modul ist viel eleganter und auch für Anfängern praktikabler.

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

betateilchen

ja und? es wird doch höchstwahrscheinlich ein Modul geben...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Gerhard

ja klar, desswegen schade!

auf alle Fälle gehört Gartenbewässerung auch bei andere HomeAutomation Systeme zum Standard.

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Damian

#11
Zitat von: Gerhard am 04 April 2014, 21:11:56
ja klar, desswegen schade!

auf alle Fälle gehört Gartenbewässerung auch bei andere HomeAutomation Systeme zum Standard.

Gerhard

Ich weiß nicht wie komplex deine Steuerung werden soll, aber mit den zwei Zeilen:


define  TH_bewaesserung THRESHOLD Sensor:humidity HM_Schalter
define W_bewaesserung WeekdayTimer TH_bewaesserung 19:00|60  20:00|0 set @ desired %


hast du eine komplette Bewässerung.

Zusätzliche Bedingung, wie: nur bewässern, wenn die Sonne nicht scheint oder bewässern abhängig von Außentemperatur oder bewässern nach Wochenzeitschaltprogramm kannst du nach Belieben erweitern.

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gerhard

Hallo,

ganz klar, ich werde es auch so ähnlich lösen!, voralem THRESHOLD ist ein super Modul mit dem ich schon einiges gelöst habe, aber das muss man zuerst erkennen. Ich dachte eher an die Benutzer die fertige Lösungen suchen, einsetzen und nicht immer so fit sind wie die meisten hier.

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Tobias

Sag ich doch das es mit treshold lösbar ist. Aber das obige Beispiel hat selbst schon 2 definitions. Ist mir alles zu kompliziert fur die Aufgabe. Und dann noch meine "schoenen" Buttons in fhemweb und mein Problem das ich an der pumpe nur einen bewasserungsstrang gleichzeitig aktivieren darf. Und ich habe 12 davon die konkurrieren.

Gesendet von meinem ALCATEL ONE TOUCH 997D 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

Modul oben aktualisiert.
ToDo's und aktuelle Features ebenfalls.
Btw: Bislang wäre alles ebenfalls mit ein oder mehreren Threshold-Instanzen möglich. Die neuen ToDos IMHO aber nicht mehr...
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

stefanm

Hallo Tobias,

danke für dein Modul. Ich hab gerade im Garten alles Fertig und mach mich jetzt an die Steuerung.
Über deinen Wiki Artikel hab ich dein Modul gefunden.

Gibt es schon eine Commnd ref ?

Und ich hoffe das es eine Möglichkeit gibt die Bewässerung in Abhängigkeit von einer Lampe zu steuern ?

Wenn wir noch draußen Sitzen wollen wir nicht Nass werden :)

Gruss Stefan
HM-Lan       HM-CC-TC Raumthermostat HM-CC-RT-DN & HM-CC-VD Heizkörperventil Dimmer HM-LC-DIM1T-FM 3 Stück
und divrse FS20 Komponenten  FHZ1000  mit div Schalter und Wandtaster  Max Heizung, Fenster Alarmanlage

Tobias

Module aktualisiert:
Neu:
* Definieren einer SprinkleControl Instanz mit Angabe einer Maximalen Anzahl von parallelen Bewässerungsvorgängen und Einordnen neuer Bewässerungsvorgänge in eine übergeordneten Queue wenn Maximum erreicht. Problem: mein Brunnen schafft nur einen Regner gleichzeitig! Habe aber 12 Bewässerungsventile ;)
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

Dennis D.

Hi Tobias,

also ich finde die Idee mit dem Modul auch nicht verkehrt. Hatte es erst mit Deiner Steuerung aus dem Wiki probiert, aber irgendwie wollte es nicht funktionieren. Dann hatte ich mir Threshold angeschaut, aber damit kam ich auch nicht klar. Meine Bewässerung sieht zur Zeit so aus:


  • Schalter für "Auto", "On", "Off" und "Zeitplan". Dies habe ich bei mir in einem Dummy stehen.
  • Die Ventile (4x Hunter 24V) werden über einen HM-4fach-Schalter angesteuert. "on" ist auf "on-for-timer 40" gemappt, damit die Ventile im spätestens nach 40 Minuten wieder schließen.
  • Für Zeitplan verwende ich den WeekdayTimer
  • Für die Automatik habe ich das über ein notify gelöst:

define Watering_Rasen_Auto notify OW_Bodenfeuchte:VWC:.* {\
my $now=sprintf("%%02d:%%02d",$hour,$min);;\
my $hum_boden=ReadingsVal("OW_Bodenfeuchte","VWC",100);;\
if (Value("Bewaesserung_Rasen_Active") eq "Auto" && $hum_boden le "43.00" && $now ge "07:00" && $now le "09:00" && (Value("Bewaesserung_Sw_1") ne "auf" || Value("Bewaesserung_Sw_2") ne "auf")) {\
fhem ("set AA_BW_Rasen on-for-timer 2400");;\
Log 3, ("Bodenfeuchte morgens unter 43 Prozent - Rasen wird nun bewässert")};;\
if (Value("Bewaesserung_Rasen_Active") eq "Auto" && $hum_boden le "43.00" && $now ge "19:00" && $now le "21:00" && (Value("Bewaesserung_Sw_1") ne "auf" || Value("Bewaesserung_Sw_2") ne "auf")) {\
fhem ("set AA_BW_Rasen on-for-timer 2400");;\
Log 3, ("Bodenfeuchte abends unter 43 Prozent - Rasen wird nun bewässert")};;\
if (Value("Bewaesserung_Rasen_Active") eq "Auto" && $hum_boden le "30.00" && (Value("Bewaesserung_Sw_1") ne "auf" || Value("Bewaesserung_Sw_2") ne "auf")) {\
fhem ("set AA_BW_Rasen on-for-timer 2400");;\
Log 3, ("Bodenfeuchte unter 30 Prozent - Rasen wird nun bewässert")}\
elsif (Value("Bewaesserung_Rasen_Active") eq "Auto" && $hum_boden ge "45.00" && (Value("Bewaesserung_Sw_1") ne "zu" || Value("Bewaesserung_Sw_2") ne "zu")) {\
fhem ("set AA_BW_Rasen zu");;\
Log 3, ("Bodenfeuchte von 45 Prozent erreicht - Bewässerung des Rasens wird beendet")}}
attr Watering_Rasen_Auto alias Bewässerungsautomatik Rasen
attr Watering_Rasen_Auto group Programm
attr Watering_Rasen_Auto icon sani_sprinkling
attr Watering_Rasen_Auto room Steuerung

Es funktioniert soweit ganz gut für mich. Einziges Problem habe ich mit einem Vegetronix Sensor. Ich habe noch nicht herausgefunden, aber welchem VWC eine Bewässerung nötig wäre und suche noch einen Wert, ab dem bewässert werden soll und bei welchem Wert abgeschaltet wird. Bei wieviel % sollte der VWC bei einem Rasen eigentlich liegen?

Für die, die auch den Vegetronix-Sensor nutzen: Wie tief habt ihr den im Rasen stecken? Die Oberkannte des roten Kopfes, wo das Kabel rauskommt, ist bei mir bündig bzw. etwas unterhalb der Grasnabe.

Ich werde Dein Modul auch mal ausprobieren. Wo würde denn der Vorteil gegenüber meinem "simplen" notify liegen?

LG,
Dennis
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Tobias

Zitat von: Dennis D. am 22 April 2014, 18:09:05
Es funktioniert soweit ganz gut für mich. Einziges Problem habe ich mit einem Vegetronix Sensor. Ich habe noch nicht herausgefunden, aber welchem VWC eine Bewässerung nötig wäre und suche noch einen Wert, ab dem bewässert werden soll und bei welchem Wert abgeschaltet wird. Bei wieviel % sollte der VWC bei einem Rasen eigentlich liegen?

Für die, die auch den Vegetronix-Sensor nutzen: Wie tief habt ihr den im Rasen stecken? Die Oberkannte des roten Kopfes, wo das Kabel rauskommt, ist bei mir bündig bzw. etwas unterhalb der Grasnabe.

Ich werde Dein Modul auch mal ausprobieren. Wo würde denn der Vorteil gegenüber meinem "simplen" notify liegen?

die Höhe von VWC ab wann bewässert werden soll hängt stark vom Boden ab. Da musst du ausprobieren. Ich habe die Schaltschwelle i.d.R. so bei 55-60%

Den Vegetronix Sensor im Rasen habe ich komplett 5cm unter der Grasnarbe eingegraben. Wobei der oberer Teile (der rote Kopf) in einer 50mm Rohrmuffe mit beidseitigen Endstopfen liegt. An der einen Seite kommt das Kabel rein, an der anderen Seite der Messfühler heraus.
Allerdings bin ich auch noch nicht mit einem Vertikutierer drüber ;)

Der Vorteil meines neuen Modul liegt IMHO in der Einfachheit. Wo man vorher mit Dummies, at´s und notifies arbeiten musste, ist jetzt alles im Modul per Attribute steuerbar. Also alles schön übersichtlich. Wie schon gesagt, eine Bewässerungssteuerung bekommt man auch mit vorhanden Modulen hin, aber diese ist dann komplexer und IMHO schnell unübersichtlich.

Ich denke Vor allem ist jetzt neue Feature der maximalen parallelen Bewässerungen nicht mehr so einfach(!) abbbildbar.
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

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

pendlru

Hallo!
FHEM auf Raspi, lezte Version (Update vom 24.5.2014).

Die Module   Sprinkle und Sprinkleconrol sind in /FHEM.
Im Logfile bekomme ich folgende Einträge:

2014.05.28 00:41:49 1: reload: Error:Modul 98_Sprinkle deactivated:
Glob not terminated at ./FHEM/98_Sprinkle.pm line 22, <$fh> line 160.

2014.05.28 00:41:49 0: Glob not terminated at ./FHEM/98_Sprinkle.pm line 22, <$fh> line 160.

2014.05.28 00:41:49 3: Please define MySprinkle1 first
2014.05.28 00:41:49 3: Please define MySprinkle1 first
2014.05.28 00:41:49 3: Please define MySprinkle1 first
2014.05.28 00:41:49 3: Please define MySprinkle1 first
2014.05.28 00:41:49 1: reload: Error:Modul 97_SprinkleControl deactivated:
Glob not terminated at ./FHEM/97_SprinkleControl.pm line 22, <$fh> line 168.

2014.05.28 00:41:49 0: Glob not terminated at ./FHEM/97_SprinkleControl.pm line 22, <$fh> line 168.

2014.05.28 00:41:49 3: Please define MySprinkleControl first
2014.05.28 00:41:49 3: Please define MySprinkleControl first
2014.05.28 00:41:49 1: Including ./log/fhem.save
2014.05.28 00:41:49 1: configfile: Cannot load module Sprinkle
Please define MySprinkle1 first
Please define MySprinkle1 first
Please define MySprinkle1 first
Please define MySprinkle1 first
Cannot load module SprinkleControl
Please define MySprinkleControl first
Please define MySprinkleControl first

Was kann ich tun ?



Tobias

keine Ahnung..... ist das die aktuelle sprinkleversion aus contrib? Genau die läuft bei mir sauber...
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

pendlru

Hi !
Ich habe FHEM  nochmals upgedatet und Sprinkle und Sprinkle_control aus github neu geladen und.........

FUNKTIONIERT !!!!

Danke für die Unterstützung !

Gunther

Da ich noch keine Bodenfeuchtesensoren habe: Ist eine Benutzung ohne auch möglich? Falls ja, wo muss ich ansetzen?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Tobias

Ohne Sensoren macht das Modul nicht viel Sinn. Da kommt man mit einem timer besser bei weg.

Gesendet von meinem ALCATEL ONE TOUCH 997D 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

Module (97_SprinkleControl.pm und 98_Sprinkle.pm) in contrib aktualisiert mit einigen Bugfixes und mehr Logging bei verbose=5

Bei mir laufen Sie jetzt seit Monaten und mit diesen Bugfixes auch fehlerfrei
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

kvo1

Hallo Tobias,

Danke für das tolle Modul, muß ich mir bei Gelegenheit mal näher ansehen..
Habe sowas auch noch auf meiner Tode-liste.
Klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Priem

Hallo allerseits!
Ich beschäftige mich auch gerade mit einer Bewässerungssteuerung für meinen Garten. In der ersten Stufe habe ich ein Rainbird Magnetventil über einen FS20-AS4 angeschlossen und steuere die Bewässerung über den WeekdayTimer in Abhängigkeit des FS20 Bodenfeuchtesensors und des FS20 Regensensors.
Nun habe ich das Problem, dass ich mit dieser Variante nicht gezielt genug bewässern kann. Ich müsste alle vorhandenen Bewässerungsstrecken (Rasen, Beet, Koniferen) separat bzw. gezielt parallel ansteuern können und würde dazu auch gerne das neue Bewässerungsmodul einsetzen. Momentan stehe ich aber vor der Frage, wie ich das ganze technisch am besten umsetzen könnte. Ich würde ungerne die einzelnen Magnetventil z.B. über einen FS20 4-fach Aufputzschalter steuern. Wie habt ihr das umgesetzt? Ich tendiere gerade dazu, mir eine zentrale Ventilsteuerung mit einem Arduino mit FS20-Receiver zu bauen. Der Arduino würde dann auf bestimmte FS20-Adressen horchen und das jeweils zugeordnete Magnetventil über ein Relais steuern. Eine ähnliche Steuerung habe ich schon einmal für meine Wohnzimmerjalousie entwickelt, so dass der Programmieraufwand minimal wäre. Kostengünstig wäre die Lösung sicherlich auch (um die 30,- EUR) aber ich habe gerade wenig Lust darauf, mir das Ganze zusammenzulöten  :-\

fiedel

#28
Na dann guck dir mal diese beiden Freds an! Dieses schwarze HM- vierfach- Schalterchen nutzen (ich auch) viele für die Ventile. Dazu natürlich einen HM-CFG-USB2 Stick und ggf. einen Zisternensensor "KFM100S", dann sieht das Ganze schon mal nach Steuerung aus.  ;) Idealerweise dazu noch eine Rückmeldung von der Pumpe per FS20KSE oder dem HM- 3er Kontakt. Das geht aber nur, wenn die Pumpe so einen Druckschalter dran hat.

Gruß

Frank

Edit: Damit du nicht so lange suchen musst: So wie hier hab ich das ungefähr gemacht, nur dass ich die Relais von dem HM- Modul direkt für die Ventile nutze.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Rince

Soweit sehr schick.

Ein generelles Problem ist aber:
Das Wetter bleibt unberücksichtigt!

Szenarien:
Irgendwann gegen 13.00 Uhr sinkt der Schwellwert für die Bodenfeuchte, es hat gepflegte 30° im Schatten, wie die letzten 2 Tage auch.
Das dürften viele Pflanzen verübeln. Meine Gäste die mit mir beim Mittagessen im Garten saßen, nehmen es aber mit Humor.

Andersrum:
Das Modul bewässert brav meinen Garten,  dann kommt das prognostizierte Nachmittagsunwetter.


Beides ist ärgerlich. Was fehlt, ist eine Anbindung an das Prognostizierte Wetter: Die vorhergesagte Temperatur und die Regenwarscheinlichkeit.

Wenn ich um 6 Uhr morgens schon weiß, dass es ein heißer Tag wird, kann ich schon mal im Voraus 10 Minuten Bewässern? Dann sinkt die Gefahr, dass das zu heiße Gießwasser die Pflanzen verbrennt, und mein Mittagessen/Nachmittagskaffe von einem künstlichen Regenschauer unterbrochen wird.

Wenn der Wetterbericht ziemlich sicher ist, dass es im Laufe das Tages eh regnen wird, kann ich die verbleibenden 2-3 Stunden mit zu wenig Wasser auch gut überstehen.



Jetzt ist die Frage, wie man die Daten in das Modul bekommt, und das in die Steuerung einarbeitet.

Vielleicht könnte man den Bodenfeuchte Schwellwert noch mit einem Multiplikator versehen?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Tobias

Die Daten hab ich schon lokalisiert. Im weather und kostalpiko Modul :) aber noch nicht eingebaut.
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

eldrik

bin ich gespannt das Modul auszuprobieren, wenn die passenden Feuchtesensoren vorliegen :)

Gibt es eigentlich die Möglichkeit, eine externe "Sperre" einzubinden? Das Beispiel Kaffeekränzchen oder dergleichen fiel ja bereits  :P

Greetz
Eldrik

Dietmar63

#32
Ich glaube ,dass es unglaublich kompliziert werden kann auch noch die letzte keine Besonderheit des Wetters in die Steuerung einzubeziehen.

Ich bleibe bei meinem dummy, mit dem ich jeden, jeden zweiten bzw. jeden dritten Tag oder gar nicht bewässern kann.
Das Umstellen ist über das Webinterface leicht, auch aus dem fernen Amerika durchführbar.

http://forum.fhem.de/index.php/topic,13442.msg83388.html#msg83388

Kaffeekränzchen
In einem Portal für Gartenartikel stand, dass es sowieso das Beste sei, morgens zu bewässern. Dann ist der Boden abgekühlt und es verdunstet nicht sofort das frische Nass.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

fiedel

Das mit den Wetterdaten schwebt mir auch vor. Sollte nicht all zu schwer sein, da wir im Weather- Modul ja schon alles haben. z.B.: Wenn Bodenfeuchte kleiner X und heute oder morgen Wetter = Regen -> bewässere nicht oder bewässere nur halbe Zeit. Und früh etwa um 4 wird auschließlich bewässert, wenn Bodenfeuchte und Wetter es erfordern. Dann bleibt auch Rinces Sahnetorte trocken. ;o)
Es ist immer sinnvoll, nicht unnötig zu bewässern. 3 Mal Bewässern und unsere Zisterne ist leer - in trockenen Sommern ist die dann so schnell auch nicht wieder voll.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Rince

ZitatIn einem Portal für Gartenartikel stand, dass es sowieso das Beste sei, morgens zu bewässern. Dann ist der Boden abgekühlt und es verdunstet nicht sofort das frische Nass.

Sowas habe ich auch im Kopf.

Es freut mich, dass meine trockene Sahnetorte Geschmack findet ;)


Wenn wir mal den Regelfall annehmen wollen, dass morgens früh bewässert wird (weil besser für Pflanzen und Sahnetorten), könnte man das mit dem Wetter einfach lösen:

Dazu ist die erste Frage, was beeinflusst die Verdunstung?
a) Wetter (Sonneneinstrahlung und Niederschlag)
b) Bepflanzung (unterschiedliches Grünzeug verbraucht unterschiedlich viel Wasser)
c) Jahreszeit (kann aber vermutlich vernachlässigt werden, im Herbst und im Winter bewässert eh niemand)


Gehen wir mal von 2 Verdunstungszenarien aus:
a) Hochsommer
Wir messen mal, wie viel die Bodenfeuchte (am besten früh morgens nochmal ordentlich bewässert) im Laufe eines heißen und regenfreien Tages abnimmt. Von 6 Uhr bis 21.00 Uhr. Nach 21 Uhr vetrocknet vermutlich nix mehr.
Wenn das jeder individuell macht, ist gleich der individuelle Pflanzenbewuchs berücksichtigt. Ein Standardwert kann aber nie schaden. Nennen wir diesen DeltaWert einfach mal DifferenzfeuchteHeiß

b) Normaler Tag
wie a), aber besser bei ca. 20°, DifferenzFeuchteNormal


Dann könnten wir prinzipiell die Bewässerung um 6 Uhr morgens nicht nach der aktuellen Feuchtigkeit auslösen, sondern nach der prognostizitierten. Also aktuelle Feuchte - Differnenzfeuchte, also dem, was man bei a) oder b) ermittelt hat


Jetzt kommt die Wetterprognose dazu.
Je nach Temperaturprognose, könnten wir nun von Lastfall a) und b) den korrekten Wert interpolieren.
Bei einer prognostizierten Regenwarscheinlichkeit kommt noch ein Beiwert dazu, der sich aus der Zeit und der Warscheinlichkeit zusammen setzt.

Was meint ihr?
Vor allem, was meint Tobias dazu?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

fiedel

ZitatGehen wir mal von 2 Verdunstungszenarien aus:

Da hab ich  schon ganz irre Formeln gesehen, die dann den Bewässerungsbedarf auch ohne Bodenfeuchtesensor ermitteln können. Aber so weit würde ich gar nicht gehen wollen. Wenn wir einen oder mehrere kontinuierliche Werte liefernde BF- Sensoren haben, kann man recht gut entscheiden, ob anhand des kommenden Wetters bewässert werden sollte. Die Pflanzen oder der Rasen sollten ja auch nicht verwöhnt werden und ruhig mal etwas "trockengestresst" werden, damit die Wurzeln zum Tiefenwachstum angeregt werden. Der Rasen eher mehr, das Gemüse eher weniger.  ;)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Hoeness

Hallo,

ich lese gerade voller Interesse, das Ihr über das Einbeziehen von Wetterdaten die Bewässerung steuern wollt.

Das schwebt mir auch vor.

Habt Ihr da schon ein praktische Beispiel, wie das funktioniert?

fiedel

Zitat von: Hoeness am 08 Juli 2014, 13:02:22
Hallo,

ich lese gerade voller Interesse...

Habt ihr da im Knast auch Internet???  ;D

Und weg ;)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Tobias

Also wegen der sahnetorte mache ich mir keine sorgen. Man kann das Modul ausschalten, deaktivieren und auch wieder aktivieren und in den automatikmodus versetzen ;)
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

Also wegen der sahnetorte mache ich mir keine sorgen. Man kann das Modul ausschalten, deaktivieren und auch wieder aktivieren und in den automatikmodus versetzen ;)
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

Rince

Ich hab dem DWD mal von meiner Sahnetorte erzählt.
Und ziemlich prompt eine Antwort erhalten:

Zitatvielen Dank für Ihre E-Mail und die Anregungen!

Den Gedanken, dass das Angebot für den Landwirt für den normalen Klein-Gärtner nicht hundertprozentig passt, diskutieren wir seit ein paar Monaten; Sie rennen also offene Türen bei uns ein. Wir sehen einen großen den Bedarf an entsprechenden Informationen für Hobby-Gärtner. Daher sind wir momentan dabei, im Rahmen unseres neuen Internetauftritts, der Anfang nächsten Jahres online gehen wird, eine Rubrik "Gartenwetter" zusammen mit der Deutschen Gartenbaugesellschaft zu entwickeln. Die dort dargestellten Informationen sind dann frei verfügbar.

Bis es soweit ist, möchte ich Sie auf ein Produkt verweisen, dass wir bereits im Internet für die Landwirtschaft anbieten:
Für den aktuellen Tag werden unter www.agrowetter.de -> Wasserhaushalt -> Verdunstung  die aktuelle und potentielle Verdunstung veröffentlicht. Interessant könnte für Sie auch der Punkt "Bodenfeuchte" unter agrowetter.de sein (erst Bundesland, dann die Stationen auswählen). Hier dürfen wir zwar nur die vergangenen Tage kostenfrei zur Verfügung stellen, sie kann jedoch trotzdem ein nützlicher Hinweis für die Gartenbewässerung sein, da sich die Feuchte in den tieferen Bodenschichten nicht ganz so schnell nach einem Regenschauer ändert.

Ich hoffe, ich konnte Ihnen weiter helfen.

Mit freundlichen Grüßen,

Automatisiert gäbe es noch die Bodenfeuchte von gestern auf dem FTP Server.


Wenn es ungefähr reicht, könnten wir aber theoretisch selbst ohne FTP was basteln:
Als Bild sehen wir den prognostizierten Verdunstungswert für die Republik.
Hier mal der Link auf die Seite:
http://www.dwd.de/bvbw/appmanager/bvbw/dwdwwwDesktop?_nfpb=true&_pageLabel=_dwdwww_spezielle_nutzer_landwirtschaft_agrarwetter&T174400162751281434509002gsbDocumentPath=Navigation%2FLandwirtschaft%2FAgrarwetter%2FWasserhaushalt%2FVerdunstung__node.html%3F__nnn%3Dtrue

Wenn wir nun das Bild speichern, könnten wir die Farbe des Pixels auswerten, wo wir wohnen.
Dann hätten wir eine Verdunstungsprognose, mit der wir das Bewässerungsmodul füttern können.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

http://php.net/imagecolorat

PHP kann das glatt. Wenn jetzt Perl das auch noch könnte...
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Tobias

Bodenfeuchte vom DWD?? Davon halte ich nicht viel wenn es um die eigene Gartenbewässerung geht. Die Feuchte ist stark abhängig vom Boden.
Bei meinen Rhodedenren die in lockerem torfhaltigem Boden sind muss ich bei gutem Wetter alle Stunde für 10min die Tropfer einschalten. Bei den Gemüsepflanzen die auf fettigem Mutterboden wachsen reicht einmal morgens zu bewässern. Das muss man sich ausprobieren wenn man die Bodenfeuchtekurven ein paar Tage beobachtet.

Maximal die Regenwarscheinlichkeit und Sonnenscheindauer sehe ich als Gewinn für das Modul an.

Nochmal zur Sahntorte, mit einem entsprechenden Notify auf irgendwas kann man setzen: set <modul> disable
Und schon wirds nicht nass. Wieder einschalten dasselbe...
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

Rince

Es war nur ein Vorschlag :)
Da du der bist der das programmiert, will ich dir da nicht rein reden :)

(Das man Module disabeln kann, weiß ich. Ich finde es nur generell besser tagsüber wenig zu bewässern. Das ist natürlich bei Tröpfchenbewässerung anders, das sehe ich ein. Wie ich es in meinem neuen Garten löse, weiß ich noch nicht. Du bestellst grade meine Feuchtesensoren ;) )
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Tobias

Da wo ich Tropfbewässerung habe läuft das Modul alle 5min. Da wo ich Beregnung habe laufen die Module jeweils ab morgens um 5Uhr, jeweils um 30min versetzt für 15-25min - je nach Bodenbeschaffenheit.
3 Module haben jeweils einen eigenen Bodenfeuchtesensor und 3 Module schauen auf den selben Sensor. Da sollte natürlich der Regner unter dem der Sensor steckt als letztes laufen ;)
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

Mich würde mal interessieren wer das Modul überhaupt einsetzt und wie....
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

Rince

Im Moment nicht.
Es ist Winter ;)

Aber dank dir hab ich 2 Vegetronix rumliegen, die gerne mit einem PanStamp verbunden werden wollen.
Dann brauche ich noch sinnvolle Bewässerungshardware, und es kann los gehen :)


Also:
Bis jetzt noch nicht, steht aber im Sommer ziemlich oben auf der ToDo Liste :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

kvo1

Steht bei mir auch ziemlich weiter oben auf der Liste.
Habe nur noch keine passende Hardware etc.
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

mc309

Status bei mir ist ähnlich wie bei Rince. Habe 5 Vegetronix Sensoren im Keller liegen, die in den nächsten Wochen angeschlossen werden wollen.
Vier Stück werde ich wohl verkabeln, einen über panstamp. Feuchtesensoren und Magnetventile werden mit dem Homematic wired Modul
HMW-IO-12-Sw14-DR angesteuert. Bin gerade dabei die restliche Hardware zu bestellen. Der Plan wäre dann natürlich die Bewässerung in
Abhängigkeit der Feuchte, Uhrzeit (am Besten wohl morgens bewässern) und optimalerweise noch Regenwahrscheinlichkeit zu starten.
Daher wäre das Modul wohll ein guter Anfang.

Gruß,
Michael

fiedel

Zitat von: Rince am 10 Januar 2015, 11:07:04
Im Moment nicht.
Es ist Winter ;)

Aber dank dir hab ich 2 Vegetronix rumliegen, die gerne mit einem PanStamp verbunden werden wollen.
Dann brauche ich noch sinnvolle Bewässerungshardware, und es kann los gehen :)


Also:
Bis jetzt noch nicht, steht aber im Sommer ziemlich oben auf der ToDo Liste :)

Nutze doch den Winter um die Anlage (Rohre/Regner/Ventile) zu planen und zu bestellen. Das wollte ich diesen Winter machen und dann kommenden Sommer einbuddeln. Aber es hat sich so ergeben (Frau hat im Urlaub eine Weinrebe gekauft, die dort hin sollte, wo zuvor ein Hauptrohr rein musste), dass ich spontan voriges Frühjahr angefangen habe und die Planung/Bestellung ist neben der Buddelei "on the fly" passiert. Das ist irre stressig. So wie überall: Vorbereitung ist alles.

Übrigens ist es nicht verkehrt eine "endgültige" Installation erst dann zu machen, wenn man den Garten ca. 10 Jahre hat. Ich hatte gleich am Anfang eine Anlage mit Gardena gebaut und dabei auch Planungsfehler gemacht: Z.B. "Gardena" nehmen  ;) , Versenkregner in den Rasen gesetzt, statt außen herum (der Vertikutierer erwischt sie alle...  ;D ) , nur die damalige Bepflanzung berücksichtigt  (wurde noch viel verändert und Pflanzen werden höher... ). Jetzt sind es viel mehr Regner (Rainbird 5004) außen um den Rasen herum, an schmalen stellen sind "Hunter Pro-Spray 4" mit "Rechteck- Sprühdüsen" und der Rohrquerschnitt ist 25 (früher 19) mm. Dadurch dass die Regner im Abstand der Wurfweite (Radius) sitzen (5004 = ca. 6m , ProSpray = ca 3m) ist dieses mal auch die Überschneidung perfekt. Früher gab es teilweise unterberegnete Flächen. Als Ventile machen sich die Hunter mit Durchflussverstellung und 1" Außengewinde gut. Das sieht bei mir so ähnlich aus und sitzt in einem Ventilkasten neben dem Rasen.

So etwas geht natürlich nicht am Gartenwasserhahn!  ;) Wir haben eine Zisterne mit kräftiger Jetpumpe. Und trotzdem musste ich in 3 Regnerkreise aufteilen.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

kvo1

@fiedel,

danke für die vielen nützlichen Info, kann ich gut gebrauchen (in der Planungsphase, bisher hab ich noch nix)  ;)
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Leyla

Zitat von: fiedel am 10 Januar 2015, 16:38:30
Nutze doch den Winter um die Anlage (Rohre/Regner/Ventile) zu planen und zu bestellen. Das wollte ich diesen Winter machen und dann kommenden Sommer einbuddeln. Aber es hat sich so ergeben (Frau hat im Urlaub eine Weinrebe gekauft, die dort hin sollte, wo zuvor ein Hauptrohr rein musste), dass ich spontan voriges Frühjahr angefangen habe und die Planung/Bestellung ist neben der Buddelei "on the fly" passiert. Das ist irre stressig. So wie überall: Vorbereitung ist alles.

Übrigens ist es nicht verkehrt eine "endgültige" Installation erst dann zu machen, wenn man den Garten ca. 10 Jahre hat. Ich hatte gleich am Anfang eine Anlage mit Gardena gebaut und dabei auch Planungsfehler gemacht: Z.B. "Gardena" nehmen  ;) , Versenkregner in den Rasen gesetzt, statt außen herum (der Vertikutierer erwischt sie alle...  ;D ) , nur die damalige Bepflanzung berücksichtigt  (wurde noch viel verändert und Pflanzen werden höher... ). Jetzt sind es viel mehr Regner (Rainbird 5004) außen um den Rasen herum, an schmalen stellen sind "Hunter Pro-Spray 4" mit "Rechteck- Sprühdüsen" und der Rohrquerschnitt ist 25 (früher 19) mm. Dadurch dass die Regner im Abstand der Wurfweite (Radius) sitzen (5004 = ca. 6m , ProSpray = ca 3m) ist dieses mal auch die Überschneidung perfekt. Früher gab es teilweise unterberegnete Flächen. Als Ventile machen sich die Hunter mit Durchflussverstellung und 1" Außengewinde gut. Das sieht bei mir so ähnlich aus und sitzt in einem Ventilkasten neben dem Rasen.

So etwas geht natürlich nicht am Gartenwasserhahn!  ;) Wir haben eine Zisterne mit kräftiger Jetpumpe. Und trotzdem musste ich in 3 Regnerkreise aufteilen.

Bist Du nicht mit "Gardena" zufrieden? ;) Also ich kann mich bis dato nicht beschweren, aber ich schau mir auch gleich mal die Rainbird 5004 Regner an. Scheinen ja nicht schlecht zu sein die Dinger! :)

Jojo11

Wir haben auch alles mit 1" aufgebaut und ausschließlich Regner von Hunter verbaut. Machen einen solideren Eindruck als Gardena. Bisher läuft alles bestens. Die Steuerung mit Industrieventilen folgt dann in diesem Frühjahr. Werde wahrscheinlich auch auf HMW setzen.

schöne Grüße
Jo


fiedel

Meine Gardenas (T200) waren von 2004 und haben nach wenigen Jahren nicht mehr geschwenkt. Ich musste sie häufig nachkaufen. Die aktuellen Gardena- Regner kenne ich nicht. Die sehen zumindest äußerlich robuster aus. Mit Rainbird oder Hunter macht man aber generell nichts falsch. Die werden auch von Profis im öffentlichen Bereich verwendet. Lustigerweise waren sie billiger als die Gardenas. Die Schnellverbinder von Gardena sind aber ganz brauchbar. Die habe ich in der Verrohrung viel verwendet.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

eldrik

Hi,

Wenn die Temperaturen wieder in den passenden Bereich gehen, dann werde ich meine beiden Vegetronix Sensoren auch verbudd ln und das Modul an den Start bringen :)

Greetz
Eldrik

Tobias

Im Rasen habe ich einen Versenk-Viereck-Regner von Gardena verbaut. Ist erst seit 1Jahr drin. Bis jetzt alles bestens. Alles andere ist ist nur per fliegender Verkabelung mit mobilen Gardena Viereckregnern oder mit Gardena Tropfern realisiert.
SprinkleControl steht bei mir auf 1 damit bei meiner Brunnenpumpe auch nur maximal ein Regnerkreis aktiviert ist.

Ich habe auch die Gardena 1" Magnetventile gegen Hunter 1" Magnetventile getauscht. Nicht nur wegen dem fast 10€ Preisvorteil - vorallem aber wegen der Frostsicherheit. Die Hunter kann ich im entwässerten Zustand eingebaut lassen. Gardena dagegen nicht.
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

MichaS

Hallo zusammen,

ich bin gerade im Rahmen der Optimierung meiner Bewässerrungssteuerung auf die Sprinkle-Module von Tobias gestossen. Auch ich habe speziell den Umstand, immer nur maximal 1 Bewässerungskreis meiner 5 Kreise aktiv laufen lassen zu können. Da finde ich die Umsetzung mit der Controlinstanz/Queue natürlich optimal. Vegetronix Bodenfeuchte Sensoren sind bei mir auch im Einsatz und funktionieren soweit einwandfrei.

Leider sehe ich für meinen Einsatzzweck momentan 2 Nachteile:
- die Startzeit möchte ich gern auf eine feste Zeit z.b. früh 04:00 setzen, wie im Timer mit at *04:00:00 und nicht permanente Wiederholungen
- weitere Prüfungen von Readings anderer Fhem Devices zur Entscheidung einzubeziehen (z.B. Wetterprognose Proplanta, KS300 Regenmesser als weiter attr )

Gibt es den aktuell eine Weiterentwicklung der Module ? Ich würde mich freuen  ;)

Gruß
Micha

Tobias

siehe commandref, permanente Wiederholungen als auch feste tägliche Startzeiten sind möglich.

Weiterentwicklung läuft aktuell nicht weil es keine Anforderungen gibt. Wer Weiterentwicklungen möchte müsste diese selbst einbauen. Ich kann dann final getestete Versionen einchecken.
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

MichaS

Hallo Tobias,
leider finde ich keine Einträge in der globalen commandref und in den geladenen Modulen im contrib geht es im commandref Teil um Sprachausgabe und TTS - da passt wohl etwas nicht.

Wenn bei dir momentan nichts ansteht, versuche ich mich mal bei Gelegenheit an der Umsetzung meiner Wünsche, allerdings bin ich jetzt nicht der geübteste Perl Programmierer - was ja noch werden kann  ;)

Gruß
Micha

Tobias

Mist, da hat sich in der Doku wohl ein Copy&paste Fehler eingeschlichen :(

define zb:

define mySprinkle sprinkle SW_KT_Ventil2_Gartenseite BF_Garten:VWC_A 06:00:00

Damit wird nur um 6Uhr geprüft, ob die Bodenfeuchte unter dem Schwellwert liegt. Wenn ja wird bewässert, wenn nein wird bis zum nöächsten Tag gewartet und erneut geprüft
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

MichaS

Danke für das Beispiel des festen täglichen Timers, damit hat sich Problem 1 schonmal in Luft aufgelöst  :) . Ich habe das Wiki entsprechend erweitert, damit diese wichtige Info dort auch zur Verfügung steht.

Den Rest gehe ich bei Gelegenheit an. Momentan werde ich den Workaround nutzen, über DOIF die beeinflussenden Readings zu einem festen Zeitpunkt vor dem Sprinkle-Timer zu lesen und die Sprinkle Instanzen dann ggf. für den Tag zu Disablen.

Gruß
Micha

snickers2k

#61
Hey.
Ich könnte mir vorstellen, dass sich z.Z. nicht sehr viele Leute für Bewässerungssteuerung interessieren.
Da ich jedoch im Sommer nicht soviel Zeit haben - und auch oft nicht Zuhause sein werde, wollte ich meine Bewässerungssteuerung schon demnächst so weit in FHEM einbinden, dass ich im Sommer nur noch wieder die Pumpe anschließen muss.

Zitat von: Tobias am 06 Juli 2014, 13:28:43
Die Daten hab ich schon lokalisiert. Im weather und kostalpiko Modul :) aber noch nicht eingebaut.

Gibt es diesbezüglich schon irgendwelche Fortschritte? Oder ist die Motivation nicht vorhanden, weil du es mit Sensoren löst? :)
Würde sonst gerne etwas motivierendes Spenden :)

Zitat von: Tobias am 10 Januar 2015, 10:52:37
Mich würde mal interessieren wer das Modul überhaupt einsetzt und wie....

Ich würde mir wünschen es einsetzen zu können. Jedoch habe ich keine Sensoren - und plane auch nicht welche anzuschaffen. Bisher wurde pi mal Daumen gewässert - und unsere Pflanzen leben trotzdem noch :) Höchstens eine Homematic-Wetterstation ist für den nächsten Sommer geplant. Sofern die Zeit es erlaubt.
Desshalb wäre ich sehr daran interessiert, öffentliche Daten einzubeziehen. Über WeatherUnderground gibt es ja überall (private) Wetterstationen, direkt in der Nähe. Mit Aktuellen Daten wie: Druck, Sichtweite, Wolken, Windchill, Feuchtigkeit, Regen - und zusätzlich ein Durchschnitt aus diesen Daten in der Historie - sollte sich doch eine mehr als brauchbare Berechnung erzeugen lassen.

Zitat von: Tobias am 08 Juli 2014, 19:24:56
Bodenfeuchte vom DWD?? Davon halte ich nicht viel wenn es um die eigene Gartenbewässerung geht. Die Feuchte ist stark abhängig vom Boden.
Bei meinen Rhodedenren die in lockerem torfhaltigem Boden sind muss ich bei gutem Wetter alle Stunde für 10min die Tropfer einschalten. Bei den Gemüsepflanzen die auf fettigem Mutterboden wachsen reicht einmal morgens zu bewässern. Das muss man sich ausprobieren wenn man die Bodenfeuchtekurven ein paar Tage beobachtet.

Maximal die Regenwarscheinlichkeit und Sonnenscheindauer sehe ich als Gewinn für das Modul an.

Wie wäre es, wenn man für jeden Boden einen dummy anlegt, der dann jeden Morgen mit den aktuellen Bodefeuchte Werten gefüttert wird. In Abhängigkeit des Wetters wird dieser Wert dann gesenkt. Je nach Boden könnte man dann (blöd gesprochen) sagen: Normaler Boden "100% senken", Rhodedenren "200% senken". Die Rhodedenren würden im dummy schneller austrocknen und würden eher wieder gegossen werden. Dann wäre auch egal wann es zuletzt Geregnet hat. Denn das spiegelt sich dann ja in der Bodenfeuchte wieder.
Oder stehe ich da auf dem Schlauch?

Hier wird auch darüber Diskutiert ( http://forum.fhem.de/index.php/topic,38335.0.html )
sowie hier ein Blogbeitrag ( https://blog.moneybag.de/fhem-automatische-gartenbewaesserung-mit-fhem-und-gardena-laufendes-projekt-gastbeitrag/ ).
Anhand des Wetters zu steuern wäre also schon irgendwie eine Integration wert :)

Vielen Dank.

Tobias

die aktuellen Module sind im FHEM Repository die auch per UPdate geupdated werden.
Um es kurz zu machen, per Timer und per Sensor wird unterstützt. Für mich reicht es und werkelt schon seit 2 Jahren fast fehlerfrei :)
BodenfeuchteSensoren habe ich per Panstamp angebunden
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

wober

Hallo Tobias,

ich verwende das UniPi Board, habe die Relais für die Ventilsteuerung eingebunden - funktioniert. Die digitalen Eingänge für zwölf Sensoren (Gardena Bodenfeuchtesensor 1188). Der Status der Sensoren wird in FHEM richtig dargestellt (on/off) aber nicht von der SprinkleInstanz. Wie kann dieses Problem gelöst werden, welche Infos benötigst du?

Danke und viele Grüße,
Wolfgang

Tom71

#64
Hallo,
ich wollte nun dieses Modul für meine Gartenbewässerung verwenden. Es bockt aber etwas:
PERL WARNING: Use of uninitialized value $max in numeric lt (<) at ./FHEM/97_SprinkleControl.pm line 202.

Ist gesetzt:
attr MySprinkleControl SprinkleControl_MaxParallel 1;

Beim Starten kommt auch:
2017.05.18 09:27:20 1: PERL WARNING: Subroutine SprinkleControl_Initialize redefined at ./FHEM/97_SprinkleControl.pm line 35, <$fh> line 105.
2017.05.18 09:27:20 1: PERL WARNING: Subroutine SprinkleControl_Define redefined at ./FHEM/97_SprinkleControl.pm line 54, <$fh> line 105.
2017.05.18 09:27:20 1: PERL WARNING: Subroutine SprinkleControl_Undefine redefined at ./FHEM/97_SprinkleControl.pm line 85, <$fh> line 105.
2017.05.18 09:27:20 1: PERL WARNING: Subroutine SprinkleControl_Attr redefined at ./FHEM/97_SprinkleControl.pm line 95, <$fh> line 105.
2017.05.18 09:27:20 1: PERL WARNING: Subroutine SprinkleControl_Set redefined at ./FHEM/97_SprinkleControl.pm line 126, <$fh> line 105.
2017.05.18 09:27:20 1: PERL WARNING: Subroutine SprinkleControl_AllocateNewThread redefined at ./FHEM/97_SprinkleControl.pm line 175, <$fh> line 105.
2017.05.18 09:27:20 1: PERL WARNING: Subroutine SprinkleControl_DeallocateThread redefined at ./FHEM/97_SprinkleControl.pm line 233, <$fh> line 105.
2017.05.18 09:27:20 1: PERL WARNING: Subroutine UpdateSprinkleControlList redefined at ./FHEM/97_SprinkleControl.pm line 273, <$fh> line 105.


Ist der Modul noch aktuell? Oder sollte ich auf ein anders Modul ausweichen. Ich finde es eigentlich ganz gut und für mich passend.

Leider wird auch der Sprinkler1 nicht an geschaltet. Was mache ich falsch?
2017.05.18 10:29:03 4: MySprinkle1: InternalTimerDoIt: Lösche alle internen Timer
2017.05.18 10:29:03 4: MySprinkle1: DoIt: Mache etwas, Command: Auto
2017.05.18 10:29:03 4: MySprinkle1: DoIt: ermittelter Status des Aktors: off
2017.05.18 10:29:03 4: MySprinkle1: DoIt: ermittelter Wert des Sensors: 55.0
2017.05.18 10:29:03 4: MySprinkle1: DoIt: Im Automodus wurde Schwellwert unterschritten erkannt. Soll: 60 , Ist: 55.0
2017.05.18 10:29:03 4: MySprinkle1: DoIt: Setze im Automodus auf: wait
2017.05.18 10:29:03 4: MySprinkle1: DoIt: Setze neuen Status auf: Wait
2017.05.18 10:29:03 4: MySprinkle1: InternalTimerDoIt: Setze InternalTimer auf: 18.05.2017 10:39:13



2017.05.18 10:39:13 4: MySprinkle1: InternalTimerDoIt: Lösche alle internen Timer
2017.05.18 10:39:13 4: MySprinkle1: DoIt: Mache etwas, Command: Auto
2017.05.18 10:39:13 4: MySprinkle1: DoIt: ermittelter Status des Aktors: off
2017.05.18 10:39:13 4: MySprinkle1: DoIt: ermittelter Wert des Sensors: 54.9
2017.05.18 10:39:13 4: MySprinkle1: DoIt: Im Automodus wurde Schwellwert unterschritten erkannt. Soll: 60 , Ist: 54.9
2017.05.18 10:39:13 4: MySprinkle1: DoIt: Setze im Automodus auf: wait
2017.05.18 10:39:13 4: MySprinkle1: DoIt: Setze neuen Status auf: Wait
2017.05.18 10:39:13 4: MySprinkle1: InternalTimerDoIt: Setze InternalTimer auf: 18.05.2017 10:49:23


Schade, da schein noch mehr kaputt zu sein:
2017.05.18 10:57:59 4: MySprinkle1: DoIt: Setze neuen Status auf: Aus
2017.05.18 10:57:59 4: MySprinkle1: NotifyFn: Statusänderung des überwachten Aktors 'Bewaesserung_Ventil1' von 'set_off' nach 'off' festgestellt
2017.05.18 10:57:59 4: MySprinkle1: NotifyFn: überwachter Aktor Bewaesserung_Ventil1, Statuswechsel von 'set_off' nach 'off'
2017.05.18 10:57:59 4: MySprinkle1: NotifyFn: Gebe einen Thread frei im SprinkleControl: SprinkleControl
2017.05.18 10:57:59 1: ERROR: empty name in readingsBeginUpdate
2017.05.18 10:57:59 1: stacktrace:
2017.05.18 10:57:59 1:     main::readingsBeginUpdate           called by ./FHEM/97_SprinkleControl.pm (249)
2017.05.18 10:57:59 1:     main::SprinkleControl_DeallocateThread called by ./FHEM/98_Sprinkle.pm (271)
2017.05.18 10:57:59 1:     main::Sprinkle_Notify               called by fhem.pl (3398)
2017.05.18 10:57:59 1:     main::CallFn                        called by fhem.pl (3319)
2017.05.18 10:57:59 1:     main::DoTrigger                     called by fhem.pl (3676)
2017.05.18 10:57:59 1:     main::Dispatch                      called by ./FHEM/00_HMLAN.pm (779)
2017.05.18 10:57:59 1:     main::HMLAN_Parse                   called by ./FHEM/00_HMLAN.pm (604)
2017.05.18 10:57:59 1:     main::HMLAN_Read                    called by fhem.pl (3398)
2017.05.18 10:57:59 1:     main::CallFn                        called by fhem.pl (685)
2017.05.18 10:57:59 1: readingsUpdate(,CountThreads,0) missed to call readingsBeginUpdate first.
2017.05.18 10:57:59 1: stacktrace:
2017.05.18 10:57:59 1:     main::readingsBulkUpdate            called by ./FHEM/97_SprinkleControl.pm (250)
2017.05.18 10:57:59 1:     main::SprinkleControl_DeallocateThread called by ./FHEM/98_Sprinkle.pm (271)
2017.05.18 10:57:59 1:     main::Sprinkle_Notify               called by fhem.pl (3398)
2017.05.18 10:57:59 1:     main::CallFn                        called by fhem.pl (3319)
2017.05.18 10:57:59 1:     main::DoTrigger                     called by fhem.pl (3676)
2017.05.18 10:57:59 1:     main::Dispatch                      called by ./FHEM/00_HMLAN.pm (779)
2017.05.18 10:57:59 1:     main::HMLAN_Parse                   called by ./FHEM/00_HMLAN.pm (604)
2017.05.18 10:57:59 1:     main::HMLAN_Read                    called by fhem.pl (3398)
2017.05.18 10:57:59 1:     main::CallFn                        called by fhem.pl (685)
2017.05.18 10:57:59 1: readingsUpdate(,state,0/) missed to call readingsBeginUpdate first.
2017.05.18 10:57:59 1: stacktrace:
2017.05.18 10:57:59 1:     main::readingsBulkUpdate            called by ./FHEM/97_SprinkleControl.pm (251)
2017.05.18 10:57:59 1:     main::SprinkleControl_DeallocateThread called by ./FHEM/98_Sprinkle.pm (271)
2017.05.18 10:57:59 1:     main::Sprinkle_Notify               called by fhem.pl (3398)
2017.05.18 10:57:59 1:     main::CallFn                        called by fhem.pl (3319)
2017.05.18 10:57:59 1:     main::DoTrigger                     called by fhem.pl (3676)
2017.05.18 10:57:59 1:     main::Dispatch                      called by ./FHEM/00_HMLAN.pm (779)
2017.05.18 10:57:59 1:     main::HMLAN_Parse                   called by ./FHEM/00_HMLAN.pm (604)
2017.05.18 10:57:59 1:     main::HMLAN_Read                    called by fhem.pl (3398)
2017.05.18 10:57:59 1:     main::CallFn                        called by fhem.pl (685)
2017.05.18 10:57:59 4: MySprinkle1: NotifyFn: Setze neuen Status auf: Aus
Homematic | RaspberryMatic

Tobias

Hi,
also das Modul läuft bei mir im täglichen Einsatz, allerdings auf einem FHEM was einen Stand vor > einem Jahr hat.
(Es läuft nicht bei mir lokal, muss immer erst hinfahren wenn was kaputt ist, deshalb: never touch a running system)

Ich glaube das Modul setzen aber auch noch ein paar andere ein, es sollte also grundsätzlich laufen.

Ein WAIT Status kommt immer dann, wenn die maximale Anzahl an Threas im SprinkleControl erreicht ist. Dann wird der aktuelle Request in die Queue eingegliedert - muss also warten.
Der Status des Sprinklecontrol Devices müsste 1/1 anzeigen.

Vieleicht kommt es bei dir auch durcheinander weil du 2x off sendest, set_off und off. Probier es mal mit einem Dummy den du manuell auf on oder off schalten kannst - also ohne das set_? davor...
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

nils_

viele Wege in FHEM es gibt!

ulli

Irgendwie bin ich zu doof aber bei mir gibt es das Modul nicht..

Tobias

Gibt es Im contrib

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

wober

Hallo Tobias,

hast du schon eine Lösung für das Proplem das ich dir 2016 für deinem Programmcode beschrieben habe?

Hallo Tobias,

wenn ich mir so den Verlauf ansehe dürfte ich nun den eifrigster Tester sein. Zur Erklärung, ich habe hier eine Anlage mit 16 Ventilen und 12 Sensoren aufgebaut die das Gardena Tropfsystem versorgt. Folgende Problematik ist mir nun aufgefallen: die Ventile haben mehrere - derzeit bis zu vier Einschaltzeiten pro Tag. Wird nun aufgrund der Einschaltzeit ein Ventil geöffnet werden die anderen auch als aktiv angezeigt und die Funktion "SprinkleControll" zeigt dann auch zb. vier offene Ventile statt wirklich nur das eine. Eine Begrenzung ist hier nicht mehr möglich da statt 1 offener Schaltzustand die Anzahl aller möglicher Schaltzeiten in "SprinkleControll" angezeigt werden.

Der Grund warum ich das Begrenzen muss ist die Stromversorgung die über PoE läuft. Ein Ventil brauch bei 12V 2,5 Watt und ich kann maximal nur vier gleichzeitig laufen lassen.

Kannst du dieses Fehler korregieren? Ich würde gerne für dich die Test durchführen.

Im Anhang findest du nochmals die aktuelle Doku. In diesm Beispiel werden für ein aktives Ventil vier Instanzen belegt!

Viele Grüße,
Wolfgang

Michi1978

Hi, das Modul scheint genau das richtige zu sein was ich suche.

Jedoch habe ich ein kleines Problem, welches von den experten hier bestimmt schnell gelöst werden kann :).

Ich nutze ein Paar Relays die ich über einen Wemos D1 Mini ansteuere, und die kennen den befehl "on-for-timer" leider nicht, dieser befehl wird aber von Sprinkle benutzt.
Wie bekomme ich es hin das ich auch die Relays über den Wemos ansteuern kann?


fiedel

Prüfe doch mal, ob deine Relais die setExtensions können. Damit rüstest du on-for-timer quasi nach. Falls nicht, könntest du jedem Relais ein ReadingsProxy zuordnen. Dieser kann dann auch on-for-timer.
Ganz generell würde ich aber für eine Bewässerung nie ohne Not Relais ohne "echtes" on-for-timer nehmen. Hier schaltet nämlich die Elektronik eigenständig wieder aus, bei deinen Relais muss der aus- Befehl sicher ankommen - sonst läuft das Wasser weiter wie beim Zauberlehrling...  ;)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Michi1978

#72
Die Relais werden wie gesagt über den Wemos D1 Mini angesteuert. Was ich vergessen habe zu erwähnen ist, dass auf dem Teil ESPEasy läuft.Mit ReadingProxy habe ich keine erfahrung und bin erlich gesagt in Programieren nicht wirklich gut :D
Die Relays die an die GPIOs am WEMOS hängen, sind im FHEM eingerichtet.

define ESPEasy_ESP8266_3_Pumpe ESPEasy 10.0.0.153 80 espBridge ESP8266_3_Pumpe
attr ESPEasy_ESP8266_3_Pumpe IODev espBridge
attr ESPEasy_ESP8266_3_Pumpe Interval 300
attr ESPEasy_ESP8266_3_Pumpe devStateIcon devStateIcon on:sani_water_tap@blue:off off:sani_water_tap@grey:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
attr ESPEasy_ESP8266_3_Pumpe eventMap /gpio 13 on:on/gpio 13 off:off/status gpio 12:check/
attr ESPEasy_ESP8266_3_Pumpe group Bewässerung
attr ESPEasy_ESP8266_3_Pumpe presenceCheck 1
attr ESPEasy_ESP8266_3_Pumpe readingSwitchText 1
attr ESPEasy_ESP8266_3_Pumpe room Gartenhaus
attr ESPEasy_ESP8266_3_Pumpe setState 3
attr ESPEasy_ESP8266_3_Pumpe sortby 19
attr ESPEasy_ESP8266_3_Pumpe stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"SW2","")}
attr ESPEasy_ESP8266_3_Pumpe webCmd on:off


Kannst du mir vielleicht ein Beispiel gegebn anhand des Codes wie ich so ein RP für ein Relay einrichte?

Der befehl für den ESPEasy GPIO on-for-timer lautet hier "longpulse 13(gpio) 1(on) 300(time in sek). also set xxx longpulse 13 1 300.

fiedel

Brauchst kein RP, nur das hier. Hab ich über die Suche nach "esp on-for-timer" gefunden.  8)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

gestein

Hallo,

ich habe zwar keinen Bodensensor, aber mit einem Dummy-Device funktioniert es anscheinend sehr gut.
Danke für das Modul. Das erleichtert mir mein Gärtnerdasein ,-)
Jetzt muss ich es noch etwas testen...

Ich würde gerne abhängig von der Temperatur mehrmals am Tag gießen lassen, aber immer um 6:30 in der Früh.
Wenn es dann heiß ist, zu Mittag und eventuell auch noch mal am Abend.

Wie muss ich das beim define des Sprinkle angeben?
Ich kann zwar z.B. alle 5min (+00:05:00) oder zu einer definierten Zeit (04:00:00), aber kann ich auch alle 8 Stunden (aber beginnend um 6:30) gießen lassen?

Danke im Voraus
liebe Grüße
Gerhard

p.s.: Übrigens ist da ein kleiner Fehler im wiki um die SprinkleControl im Sprinkle zu setzen: https://wiki.fhem.de/wiki/Bew%C3%A4sserungssteuerung
attr MySprinkle1 SprinkleControl SprinkleControl;

Muss heißen:
attr MySprinkle1 SprinkleControl MySprinkleControl;

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



Tobias

Bitte im PumpControl Thread weitermachen ;)
https://forum.fhem.de/index.php/topic,92443.0.html
in FHEM ist fast alles realisierbar. Auf meiner Wikiseite habe ich eine fertige Plug-n-play Lösung als Minimalbeispiel beschrieben
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