Steuerung einer Beregnungsanlage

Begonnen von ETHVH, 05 Oktober 2015, 10:05:46

Vorheriges Thema - Nächstes Thema

ETHVH

Hallo Zusammen,

ich habe mit 2 Homematic 4-Kanal Schaltaktoren (HM-LC-SW4-DR) eine Beregnunsanlage aus 8 Beregnungskreisen aufgebaut.
Nun möchte ich diese zu verschiedenen Zeiten unter bBerücksichtigung der gewählten Scene ansteuern.

Ich habe dies wie folgt gelöst:

# -- Bewässerungssteuerug Rasenflächen Scene 1 -- täglich früh und Abends
define Beregnung11_frueh at *06:30:00 {if ((($we) || (!$we)) && (Value("Dummy_BeregnungScene_01") eq ("ein") && (Value("Dummy_Regen_01") eq ("aus")) && (Value("Dummy_Beregnung_01") eq "ein"))) { fhem ("set Beregnung_06_Vorgarten_Strasse on-for-timer 880") }}
attr Beregnung11_frueh alias 01 Pflanzen Vorgarten Strasse (15min)
attr Beregnung11_frueh group Beregnungszeiten
attr Beregnung11_frueh icon scene_day
define Beregnung12_frueh at *06:45:00 {if ((($we) || (!$we)) && (Value("Dummy_BeregnungScene_01") eq ("ein") && (Value("Dummy_Regen_01") eq ("aus")) && (Value("Dummy_Beregnung_01") eq "ein"))) { fhem ("set Beregnung_05_Vorgarten_Pflanzen_Seeberger on-for-timer 880") }}
attr Beregnung12_frueh alias 02 Pflanzen Vorgarten Seite Seeb. (15min)
attr Beregnung12_frueh group Beregnungszeiten
attr Beregnung12_frueh icon scene_day
define Beregnung13_frueh at *07:00:00 {if ((($we) || (!$we)) && (Value("Dummy_BeregnungScene_01") eq ("ein") && (Value("Dummy_Regen_01") eq ("aus")) && (Value("Dummy_Beregnung_01") eq "ein"))) { fhem ("set Beregnung_07_Vorgarten_Rasen on-for-timer 1480") }}
attr Beregnung13_frueh alias 03 Rasenfläche Vorgarten (25min)
attr Beregnung13_frueh group Beregnungszeiten
attr Beregnung13_frueh icon scene_day
define Beregnung14_frueh at *07:25:00 {if ((($we) || (!$we)) && (Value("Dummy_BeregnungScene_01") eq ("ein") && (Value("Dummy_Regen_01") eq ("aus")) && (Value("Dummy_Beregnung_01") eq "ein"))) { fhem ("set Beregnung_08_Vorgarten_Hauswand on-for-timer 880") }}
attr Beregnung14_frueh alias 04 Pflanzen Vorgarten Hauswand (15min)
attr Beregnung14_frueh group Beregnungszeiten
attr Beregnung14_frueh icon scene_day
define Beregnung15_frueh at *07:40:00 {if ((($we) || (!$we)) && (Value("Dummy_BeregnungScene_01") eq ("ein") && (Value("Dummy_Regen_01") eq ("aus")) && (Value("Dummy_Beregnung_01") eq "ein"))) { fhem ("set Beregnung_01_Rasen_Herr on-for-timer 880") }}
attr Beregnung15_frueh alias 05 Rasenfläche Seite Herr (15min)
attr Beregnung15_frueh group Beregnungszeiten
attr Beregnung15_frueh icon scene_day
define Beregnung16_frueh at *07:55:00 {if ((($we) || (!$we)) && (Value("Dummy_BeregnungScene_01") eq ("ein") && (Value("Dummy_Regen_01") eq ("aus")) && (Value("Dummy_Beregnung_01") eq "ein"))) { fhem ("set Beregnung_02_Rasen_Wendeltreppe on-for-timer 880") }}
attr Beregnung16_frueh alias 06 Rasenfläche bei Wendeltreppe (15min)
attr Beregnung16_frueh group Beregnungszeiten
attr Beregnung16_frueh icon scene_day
define Beregnung17_frueh at *08:10:00 {if ((($we) || (!$we)) && (Value("Dummy_BeregnungScene_01") eq ("ein") && (Value("Dummy_Regen_01") eq ("aus")) && (Value("Dummy_Beregnung_01") eq "ein"))) { fhem ("set Beregnung_03_Hauptrasen on-for-timer 1480") }}
attr Beregnung17_frueh alias 07 Rasenfläche Hauptrasen (25min)
attr Beregnung17_frueh group Beregnungszeiten
attr Beregnung17_frueh icon scene_day
define Beregnung18_frueh at *08:35:00 {if ((($we) || (!$we)) && (Value("Dummy_BeregnungScene_01") eq ("ein") && (Value("Dummy_Regen_01") eq ("aus")) && (Value("Dummy_Beregnung_01") eq "ein"))) { fhem ("set Beregnung_04_Vorgarten on-for-timer 880") }}
attr Beregnung18_frueh alias 08 Pflanzen Seite Seeb. (15min)
attr Beregnung18_frueh group Beregnungszeiten
attr Beregnung18_frueh icon scene_day

Den ganzen Code gibt es dann noch mal für Abends. :(

Das Ganze funktioniert zwar - aber da ich insgesamt 3 Szenen habe
Szene 1: täglich früh und Abends
Szene 2: täglich früh und jeden 2. Tag Abends
Szene 3: nur jeden 2. Tag Abends
ergibt das sehr viel Programmcode und ist nicht gearde sehr komfortabel. Wenn ich nun die z.B. Zeiten ändern möchte, dann ist das sehr aufwändig.

Hat jemand einen Vorschlag wie ich das leichter lösen könnte?

Viele Grüße
ETHVH
FHEM auf Intel NUC i5, Betriebssystem Ubuntu Server, HMLan, viele HM und wenige FS20 Komponenten und vieles mehr. Geiles universelles Hausautomationssystem

Mr. P

Zitat von: ETHVH am 05 Oktober 2015, 10:05:46
Das Ganze funktioniert zwar - aber da ich insgesamt 3 Szenen habe
Szene 1: täglich früh und Abends
Szene 2: täglich früh und jeden 2. Tag Abends
Szene 3: nur jeden 2. Tag Abends
ergibt das sehr viel Programmcode und ist nicht gearde sehr komfortabel. Wenn ich nun die z.B. Zeiten ändern möchte, dann ist das sehr aufwändig.

Hat jemand einen Vorschlag wie ich das leichter lösen könnte?
Ich habe das bei mir einfach durch Dummy-Devices gelöst, welche die entsprechenden Werte enthalten und dann einfach der Routine übergeben werden. ;-)
Greetz,
   Mr. P