Es kommt ja der Sommer, daher folgendes Szenario:
Man möchte bewässern, wenn
Ich wollte das ja als Makro anbieten, aber ich denke, man kommt so fast besser klar, weil doch jeder da seine persönliche Vorstellung, etc. hat.
Der Kern ist eigentlich: Wie zähl ich die Trockentage, der Rest ist m.E. einfach.
Hier der Code mit meinen Gruppenadressen:
Anbei noch zur besseren Lesbarkeit das Ganze als Bildschirmschuss.
Frei zum Diskutieren...
Man möchte bewässern, wenn
- es 2 Tage nicht geregnet hat und es Hochsommer (1.6 bis 31.08)
- es 3 Tage nicht geregnet hat und es zwischen 1.05 und 30.09 aber nicht im Hochsommer (da ja alle 2 Tage)
- Man will nachts um 1:00 bewässern
- Man sprengt nur, wenn es um diese Zeit über 10° hat
- Wenn es nicht über 10° hat, soll einfach am nächsten Tag gewässert werden
- Man hat Magnetventile verbaut und diese über einen Heizungsaktor angesteuert (
) und kann dann je nach Sonnenlage im Grundstück über Prozentangabe intervallartig sprengen
- Die Bewässerungszeit betrage 1.5 Stunden
Ich wollte das ja als Makro anbieten, aber ich denke, man kommt so fast besser klar, weil doch jeder da seine persönliche Vorstellung, etc. hat.
Der Kern ist eigentlich: Wie zähl ich die Trockentage, der Rest ist m.E. einfach.
Hier der Code mit meinen Gruppenadressen:
Code:
//------------------------------------------------------ // Bewässerung //------------------------------------------------------ RegenIndikator=AUS TrockenTage=0 TageBisZurBewaesserung=3 Bewaessern=AUS // Der Regenmelder (EIN==Regen) Regen="RegenMeldung-5/2/2" // 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 if (Regen==EIN) 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 endif // Lange genug nicht geregnet: Bewaessern if TrockenTage==TageBisZurBewaesserung and Monat then { TrockenTage=0; Bewaessern=EIN; RegenIndikator=AUS } 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 and "Wasser123Auto-2/0/10" and "Außentemperatur-3/5/0">10f16 and Monat 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) 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 } endif
Frei zum Diskutieren...
Kommentar