Hallo,
für meine Einbruchsdetektierung habe ich an den Fenstern jeweils einen Alarmkontakt, der per FRM_IN ausgelesen wird. Schließt der Alarmkontakt, wird ein DOIF angesprochen, welches dann noch die Stati von zwei dummys (Alarmanlage und LED_dummy) prüft und ggf. einen Alarm auslöst.
define ALARM_Programm_1 DOIF ([Alarmkontakt_1] eq "on" and [Alarmanlage] eq "on" and [LED_dummy_1] eq "on")(setreading Alarmdevice state Die Terrassentür, set Alarm on)
Das funktioniert auch. Aus irgendwelchen Gründen kommt es manchmal zu Fehlalarmen, wenn z.B. eine Leuchtstofflampe ausgeschaltet wird. Nun denke ich, dass es sich um einen kurzen Impuls durch eine Induktion handelt. Um den Fehlalarm zu umgehen, wollte ich nun dem DOIF ein waitsame 1 sowie ein do always verpassen. Sobald ich das tue, wird gar kein Alarm mehr ausgelöst. Gibt es irgendwelche Besonderheiten zu waitsame bezüglich FRM_IN?
Gruß Jens
waitsame wartet immer, dass eine Bedingung ein zweites Mal wahr wird.
Versuche es mal wait 1 und DOELSEIF ([Alarmkontakt_1] eq "off")
, dann wird wait zurückgesetzt, wenn der Alarmkontakt auf "off" schaltet.