So mit allen extras eingebaut:
"Bewaessern_Hand-EIN" bzw. "Bewaessern Hand Stop" habe ich noch als Handbetrieb eingefügt, damit man die Bewässerung auch von Hand starten kann.
Die Hand-Bewässerung wird aber mitgezählt!
Code:
//------------------------------------------------------
// Bewässerung
//------------------------------------------------------
RegenIndikator=AUS
TrockenTage=0
TageBisZurBewaesserung=3
Bewaessern=AUS
Regenzaehler=0u08
// Der Regenmelder (EIN==Regen)
Regen="RegenMeldung-5/2/2"
// Zeit Messen, die es geregnet hat
if cycle(1) and regen then Regenzaehler=Regenzaehler+1 endif
// Zwischen 1.05 und 31.10 soll bewässert werden
Monat=month(01,05) and !month(30,09)
// Im Hochsommer alle 2 Tage, sonst 3 Tage
if month(01,06) and !month(31,08) then {
TageBisZurBewaesserung=2 } else {
TageBisZurBewaesserung=3
} endif
// Überprüfung auf Regen nur Regen länger als 20 Minuten / Tag wird gezählt
if Regenzaehler>20u08 then {
RegenIndikator=EIN;
TrockenTage=0
} endif
// Um ein Uhr nachts wird der Indikator für den Tag gelöscht
// und der Trockentag hochgezählt
if htime(1,00,00) and RegenIndikator==AUS then TrockenTage=TrockenTage+1 endif
if htime(1,00,00) and RegenIndikator==EIN then RegenIndikator=AUS; Regenzaehler=0u08 endif
// Lange genug nicht geregnet: Bewaessern
if TrockenTage>=TageBisZurBewaesserung and Monat and "Außentemperatur-3/5/0">10f16 and Regenzaehler<20u08 and "Wasser123Auto-2/0/10" then {
Bewaessern=EIN;
} endif
// Nun Bewässern: Drei getrennte Kreise, die mit Magnetventilen und
// Siemens "Heizaktoren" angesteuert sind.
// Aber nur wenn es über 10° draußen hat und ein Bewässerungsmonat vorliegt...
// Außerdem gibts ein Schaltobjekt "Wasser123Auto-2/0/10" an einem Panel
if (Bewaessern or "Bewaessern_Hand-EIN" then {
write("WasserTür-2/0/2"u08,70%);
write("WasserSüd-2/0/3"u08,100%);
write("WasserWiga-2/0/0"u08,90%)
} endif
// 1,5 Stunden lang bewaessern und dann wieder ausschalten
if delay(Bewaessern,5400000u64) or "Bewaessern Hand Stop" then {
write("WasserTür-2/0/2"u08,0%);
write("WasserSüd-2/0/3"u08,0%);
write("WasserWiga-2/0/0"u08,0%);
Bewaessern=AUS;
TrockenTage=0
} endif
Die Hand-Bewässerung wird aber mitgezählt!


Kommentar