Hauptmenü

Bewässerungssteuerung

Begonnen von arthur_dent_2015, 19 Mai 2020, 20:43:27

Vorheriges Thema - Nächstes Thema

arthur_dent_2015

Zitat von: duke-f am 04 Juni 2020, 14:11:42
Nett. Über solche Post ärgere ich ich schon mal bei meinen eigenen Fragen. Aber bei Interesse hinsichtlich der Umsetzung nach einiger Beteiligung an der Diskussion ist mir jetzt eine Antwort à la "such' selber" doch eher unerwartet.
so schwer kann es doch nicht sein...


([({sunrise("CIVIL")}+3600)] and [?Bewaesserung:state] eq "on" and [?Wetter:fc0_rain] <= 5 and [?Wetter:fc0_temp06] >= 15) (set HM_Steckdose_Sw on-for-timer 3600, {Log 3, "Bedingung 1 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_temp06]"}) DOELSEIF ([({sunrise("CIVIL")}+3600)] and [?Bewaesserung:state] eq "on" and [?Wetter:fc0_rain] <= 3 and [?Wetter:fc0_temp06] > 10 and [?Wetter:fc0_temp06] < 15) (set HM_Steckdose_Sw on-for-timer 1800, {Log 3, "Bedingung 2 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_temp06]"}) DOELSEIF ([({sunrise("CIVIL")}+3600)] and [?Bewaesserung:state] eq "off") ({Log 3, "Bewässerung:off"}) DOELSE (set HM_Steckdose_Sw on-for-timer 300, {Log 3, "Bedingung 3 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_temp06]"})


([([myAstro:SunSet]-[7200])] and [?Bewaesserung:state] eq "on" and [?Wetter:fc0_rain] <= 5 and [?Wetter:fc0_tempMax] >= 15) (set HM_Steckdose_Sw on-for-timer 3600, {Log 3, "Bedingung 1 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_tempMax]"}) DOELSEIF ([([myAstro:SunSet]-[7200])] and [?Bewaesserung:state] eq "on" and [?Wetter:fc0_rain] <= 3 and [?Wetter:fc0_tempMax] > 10 and [?Wetter:fc0_tempMax] < 15) (set HM_Steckdose_Sw on-for-timer 1800, {Log 3, "Bedingung 2 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_tempMax]"}) DOELSEIF ([([myAstro:SunSet]-[7200])] and [?Bewaesserung:state] eq "off") ({Log 3, "Bewässerung:off"}) DOELSE (set HM_Steckdose_Sw on-for-timer 300, {Log 3, "Bedingung 3 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_tempMax]"}

jetzt besser?

duke-f

Ich hätte mir halt zumindest sowas gewünscht, als Minimalversion:


([({sunrise("CIVIL")}+3600)] and [?Bewaesserung:state] eq "on" and [?Wetter:fc0_rain] <= 5 and [?Wetter:fc0_temp06] >= 15)
(set HM_Steckdose_Sw on-for-timer 3600, {Log 3, "Bedingung 1 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_temp06]"})
DOELSEIF ([({sunrise("CIVIL")}+3600)] and [?Bewaesserung:state] eq "on" and [?Wetter:fc0_rain] <= 3 and [?Wetter:fc0_temp06] > 10 and [?Wetter:fc0_temp06] < 15)
(set HM_Steckdose_Sw on-for-timer 1800, {Log 3, "Bedingung 2 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_temp06]"})
DOELSEIF ([({sunrise("CIVIL")}+3600)] and [?Bewaesserung:state] eq "off")
({Log 3, "Bewässerung:off"})
DOELSE (set HM_Steckdose_Sw on-for-timer 300, {Log 3, "Bedingung 3 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_temp06]"})



([([myAstro:SunSet]-[7200])] and [?Bewaesserung:state] eq "on" and [?Wetter:fc0_rain] <= 5 and [?Wetter:fc0_tempMax] >= 15)
(set HM_Steckdose_Sw on-for-timer 3600, {Log 3, "Bedingung 1 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_tempMax]"})
DOELSEIF ([([myAstro:SunSet]-[7200])] and [?Bewaesserung:state] eq "on" and [?Wetter:fc0_rain] <= 3 and [?Wetter:fc0_tempMax] > 10 and [?Wetter:fc0_tempMax] < 15)
(set HM_Steckdose_Sw on-for-timer 1800, {Log 3, "Bedingung 2 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_tempMax]"})
DOELSEIF ([([myAstro:SunSet]-[7200])] and [?Bewaesserung:state] eq "off")
({Log 3, "Bewässerung:off"})
DOELSE (set HM_Steckdose_Sw on-for-timer 300, {Log 3, "Bedingung 3 rain: [Wetter:fc0_rain] Temp: [Wetter:fc0_tempMax]"}


Dann noch die Kennzeichnung der tatsächlichen wesentlichen Unterschiede und eventuell sogar unwichtiges herausgelassen.
Aber ist auch nicht wirklich wichtig, ich hätte es zwar anders versucht, aber wenn es so funktioniert erfüllt es wohl seinen Zweck und es ist auch gut so.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Tobias

Zitat von: arthur_dent_2015 am 04 Juni 2020, 13:45:54
Ich weiß, die Lösung mit dem Verteiler ist eher suboptimal, aber die Verhältnisse geben nichts anderes her (siehe weiter oben). Ich hab jetzt noch mal die Pausen zwischen den Schaltvorgängen verlängert, seit dem kommt es auch nicht mehr zu Doppelbewässerungen. Ich bin mit der Lösung jetzt erst  mal vollauf zufrieden :)

Ich hatte damals auch die Pausen deutlich verlängert, bei einer Pause von mindestens 30min ging es dann. Ich hatte aber auch immer nur den Mindestdruck, 1-2bar.
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

duke-f

#18
Ich hatte meinen eigentlich über Jahre im Einsatz, allerdings auch unter Leitungsdruck. Die Mindestpausen hatte ich auch so wie Du auf in etwa 30 Minuten gestellt. Und eben die Programmierung so vorgenommen, dass die 6 Teilzyklen immer gleich sind. Das Teil hat eben den Charme (vielleicht in diesem Forum an der falschen Stelle  ;)), ohne Stromversorgung zu laufen.

EDIT: Pausen zwischen den 6 Stufen sind natürlich gemeint. Der Druck muss sich durch Undichtigkeiten erst abbauen können.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

arthur_dent_2015

Bei mir reichen 150 Sekunden. Ich werde das aber weiter beobachten.

duke-f

Da würde ich wirklich deutlich mehr ansetzen. Im Normalfall war das bei mir auch genug, aber je nach dem, was angeschlossen ist, kann sich der Druck schon mal recht langsam abbauen. Weiter ist die Frage, wie es mit Kalk und Verunreinigungen im Gießwasser aussieht. Ich hatte meinen alle Jahre, spätestens vor er wieder in Betrieb kam.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

arthur_dent_2015

wie gesagt, seit über eine Woche problemlos. Das Brunnenwasser ist sauber und kaum Kalkhaltig.