Hallo,
leider komme ich als Laie hier nicht alleine weiter: Warum löst dieses DOIF aus, auch wenn das Fenster wieder geschlossen ist? Und wie kann ich das ändern? Do always und do resetwait führen nicht zu Änderungen.
defmod Fenster_Bad_unten_schliessen DOIF ([Fenster_Bad_Unten] eq "open")\
(\
set Sonos_Kueche Speak 40 de Das Fenster im Bad unten ist jetzt schon zehn Minuten geöffnet,\
set Sonos_Arbeitszimmer Speak 40 de Das Fenster im Bad unten ist jetzt schon zehn Minuten geöffnet,\
set Sonos_Dach Speak 40 de Das Fenster im Bad unten ist jetzt schon zehn Minuten geöffnet,\
set Sonos_Bad Speak 40 de Das Fenster im Bad unten ist jetzt schon zehn Minuten geöffnet\
)\
DOELSE\
(\
set Sonos_Kueche Speak 40 de Das Fenster im Bad unten ist jetzt schon fuenfzehn Minuten geöffnet,\
set Sonos_Arbeitszimmer Speak 40 de Das Fenster im Bad unten ist jetzt schon fuenfzehn Minuten geöffnet,\
set Sonos_Dach Speak 40 de Das Fenster im Bad unten ist jetzt schon fuenfzehn Minuten geöffnet,\
set Sonos_Bad Speak 40 de Das Fenster im Bad unten ist jetzt schon fuenfzehn Minuten geöffnet\
)\
DOELSE\
(\
set Sonos_Kueche Speak 40 de Das Fenster im Bad unten ist jetzt schon zwanzig Minuten geöffnet,\
set Sonos_Arbeitszimmer Speak 40 de Das Fenster im Bad unten ist jetzt schon zwanzig Minuten geöffnet,\
set Sonos_Dach Speak 40 de Das Fenster im Bad unten ist jetzt schon zwanzig Minuten geöffnet,\
set Sonos_Bad Speak 40 de Das Fenster im Bad unten ist jetzt schon zwanzig Minuten geöffnet\
)\
DOELSE\
(\
set Sonos_Kueche Speak 40 de Das Fenster im Bad unten ist jetzt schon fuenfundzwanzig Minuten geöffnet,\
set Sonos_Arbeitszimmer Speak 40 de Das Fenster im Bad unten ist jetzt schon fuenfundzwanzig Minuten geöffnet,\
set Sonos_Dach Speak 40 de Das Fenster im Bad unten ist jetzt schon fuenfundzwanzig Minuten geöffnet,\
set Sonos_Bad Speak 40 de Das Fenster im Bad unten ist jetzt schon fuenfundzwanzig Minuten geöffnet\
)\
DOELSE\
([Fenster_Bad_Unten] eq "closed")\
DOELSE
attr Fenster_Bad_unten_schliessen do resetwait
attr Fenster_Bad_unten_schliessen group Sicherheit
attr Fenster_Bad_unten_schliessen room Bad_Unten
attr Fenster_Bad_unten_schliessen wait 600:300:300:300
Gruß
Wolfgang
Es gibt nur einen DOELSE Zweig!
Hast du dir überlegt was, wann passieren soll, am besten aufgeschrieben?
In etwa:
Wenn diese Bedingung(en), dann soll das passieren
Wenn eine andere Bedingung, dann soll was anderes passieren
Wenn noch eine ganz andere Bedingung, dann soll noch ganz was anderes passieren
Und wenn das alles nicht zutrifft, dann mach einfach das
Weil daraus leitet sich dann eben ab was man braucht:
DOIF (Bedingung[en]) (Befehl[e])
DOELSEIF (andere Bedingung[en]) (andere Befehl[e])
DOELSEIF (noch andere Bedingung[en]) (noch andere Befehl[e])
DOELSE (Befehl[e])
Und wie Per geschrieben hat:
es gibt nur 1x DOIF mit Bedingung, "beliebig viele" (auch keins ;) ) DOELSEIF mit Bedingungen und nur max. 1x DOELSE OHNE! Bedingung
Gruß, Joachim
Hallo ihr beiden,
danke für die schnelle Nachhilfe!
Gruß
Wolfgang