FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Spezialtrick am 23 Februar 2017, 22:15:29

Titel: (Gelöst) DOIF Trigger auf Event statt Zustand
Beitrag von: Spezialtrick am 23 Februar 2017, 22:15:29
Hallo,

ich habe Probleme bei der Erstellung eines DOIFs. Ich würde gerne eine HM-RC-SEC4-2 mit DOIF abbilden, um damit meine Alarmanlage in die unterschiedlichen Modi zu schalten. Die Fernbedienung hat vier Tasten, von denen drei für mich relevant sind. Jede Taste sendet ON bzw. OFF. Ich würde gerne unabhängig davon immer die gleiche Aktion ausführen. Leider funktioniert es nicht so recht:


([HM_Vir_RC_ARM_1_Arm_Away:state] eq "ON|OFF") (set HM_4F5A0F_Arm alarmLevel armAll) DOELSE
([HM_Vir_RC_ARM_1_Home_Night:state] eq "ON|OFF") (set HM_4F5A0F_Arm alarmLevel armExtSens) DOELSE
([HM_Vir_RC_ARM_1_Disarm_Cancel:state] eq "ON|OFF") (set HM_4F5A0F_Arm alarmLevel disarmed)


Es funktioniert nur die erste Funktion. Das Problem liegt darin, dass die Bedingung immer zutrifft und daher niemals die anderen geprüft werden. Leider habe ich keine Idee, wie man das lösen könnte.

Hat jemand eine Idee?
Titel: Antw:HM-RC-SEC4-2 mit DOIF abbilden - Unabhängig von OF/OFF
Beitrag von: Brockmann am 24 Februar 2017, 09:41:33
Du solltest auf das Event und nicht den Status triggern. Das Event ist immer nur in dem Moment wahr, wo der Knopf gedrückt wird.


([HM_Vir_RC_ARM_1_Arm_Away:"ON|OFF"]) (set HM_4F5A0F_Arm alarmLevel armAll) DOELSE
([HM_Vir_RC_ARM_1_Home_Night:"ON|OFF"]) (set HM_4F5A0F_Arm alarmLevel armExtSens) DOELSE
([HM_Vir_RC_ARM_1_Disarm_Cancel:"ON|OFF"]) (set HM_4F5A0F_Arm alarmLevel disarmed)

Ungetestet und ohne Gewähr
Titel: Antw:HM-RC-SEC4-2 mit DOIF abbilden - Unabhängig von OF/OFF
Beitrag von: Spezialtrick am 24 Februar 2017, 20:43:39
Zitat von: Brockmann am 24 Februar 2017, 09:41:33
Du solltest auf das Event und nicht den Status triggern. Das Event ist immer nur in dem Moment wahr, wo der Knopf gedrückt wird.

Vielen Dank für den Tipp, wusste leider nicht wie man das realisiert.  :D

Es hat auch mit einer kleineren Änderung (DOELSEIF statt DOELSE) funktioniert:

([HM_Vir_RC_ARM_1_Arm_Away:"ON|OFF"]) (set HM_4F5A0F_Arm alarmLevel armAll) DOELSEIF
([HM_Vir_RC_ARM_1_Home_Night:"ON|OFF"]) (set HM_4F5A0F_Arm alarmLevel armExtSens) DOELSEIF
([HM_Vir_RC_ARM_1_Disarm_Cancel:"ON|OFF"]) (set HM_4F5A0F_Arm alarmLevel disarmed)
Titel: Antw:HM-RC-SEC4-2 mit DOIF abbilden - Unabhängig von OF/OFF
Beitrag von: Per am 27 Februar 2017, 15:40:13
Zitat von: Spezialtrick am 24 Februar 2017, 20:43:39Es hat auch mit einer kleineren Änderung (DOELSEIF statt DOELSE) funktioniert:
Gab das vorher keine Fehlermeldung? Zweimal DOELSE kann es eigentlich nicht geben. Und das direkt nach DOELSE sollte er als Befehl erkennen und auch so auswerten wollen. Also noch eine Fehlermeldung.