Ich habe folgendes DOIF
([Sensor1] ne "geschlossen" and [Anwesenheit] eq "off") (set Alarmdummy on)
DOELSEIF
([Sensor2] ne "geschlossen" and [Anwesenheit] eq "off") (set Alarmdummy on)
DOELSEIF
([Sensor3] ne "geschlossen" and [Anwesenheit] eq "off") (set Alarmdummy on)
attr wait 90:90:0
Ziel ist es, Alarm auszulösen, wenn keiner anwesend ist und Sensoren ausgelöst werden. Bei Sensor 3 soll der Alarm sofort ausgelöst werden, bei den Sensoren 1 und 2 soll 90 Sekunden gewartet werden, bevor der Alarm ausgelöst wird. Sollte innerhalb der 90 Sekunden die Anwesenheit ihren Status von off auf on ändern, soll KEIN Alarm ausgelöst werden. Leider wird in jedem Fall Alarm ausgelöst (bei Sensor 1 und 2 eben nur um 90 Sekunden verzögert). Habe ich da etwas falsch verstanden. Theoretisch sollte das doch mit DOIF allein machbar sein. Das es das Modul Treshhold gibt, weiß ich, dachte aber verstanden zu haben, das man auch ohne auskäme.
Zitat von: der_da am 29 April 2016, 12:40:34Habe ich da etwas falsch verstanden.
In deinem DOIF-Konstrukt wird das "on" nicht abgefragt, daher wird auch nix zurückgesetzt.
Ah - OK,
also sowas wie
DOELSEIF
([Anwesenheit] eq "on") (tu gar nix)
Kann ich (tu gar nix) auch weg lassen?
Zweimal "ja".
Wg. gleicher wait-Dauer kannst du Sensor1 und Sensor2 mittels or zusammenfassen.