DOIF mehrere Bedingungen erfüllt

Begonnen von StephanFHEM, 23 April 2017, 15:50:08

Vorheriges Thema - Nächstes Thema

StephanFHEM

Hallo,

ich habe bisher für jedes Fenster/Tür eine eigene DOIF-Bedingungen die bei aktivem Alarm und Fenster-Öffnung eine Text-Nachricht sender. Wenn ich den Alarm einschalte bekomme ich auch direkt alle aktuell offenen Fenster genannt.
Diese DOIFs wollte ich jetzt in einem DOIF zusammen fassen. Das klappt auch soweit aber was ich jetzt nicht mehr erhalte sind die offenen Fenster bei Aktivierung des Alarms. Kann es sein, dass DOIF nur einen Zweig ausführt beim Scharf Schalten des Alarms? Kann man das irgendwie umstellen? Komme da nicht richtig weiter...

aktuell sieht es Beispielhaft so aus:
([Kamera_Alarm] eq "on" and [Bad_Fenster:state] eq "open")(set TB message Alarm - {(AttrVal("$DEVICE","alias", "$DEVICE"))} geöffnet)
DOELSEIF
([Kamera_Alarm] eq "on" and [Wohnzimmer_Fenster:state] eq "open")(set TB message Alarm - {(AttrVal("$DEVICE","alias", "$DEVICE"))} geöffnet)
DOELSEIF
([Kamera_Alarm] eq "on" and [Kueche_Fenster:state] eq "open")(set TB message Alarm - {(AttrVal("$DEVICE","alias", "$DEVICE"))} geöffnet)


PS: Ich wollte auch gerne die Sensoren alla "_Fenster$:state" zusammenfassen, hab aber nach diversen Fehlversuchen schon irgendwo gefunden, dass es nicht gehen soll.... ist das korrekt?

Damian

Zitat von: StephanFHEM am 23 April 2017, 15:50:08
Hallo,

ich habe bisher für jedes Fenster/Tür eine eigene DOIF-Bedingungen die bei aktivem Alarm und Fenster-Öffnung eine Text-Nachricht sender. Wenn ich den Alarm einschalte bekomme ich auch direkt alle aktuell offenen Fenster genannt.
Diese DOIFs wollte ich jetzt in einem DOIF zusammen fassen. Das klappt auch soweit aber was ich jetzt nicht mehr erhalte sind die offenen Fenster bei Aktivierung des Alarms. Kann es sein, dass DOIF nur einen Zweig ausführt beim Scharf Schalten des Alarms? Kann man das irgendwie umstellen? Komme da nicht richtig weiter...

aktuell sieht es Beispielhaft so aus:
([Kamera_Alarm] eq "on" and [Bad_Fenster:state] eq "open")(set TB message Alarm - {(AttrVal("$DEVICE","alias", "$DEVICE"))} geöffnet)
DOELSEIF
([Kamera_Alarm] eq "on" and [Wohnzimmer_Fenster:state] eq "open")(set TB message Alarm - {(AttrVal("$DEVICE","alias", "$DEVICE"))} geöffnet)
DOELSEIF
([Kamera_Alarm] eq "on" and [Kueche_Fenster:state] eq "open")(set TB message Alarm - {(AttrVal("$DEVICE","alias", "$DEVICE"))} geöffnet)


PS: Ich wollte auch gerne die Sensoren alla "_Fenster$:state" zusammenfassen, hab aber nach diversen Fehlversuchen schon irgendwo gefunden, dass es nicht gehen soll.... ist das korrekt?

ggf. ist die Aggregationsfunktion etwas für dich, siehe https://forum.fhem.de/index.php/topic,70624.msg621112.html#msg621112
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

StephanFHEM

Damit klappt es! Vielen Dank!

([Kamera_Alarm] eq "on" and ([#"_Fenster$|_Tuer$:open$":state:"open"] != 0))(set TB message [...] Alarm - {(AttrVal("$DEVICE","alias", "$DEVICE"))} geöffnet)
DOELSEIF
([Kamera_Alarm] eq "on" and ([#"_Fenster$|_Tuer$:open$":state:"open"] == 0))(set TB message [...] Alarm - Routine-Check - Fenster und Türen geschlossen)

Damian

Zitat von: StephanFHEM am 24 April 2017, 17:36:10
Damit klappt es! Vielen Dank!

([Kamera_Alarm] eq "on" and ([#"_Fenster$|_Tuer$:open$":state:"open"] != 0))(set TB message [...] Alarm - {(AttrVal("$DEVICE","alias", "$DEVICE"))} geöffnet)
DOELSEIF
([Kamera_Alarm] eq "on" and ([#"_Fenster$|_Tuer$:open$":state:"open"] == 0))(set TB message [...] Alarm - Routine-Check - Fenster und Türen geschlossen)


Schön, wenn die neue Funktionalität bereits schon am ersten Tag Einsatz findet :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF