Hauptmenü

DOIF triggert falsch!

Begonnen von Spartacus, 05 April 2015, 18:53:13

Vorheriges Thema - Nächstes Thema

mmatt

Hallo Damian,

Ja, nun funktioniert es mit den ''?" perfect.  :)

Vielen Dank für Deine Hilfe.
Und vielen Dank für Dein DOIF und IF Modul.

Grüsse Martin
- FHEM 5.5 auf RPI REV.2
- CUL V3 868MHz
- CUL_HM: HM-LC-Dim1TPBU-FM/HM-LC-Swl1PBU-FM/HM-LC-Sw1-BA-PCB/HB-UW-Sen-THPL-O/HM-SEN-MDIR-SM

Spartacus

Hallo zusammen,
ich habe meine Wasserspiel-Ansteuerung noch einmal umgebaut und würde es gerne noch einmal von Euch checken lassen, bevor ich das nun produktiv setzte:
Funktionsweise soll wie folgt aussehen:

Mo-Do
17:00 Uhr ein; 21:00 Uhr aus
Fr.
14:30 Uhr ein; 21:30 Uhr aus
Sa.
08:30 Uhr ein, 21:30 Uhr aus
So.
08:30 Uhr ein; 21:00 Uhr aus
vor Feiertagen
14:30 Uhr ein; 21:30 Uhr aus
an Feiertagen:
08:30 Uhr ein; 21:00 Uhr aus (wenn der Feiertag auf Fr. oder Sa. fällt, dann wird um 21:30 Uhr abgeschaltet
an Geburtstagen:
14:30 Uhr ein; 21:00 Uhr aus (wenn der Geburtstag auf Fr. oder Sa. fällt, dann wird um 21:30 Uhr abgeschaltet)


Code:
([17:00|1234] or
[08:30] and ([?hl.01.Feiertag] or $wday == 0 or or $wday == 6) or
[14:30] and ([?hl.01.Feiertag:tomorrow] ne "none" or [?hl.01.Geburtstag] ne "none" or $wday == 5))
(set GA.ss.SA.Wasserspiel on)
DOELSEIF
([21:00|01234] or
[21:30] and ([?hl.01.Feiertag:tomorrow] ne "none" or $wday == 5 or or $wday == 6))
(set GA.ss.SA.Wasserspiel off)


Ich hoffe ich habe nicht zu viel optimiert :-)
Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Damian

Zitat von: Spartacus am 13 April 2015, 16:15:12
Hallo zusammen,
ich habe meine Wasserspiel-Ansteuerung noch einmal umgebaut und würde es gerne noch einmal von Euch checken lassen, bevor ich das nun produktiv setzte:
Funktionsweise soll wie folgt aussehen:

Mo-Do
17:00 Uhr ein; 21:00 Uhr aus
Fr.
14:30 Uhr ein; 21:30 Uhr aus
Sa.
08:30 Uhr ein, 21:30 Uhr aus
So.
08:30 Uhr ein; 21:00 Uhr aus
vor Feiertagen
14:30 Uhr ein; 21:30 Uhr aus
an Feiertagen:
08:30 Uhr ein; 21:00 Uhr aus (wenn der Feiertag auf Fr. oder Sa. fällt, dann wird um 21:30 Uhr abgeschaltet
an Geburtstagen:
14:30 Uhr ein; 21:00 Uhr aus (wenn der Geburtstag auf Fr. oder Sa. fällt, dann wird um 21:30 Uhr abgeschaltet)


Code:
([17:00|1234] or
[08:30] and ([?hl.01.Feiertag] or $wday == 0 or or $wday == 6) or
[14:30] and ([?hl.01.Feiertag:tomorrow] ne "none" or [?hl.01.Geburtstag] ne "none" or $wday == 5))
(set GA.ss.SA.Wasserspiel on)
DOELSEIF
([21:00|01234] or
[21:30] and ([?hl.01.Feiertag:tomorrow] ne "none" or $wday == 5 or or $wday == 6))
(set GA.ss.SA.Wasserspiel off)


Ich hoffe ich habe nicht zu viel optimiert.


Christian

So lassen sich zumindest Fehler schneller finden, weil nur zwei Bedingung da sind und falls irgendetwas sich nicht ausschließen sollte, so ist es hier nicht tragisch, weil ohne do always sowieso nicht doppelt geschaltet wird. 

Da hast du dein Leben aber gut durchgeplant, wo bleibt da Spielraum für etwas Zufall :) Naja mit den neuen Zeit-Features kannst du es ja mit rand() noch einbauen ;)

Gruß

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

Spartacus

Hallo Damian,
naja, das ist nur eine Schaumdüse die Wasser über ein paar Natursteine plätschern lässt. Das hat mit einem durchplanten Leben nichts zu tun. Der Zeitplan richtet sich nach unserem gewohnten Tagesablauf und hat sich schon zu CC2-Zeiten bewährt. Und außerdem gibt es noch einen Taster, damit kann man das Wasserspiel, unabhängig von der Automatik, ein- bzw. ausschalten  :)

Da Du offenbar keinen offensichtlichen Fehler im Code gefunden hast, werde ich das jetzt mal produktiv setzen. Ich hoffe es läuft nun wie gewünscht! Die nächsten Feiertage kommen ja im Mai und der nächste Geburtstag steht am 27.ten an....

...es bleibt spannend,
Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Damian

Zitat von: Spartacus am 13 April 2015, 20:09:25
Hallo Damian,
naja, das ist nur eine Schaumdüse die Wasser über ein paar Natursteine plätschern lässt. Das hat mit einem durchplanten Leben nichts zu tun. Der Zeitplan richtet sich nach unserem gewohnten Tagesablauf und hat sich schon zu CC2-Zeiten bewährt. Und außerdem gibt es noch einen Taster, damit kann man das Wasserspiel, unabhängig von der Automatik, ein- bzw. ausschalten  :)

Da Du offenbar keinen offensichtlichen Fehler im Code gefunden hast, werde ich das jetzt mal produktiv setzen. Ich hoffe es läuft nun wie gewünscht! Die nächsten Feiertage kommen ja im Mai und der nächste Geburtstag steht am 27.ten an....

...es bleibt spannend,
Christian

ja, ein echter FHEMer baut da aber noch die Jahreszeit, Tageslicht, Sonnenaufgang, Sonnenuntergang, Wetterprognose, Regen, Sonne, Anwesenheit und das eigene Wohlbefinden mit ein  :D

Gruß

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