bekomme waitsame nicht hin

Begonnen von JensS, 03 Mai 2016, 23:09:34

Vorheriges Thema - Nächstes Thema

JensS

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
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Ellert

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.