DOIF für Alarmanlage löst immer aus

Begonnen von Tueftler1983, 01 September 2023, 18:26:16

Vorheriges Thema - Nächstes Thema

Tueftler1983

Hallo zusammen,

Ich habe im Schrebergarten eine Alarmanlage gebaut, 6 Sensoren, 1 Sirene, 1 Schaltstelle via RFID, Zusätzlich meldungen der Zustände via Telegram und Jeder Sensor soll über einen Eigenen Dummy Deaktiviert werden können.

Bis ich angefangen habe die Dummys zum Deaktivieren mit ein zu binden funktionierte die Alarmanlage soweit, aber seiddem springt sie auch wenn sie eigentlich Deaktiviert ist beim auslösen eines Sensors auf Alarm.

Denke das ich da in der Denkweise im DOIF einen Fehler habe.


define Alarmanlage_Schalten DOIF ([Alarmanlage_Ein_Aus] eq "on" and ([Aussentuere] eq "offen" and [d_AussenTuer_deaktivieren] eq "off") or ([Innentuere] eq "offen" and [d_InnenTuer_deaktivieren] eq "off") or ([Fenster_links] eq "offen" and [d_Fenster_links_deaktivieren] eq "off") or ([Fenster_rechts] eq "offen" and [d_Fenster_rechts_deaktivieren] eq "off") or ([Bewegungsmelder_Vorraum:Switch] eq "on" and [d_BewegungsmelderVorraum_deaktivren] eq "off") or ([Bewegungsmelder_Hauptraum] eq "true" and [d_BewgungsmelderInnen_deaktivieren] eq "off"))(set Alarmanlage_Alarm on)(set ThomasFhem message @xxxxxxxxx $DEVICE hat den Alarm ausgelöst)(set ESPEasy_RFID_RGB neopixel 1 200 000 000)(set ESPEasy_RFID_OLED oledframedcmd 3 Alarm_ausgelöst)(set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE) \
DOELSEIF ([Alarmanlage_Ein_Aus] eq "off") (set Alarmanlage unscharf)(set ThomasFhem silentmsg @xxxxxxxxx Alarmanlage unscharf) (set Alarmanlage_Alarm off)(set ESPEasy_RFID_RGB neopixel 1 000 200 000)(set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage unscharf")(set ESPEasy_RFID_OLED oledframedcmd 4) \
DOELSEIF (([Aussentuere] eq "geschlossen" or [d_AussenTuer_deaktivieren] eq "on") and ([Innentuere] eq "geschlossen" or [d_InnenTuer_deaktivieren] eq "on") and ([Fenster_links] eq "geschlossen" or [d_Fenster_links_deaktivieren] eq "on") and ([Fenster_rechts] eq "geschlossen" or [d_Fenster_rechts_deaktivieren] eq "on") and ([Bewegungsmelder_Vorraum:Switch] eq "off" or [d_BewgungsmelderVorraum_deaktivieren] eq "on") and ([Bewegungsmelder_Hauptraum] eq "false" or [d_BewgungsmelderInnen_deaktivieren] eq "on") and [Alarmanlage_Alarm] eq "off" and [Alarmanlage_Ein_Aus] eq "on") (set Alarmanlage scharf)(set Alarmanlage_Alarm off)(set ThomasFhem silentmsg @xxxxxxxxx Alarmanlage ist scharf)(set ESPEasy_RFID_RGB neopixel 1 000 000 200) (set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage scharf")(set ESPEasy_RFID_OLED oledframedcmd 4) \
DOELSEIF ([Alarmanlage_Ein_Aus] eq "on" and [Alarmanlage] eq "unscharf" and ([Aussentuere] eq "offen" or [Innentuere] eq "offen" or [Fenster_links] eq "offen" or [Fenster_rechts] eq "offen" or [Bewegungsmelder_Vorraum:Switch] eq "on")) (set ThomasFhem message @xxxxxxxxx $DEVICE geöffnet bitte schlißen zum scharf schalten) (set ESPEasy_RFID_RGB neopixel 1 200 200 200)(set ESPEasy_RFID_OLED oledframedcmd 3 "Scharfschalten Failed")(set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE)
attr Alarmanlage_Schalten room Alarmanlage
#  DEF        ([Alarmanlage_Ein_Aus] eq "on" and ([Aussentuere] eq "offen" and [d_AussenTuer_deaktivieren] eq "off") or ([Innentuere] eq "offen" and [d_InnenTuer_deaktivieren] eq "off") or ([Fenster_links] eq "offen" and [d_Fenster_links_deaktivieren] eq "off") or ([Fenster_rechts] eq "offen" and [d_Fenster_rechts_deaktivieren] eq "off") or ([Bewegungsmelder_Vorraum:Switch] eq "on" and [d_BewegungsmelderVorraum_deaktivren] eq "off") or ([Bewegungsmelder_Hauptraum] eq "true" and [d_BewgungsmelderInnen_deaktivieren] eq "off"))(set Alarmanlage_Alarm on)(set ThomasFhem message @xxxxxxxxx $DEVICE hat den Alarm ausgelöst)(set ESPEasy_RFID_RGB neopixel 1 200 000 000)(set ESPEasy_RFID_OLED oledframedcmd 3 Alarm_ausgelöst)(set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE)
#DOELSEIF ([Alarmanlage_Ein_Aus] eq "off") (set Alarmanlage unscharf)(set ThomasFhem silentmsg @xxxxxxxxx Alarmanlage unscharf) (set Alarmanlage_Alarm off)(set ESPEasy_RFID_RGB neopixel 1 000 200 000)(set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage unscharf")(set ESPEasy_RFID_OLED oledframedcmd 4)
#DOELSEIF (([Aussentuere] eq "geschlossen" or [d_AussenTuer_deaktivieren] eq "on") and ([Innentuere] eq "geschlossen" or [d_InnenTuer_deaktivieren] eq "on") and ([Fenster_links] eq "geschlossen" or [d_Fenster_links_deaktivieren] eq "on") and ([Fenster_rechts] eq "geschlossen" or [d_Fenster_rechts_deaktivieren] eq "on") and ([Bewegungsmelder_Vorraum:Switch] eq "off" or [d_BewgungsmelderVorraum_deaktivieren] eq "on") and ([Bewegungsmelder_Hauptraum] eq "false" or [d_BewgungsmelderInnen_deaktivieren] eq "on") and [Alarmanlage_Alarm] eq "off" and [Alarmanlage_Ein_Aus] eq "on") (set Alarmanlage scharf)(set Alarmanlage_Alarm off)(set ThomasFhem silentmsg @xxxxxxxxx Alarmanlage ist scharf)(set ESPEasy_RFID_RGB neopixel 1 000 000 200) (set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage scharf")(set ESPEasy_RFID_OLED oledframedcmd 4)
#DOELSEIF ([Alarmanlage_Ein_Aus] eq "on" and [Alarmanlage] eq "unscharf" and ([Aussentuere] eq "offen" or [Innentuere] eq "offen" or [Fenster_links] eq "offen" or [Fenster_rechts] eq "offen" or [Bewegungsmelder_Vorraum:Switch] eq "on")) (set ThomasFhem message @xxxxxxxxx $DEVICE geöffnet bitte schlißen zum scharf schalten) (set ESPEasy_RFID_RGB neopixel 1 200 200 200)(set ESPEasy_RFID_OLED oledframedcmd 3 "Scharfschalten Failed")(set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE)
#  FUUID      63539335-f33f-b458-3b1f-3429535f7fbdfe0c
#  MODEL      FHEM
#  NAME      Alarmanlage_Schalten
#  NOTIFYDEV  Fenster_rechts,Aussentuere,d_BewgungsmelderVorraum_deaktivieren,d_Fenster_links_deaktivieren,Innentuere,d_AussenTuer_deaktivieren,d_Fenster_rechts_deaktivieren,Bewegungsmelder_Hauptraum,Alarmanlage_Alarm,Alarmanlage,global,d_InnenTuer_deaktivieren,d_BewgungsmelderInnen_deaktivieren,d_BewegungsmelderVorraum_deaktivren,Bewegungsmelder_Vorraum,Alarmanlage_Ein_Aus,Fenster_links
#  NR        67
#  NTFY_ORDER 50-Alarmanlage_Schalten
#  STATE      disabled
#  TYPE      DOIF
#  VERSION    27740 2023-07-10 09:31:11
#  eventCount 441
#  READINGS:
#    2023-09-01 18:02:53  Device          Bewegungsmelder_Vorraum
#    2023-09-01 18:02:28  cmd            1.5
#    2023-09-01 18:02:28  cmd_event      Bewegungsmelder_Hauptraum
#    2023-09-01 18:02:28  cmd_nr          1
#    2023-09-01 18:02:28  cmd_seqnr      5
#    2023-09-01 18:02:45  e_Alarmanlage_Alarm_STATE off
#    2023-09-01 18:02:49  e_Alarmanlage_Ein_Aus_STATE off
#    2023-09-01 18:02:41  e_Bewegungsmelder_Hauptraum_STATE true
#    2023-09-01 18:02:53  e_Bewegungsmelder_Vorraum_Switch off
#    2023-09-01 18:03:02  last_cmd        cmd_1
#    2023-09-01 18:03:02  mode            disabled
#    2023-09-01 18:03:02  state          disabled
#  Regex:
#    accu:
#    bar:
#    barAvg:
#    collect:
#    cond:
#      Alarmanlage:
#        3:
#          &STATE    ^Alarmanlage$
#      Alarmanlage_Alarm:
#        0:
#        1:
#        2:
#          &STATE    ^Alarmanlage_Alarm$
#        3:
#      Alarmanlage_Ein_Aus:
#        0:
#          &STATE    ^Alarmanlage_Ein_Aus$
#        1:
#          &STATE    ^Alarmanlage_Ein_Aus$
#        2:
#          &STATE    ^Alarmanlage_Ein_Aus$
#        3:
#          &STATE    ^Alarmanlage_Ein_Aus$
#      Aussentuere:
#        0:
#          &STATE    ^Aussentuere$
#        2:
#          &STATE    ^Aussentuere$
#        3:
#          &STATE    ^Aussentuere$
#      Bewegungsmelder_Hauptraum:
#        0:
#          &STATE    ^Bewegungsmelder_Hauptraum$
#        2:
#          &STATE    ^Bewegungsmelder_Hauptraum$
#      Bewegungsmelder_Vorraum:
#        0:
#          Switch    ^Bewegungsmelder_Vorraum$:^Switch:
#        2:
#          Switch    ^Bewegungsmelder_Vorraum$:^Switch:
#        3:
#          Switch    ^Bewegungsmelder_Vorraum$:^Switch:
#      Fenster_links:
#        0:
#          &STATE    ^Fenster_links$
#        2:
#          &STATE    ^Fenster_links$
#        3:
#          &STATE    ^Fenster_links$
#      Fenster_rechts:
#        0:
#          &STATE    ^Fenster_rechts$
#        2:
#          &STATE    ^Fenster_rechts$
#        3:
#          &STATE    ^Fenster_rechts$
#      Innentuere:
#        0:
#          &STATE    ^Innentuere$
#        2:
#          &STATE    ^Innentuere$
#        3:
#          &STATE    ^Innentuere$
#      d_AussenTuer_deaktivieren:
#        0:
#          &STATE    ^d_AussenTuer_deaktivieren$
#        2:
#          &STATE    ^d_AussenTuer_deaktivieren$
#      d_BewegungsmelderVorraum_deaktivren:
#        0:
#          &STATE    ^d_BewegungsmelderVorraum_deaktivren$
#      d_BewgungsmelderInnen_deaktivieren:
#        0:
#          &STATE    ^d_BewgungsmelderInnen_deaktivieren$
#        2:
#          &STATE    ^d_BewgungsmelderInnen_deaktivieren$
#      d_BewgungsmelderVorraum_deaktivieren:
#        2:
#          &STATE    ^d_BewgungsmelderVorraum_deaktivieren$
#      d_Fenster_links_deaktivieren:
#        0:
#          &STATE    ^d_Fenster_links_deaktivieren$
#        2:
#          &STATE    ^d_Fenster_links_deaktivieren$
#      d_Fenster_rechts_deaktivieren:
#        0:
#          &STATE    ^d_Fenster_rechts_deaktivieren$
#        2:
#          &STATE    ^d_Fenster_rechts_deaktivieren$
#      d_InnenTuer_deaktivieren:
#        0:
#          &STATE    ^d_InnenTuer_deaktivieren$
#        2:
#          &STATE    ^d_InnenTuer_deaktivieren$
#  attr:
#    cmdState:
#    wait:
#    waitdel:
#  condition:
#    0          ::InternalDoIf($hash,'Alarmanlage_Ein_Aus','STATE') eq "on" and (::InternalDoIf($hash,'Aussentuere','STATE') eq "offen" and ::InternalDoIf($hash,'d_AussenTuer_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Innentuere','STATE') eq "offen" and ::InternalDoIf($hash,'d_InnenTuer_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Fenster_links','STATE') eq "offen" and ::InternalDoIf($hash,'d_Fenster_links_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Fenster_rechts','STATE') eq "offen" and ::InternalDoIf($hash,'d_Fenster_rechts_deaktivieren','STATE') eq "off") or (::ReadingValDoIf($hash,'Bewegungsmelder_Vorraum','Switch') eq "on" and ::InternalDoIf($hash,'d_BewegungsmelderVorraum_deaktivren','STATE') eq "off") or (::InternalDoIf($hash,'Bewegungsmelder_Hauptraum','STATE') eq "true" and ::InternalDoIf($hash,'d_BewgungsmelderInnen_deaktivieren','STATE') eq "off")
#    1          ::InternalDoIf($hash,'Alarmanlage_Ein_Aus','STATE') eq "off"
#    2          (::InternalDoIf($hash,'Aussentuere','STATE') eq "geschlossen" or ::InternalDoIf($hash,'d_AussenTuer_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Innentuere','STATE') eq "geschlossen" or ::InternalDoIf($hash,'d_InnenTuer_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Fenster_links','STATE') eq "geschlossen" or ::InternalDoIf($hash,'d_Fenster_links_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Fenster_rechts','STATE') eq "geschlossen" or ::InternalDoIf($hash,'d_Fenster_rechts_deaktivieren','STATE') eq "on") and (::ReadingValDoIf($hash,'Bewegungsmelder_Vorraum','Switch') eq "off" or ::InternalDoIf($hash,'d_BewgungsmelderVorraum_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Bewegungsmelder_Hauptraum','STATE') eq "false" or ::InternalDoIf($hash,'d_BewgungsmelderInnen_deaktivieren','STATE') eq "on") and ::InternalDoIf($hash,'Alarmanlage_Alarm','STATE') eq "off" and ::InternalDoIf($hash,'Alarmanlage_Ein_Aus','STATE') eq "on"
#    3          ::InternalDoIf($hash,'Alarmanlage_Ein_Aus','STATE') eq "on" and ::InternalDoIf($hash,'Alarmanlage','STATE') eq "unscharf" and (::InternalDoIf($hash,'Aussentuere','STATE') eq "offen" or ::InternalDoIf($hash,'Innentuere','STATE') eq "offen" or ::InternalDoIf($hash,'Fenster_links','STATE') eq "offen" or ::InternalDoIf($hash,'Fenster_rechts','STATE') eq "offen" or ::ReadingValDoIf($hash,'Bewegungsmelder_Vorraum','Switch') eq "on")
#  do:
#    0:
#      0          set Alarmanlage_Alarm on
#      1          set ThomasFhem message @269995180 @xxxxxxxxx $DEVICE hat den Alarm ausgelöst
#      2          set ESPEasy_RFID_RGB neopixel 1 200 000 000
#      3          set ESPEasy_RFID_OLED oledframedcmd 3 Alarm_ausgelöst
#      4          set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE
#    1:
#      0          set Alarmanlage unscharf
#      1          set ThomasFhem silentmsg @xxxxxxxxx Alarmanlage unscharf
#      2          set Alarmanlage_Alarm off
#      3          set ESPEasy_RFID_RGB neopixel 1 000 200 000
#      4          set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage unscharf"
#      5          set ESPEasy_RFID_OLED oledframedcmd 4
#    2:
#      0          set Alarmanlage scharf
#      1          set Alarmanlage_Alarm off
#      2          set ThomasFhem silentmsg @xxxxxxxxx Alarmanlage ist scharf
#      3          set ESPEasy_RFID_RGB neopixel 1 000 000 200
#      4          set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage scharf"
#      5          set ESPEasy_RFID_OLED oledframedcmd 4
#    3:
#      0          set ThomasFhem message @xxxxxxxxx $DEVICE geöffnet bitte schlißen zum scharf schalten
#      1          set ESPEasy_RFID_RGB neopixel 1 200 200 200
#      2          set ESPEasy_RFID_OLED oledframedcmd 3 "Scharfschalten Failed"
#      3          set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE
#    4:
#  helper:
#    NOTIFYDEV  Fenster_rechts,Aussentuere,d_BewgungsmelderVorraum_deaktivieren,d_Fenster_links_deaktivieren,Innentuere,d_AussenTuer_deaktivieren,d_Fenster_rechts_deaktivieren,Bewegungsmelder_Hauptraum,Alarmanlage_Alarm,Alarmanlage,global,d_InnenTuer_deaktivieren,d_BewgungsmelderInnen_deaktivieren,d_BewegungsmelderVorraum_deaktivren,Bewegungsmelder_Vorraum,Alarmanlage_Ein_Aus,Fenster_links
#    event      Switch: off
#    globalinit 1
#    last_timer 0
#    sleeptimer -1
#    timerdev  Bewegungsmelder_Vorraum
#    timerevent Switch: off
#    triggerDev Bewegungsmelder_Vorraum
#    timerevents:
#      Switch: off
#    timereventsState:
#      Switch: off
#    triggerEvents:
#      Switch: off
#    triggerEventsState:
#      Switch: off
#  internals:
#    all        Alarmanlage_Ein_Aus:STATE Aussentuere:STATE d_AussenTuer_deaktivieren:STATE Innentuere:STATE d_InnenTuer_deaktivieren:STATE Fenster_links:STATE d_Fenster_links_deaktivieren:STATE Fenster_rechts:STATE d_Fenster_rechts_deaktivieren:STATE d_BewegungsmelderVorraum_deaktivren:STATE Bewegungsmelder_Hauptraum:STATE d_BewgungsmelderInnen_deaktivieren:STATE d_BewgungsmelderVorraum_deaktivieren:STATE Alarmanlage_Alarm:STATE Alarmanlage:STATE
#  readings:
#    all        Bewegungsmelder_Vorraum:Switch
#  trigger:
#  uiState:
#  uiTable:
#
setstate Alarmanlage_Schalten disabled
setstate Alarmanlage_Schalten 2023-09-01 18:02:53 Device Bewegungsmelder_Vorraum
setstate Alarmanlage_Schalten 2023-09-01 18:02:28 cmd 1.5
setstate Alarmanlage_Schalten 2023-09-01 18:02:28 cmd_event Bewegungsmelder_Hauptraum
setstate Alarmanlage_Schalten 2023-09-01 18:02:28 cmd_nr 1
setstate Alarmanlage_Schalten 2023-09-01 18:02:28 cmd_seqnr 5
setstate Alarmanlage_Schalten 2023-09-01 18:02:45 e_Alarmanlage_Alarm_STATE off
setstate Alarmanlage_Schalten 2023-09-01 18:02:49 e_Alarmanlage_Ein_Aus_STATE off
setstate Alarmanlage_Schalten 2023-09-01 18:02:41 e_Bewegungsmelder_Hauptraum_STATE true
setstate Alarmanlage_Schalten 2023-09-01 18:02:53 e_Bewegungsmelder_Vorraum_Switch off
setstate Alarmanlage_Schalten 2023-09-01 18:03:02 last_cmd cmd_1
setstate Alarmanlage_Schalten 2023-09-01 18:03:02 mode disabled
setstate Alarmanlage_Schalten 2023-09-01 18:03:02 state disabled


Hoffe ihr könnt mir helfen, lieben dank

betateilchen

Stell Dir vor, es gäbe einen eigenen Forumbereich für DOIF - wäre das nicht ein Traum?

Nun, manche Träume werden durchaus wahr...
-----------------------
Mach es möglichst simpel und mach es richtig,
dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tueftler1983

Sorry hatte im DOIF bereich gelesen und dachte eig auch ich hätte da Gepostet.
war keine absicht

RalfRog

#3
Du arbeitest nicht im Perl-Modus  => nur so als Feststellung.

So ganz schnell fällt mir ein, dass es immer heisst: ein AND in der Bedingung funktioniert nicht
=> "([Alarmanlage_Ein_Aus] eq "on" and ([Aussentuere] eq "offen" and [d_AussenTuer_deaktivieren] eq "off")"
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

Tueftler1983

Verstehe ich nicht, wieso funktioniert ein and nicht?

RalfRog

Zitat von: Tueftler1983 am 01 September 2023, 19:04:50Verstehe ich nicht, wieso funktioniert ein and nicht?

Bin da nicht wirklich sattelfest...  aber wenn <[Alarmanlage_Ein_Aus] eq "on"> wahr wird und

=> merke gerade das mir die Erklärung nicht wirklich leicht fällt/ einfällt.
  Hatte es nur so abgespeichert, da es schon öfter mal ein Thema bei nicht funktionierenden DOIF war.
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

Tueftler1983

habe grade das gefunden

Anwendungsbeispiel: Licht soll zwischen 06:00 und 10:00 angehen, getriggert wird nur durch den Taster nicht um 06:00 bzw. 10:00 Uhr und nicht durch das Device Home

define di_motion DOIF ([?06:00-10:00] and [button] and [?Home] eq "present")(set lamp on-for-timer 600)
attr di_motion do always

das heißt glaube ich das ich bei den Bedingungen die zwar da sein müssen aber nicht Triggern dürfen ein ? vor den Devicenamen setzen muss

RalfRog

Zitat von: Tueftler1983 am 01 September 2023, 19:17:03das heißt glaube ich das ich bei den Bedingungen die zwar da sein müssen aber nicht Triggern dürfen ein ? vor den Devicenamen setzen muss

Könnte der Weg sein.
Ich denke du musst darauf achten, dass nicht zwei Events mit AND verknüpft sind. Die treten ja nicht gleichzeitig ein.
Ein Event und der Rest nur Zustände.
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

Damian

DOIF unterscheidet zwischen Reading-Triggern und reinen Event-Triggern.

Reading-Trigger [device:reading] liefern ja auch den Inhalt eines Readings, daher kann man sie zu jedem Zeitpunkt abfragen. Event-Trigger können nur wahr oder falsch sein -  die Angaben beinhalten Anführungszeichen.

Deswegen macht es wenig Sinn zwei Event-Trigger mit AND zu verknüpfen, da immer nur ein Event zu einem Zeitpunkt wahr sein kann.

Du hast bei dir Readingangaben, daher sollte AND kein Problem sein. Man kann natürlich mit ? Trigger eines Reading herausnehmen, wenn man ihn nicht braucht.




Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per

Ein paar Anmerkungen:
Ich (!) würde immer Klammern setzen um and und or, dann verliere ich nicht (so schnell) den Überblick. Und statt Dummys würde ich UserreAdings der entsprechenden Devices verwenden.
Und mit passender Namenskonvention kann man Abfrage extrem vereinfachen. Und wenn deine Dummys (oder "meine" Userreadings) nicht "on" und "off" nutzen, sondern ebenfalls "offen" und "geschlossen", kannst du nochmal vereinfachen.

Tueftler1983

Okay, habe ja versucht es mit Klammern übersichtlicher zu machen.

Verstehe halt nicht warum der Alarm ausgelöst wird obwohl Alarmanlage_Ein_Aus off ist. Da sollte dann eigentlich gar nix passieren.

Damian

Zitat von: Tueftler1983 am 02 September 2023, 20:24:16Okay, habe ja versucht es mit Klammern übersichtlicher zu machen.

Verstehe halt nicht warum der Alarm ausgelöst wird obwohl Alarmanlage_Ein_Aus off ist. Da sollte dann eigentlich gar nix passieren.

Dann musst du schauen, welches Event führt zu Ausführung welches Zweiges und dir dann die Zustände der angegebenen Readings anschauen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per

Klammer mal alle Sensoren und ihre Dommys zusammen. Also
(schalter and ((sensore1 and Dummy1) or ... or (sensorN and DummyN)))

Tueftler1983

Okay das habe ich, scheint auch jetzt soweit zu laufen, finde das Alarm Modul ja super, aber da steige ich garnicht durch, habe da die Alarmanlage nie konfiguriert bekommen obwohl es wahrscheinlich sehr trivial ist.

Tueftler1983

Hier nochmal der aktuelle stand der bis jetzt auch zu funktionieren scheint

define Alarmanlage_Schalten DOIF ([?Alarmanlage_Ein_Aus] eq "on" and (([Aussentuere] eq "offen" and [d_AussenTuer_deaktivieren] eq "off") or ([Innentuere] eq "offen" and [d_InnenTuer_deaktivieren] eq "off") or ([Fenster_links] eq "offen" and [d_Fenster_links_deaktivieren] eq "off") or ([Fenster_rechts] eq "offen" and [d_Fenster_rechts_deaktivieren] eq "off") or ([Bewegungsmelder_Vorraum:Switch] eq "on" and [d_BewegungsmelderVorraum_deaktivieren] eq "off") or ([Bewegungsmelder_Hauptraum] eq "true" and [d_BewgungsmelderInnen_deaktivieren] eq "off") or ([Geraeteschuppen_Tuer] eq "on" and [d_Geraeteschuppen_Tuer_deaktivieren] eq "off") or ([Gewaechshaus_Tuer] eq "on" and [Gewaechshaus_Tuer_deaktivieren] eq "off")))(set Alarmanlage_Alarm on)(set ThomasFhem message @269995180 @5718095506 @6155520492 @6016215991 @6156434538 $DEVICE hat den Alarm ausgelöst)(set ESPEasy_RFID_RGB neopixel 1 200 000 000)(set ESPEasy_RFID_OLED oledframedcmd 3 Alarm_ausgelöst)(set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE) (set ESPEasy_Gong_NEO neopixel 1 200 000 000)(set d_MP3 select Einbruch)\
DOELSEIF ([Alarmanlage_Ein_Aus] eq "off") (set Alarmanlage unscharf)(set ThomasFhem silentmsg @269995180 @5718095506 @6155520492 @6016215991 @6156434538 Alarmanlage unscharf) (set Alarmanlage_Alarm off)(set ESPEasy_RFID_RGB neopixel 1 000 200 000)(set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage unscharf")(set ESPEasy_RFID_OLED oledframedcmd 4) (set ESPEasy_Gong_NEO neopixel 1 000 200 000)(set d_MP3 select Alarm_unscharf)\
DOELSEIF (([Alarmanlage_Alarm] eq "off" and [Alarmanlage_Ein_Aus] eq "on") and ([Aussentuere] eq "geschlossen" or [d_AussenTuer_deaktivieren] eq "on") and ([Innentuere] eq "geschlossen" or [d_InnenTuer_deaktivieren] eq "on") and ([Fenster_links] eq "geschlossen" or [d_Fenster_links_deaktivieren] eq "on") and ([Fenster_rechts] eq "geschlossen" or [d_Fenster_rechts_deaktivieren] eq "on") and ([Bewegungsmelder_Vorraum:Switch] eq "off" or [d_BewgungsmelderVorraum_deaktivieren] eq "on") and ([Bewegungsmelder_Hauptraum] eq "false" or [d_BewgungsmelderInnen_deaktivieren] eq "on") and ([Geraeteschuppen_Tuer] eq "off" \
or [d_Geraeteschuppen_Tuer_deaktivieren] eq "on") and ([Gewaechshaus_Tuer] eq "off" or [d_Gewaechshaus_Tuer_deaktivieren] eq "on")) (set Alarmanlage scharf)(set Alarmanlage_Alarm off)(set ThomasFhem silentmsg @269995180 @5718095506 @6155520492 @6016215991 @6156434538 Alarmanlage ist scharf)(set ESPEasy_RFID_RGB neopixel 1 000 000 200) (set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage scharf")(set ESPEasy_RFID_OLED oledframedcmd 4) (set ESPEasy_Gong_NEO neopixel 1 000 000 200)(set d_MP3 select Alarm_scharf)\
DOELSEIF (([Alarmanlage_Ein_Aus] eq "on" and [Alarmanlage] eq "unscharf") and (([Aussentuere] eq "offen" and [d_AussenTuer_deaktivieren] eq "off") or ([Innentuere] eq "offen" and [d_InnenTuer_deaktivieren] eq "off") or ([Fenster_links] eq "offen" and [d_Fenster_links_deaktivieren] eq "off") or ([Fenster_rechts] eq "offen" and [d_Fenster_rechts_deaktivieren] eq "off") or ([Bewegungsmelder_Vorraum:Switch] eq "on" and [d_BewegungsmelderVorraum_deaktivieren] eq "off") or ([Bewegungsmelder_Hauptraum] eq "true" and [d_BewgungsmelderInnen_deaktivieren] eq "off") or ([Geraeteschuppen_Tuer] eq "on" and [d_Geraeteschuppen_Tuer_deaktivieren] eq "off") or ([Gewaechshaus_Tuer] eq "on" and [d_Gewaechshaus_Tuer_deaktivieren] eq "off"))) (set ThomasFhem message @269995180 @5718095506  @6155520492 @6016215991 @6156434538 $DEVICE geöffnet bitte schlißen oder deaktivieren zum scharf schalten) (set ESPEasy_RFID_RGB neopixel 1 200 200 200)(set ESPEasy_RFID_OLED oledframedcmd 3 "Scharfschalten Failed")(set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE)(set ESPEasy_Gong_NEO neopixel 1 200 200 200)
attr Alarmanlage_Schalten devStateIcon cmd_2:status_open@green cmd_3:status_locked@blue cmd_1:message_attention@red cmd_4:message_info@orange
attr Alarmanlage_Schalten fp_Grundriss 1236,569,0,Alarmanlage_Schalten,
attr Alarmanlage_Schalten room Alarmanlage
#   DEF        ([?Alarmanlage_Ein_Aus] eq "on" and (([Aussentuere] eq "offen" and [d_AussenTuer_deaktivieren] eq "off") or ([Innentuere] eq "offen" and [d_InnenTuer_deaktivieren] eq "off") or ([Fenster_links] eq "offen" and [d_Fenster_links_deaktivieren] eq "off") or ([Fenster_rechts] eq "offen" and [d_Fenster_rechts_deaktivieren] eq "off") or ([Bewegungsmelder_Vorraum:Switch] eq "on" and [d_BewegungsmelderVorraum_deaktivieren] eq "off") or ([Bewegungsmelder_Hauptraum] eq "true" and [d_BewgungsmelderInnen_deaktivieren] eq "off") or ([Geraeteschuppen_Tuer] eq "on" and [d_Geraeteschuppen_Tuer_deaktivieren] eq "off") or ([Gewaechshaus_Tuer] eq "on" and [Gewaechshaus_Tuer_deaktivieren] eq "off")))(set Alarmanlage_Alarm on)(set ThomasFhem message @269995180 @5718095506 @6155520492 @6016215991 @6156434538 $DEVICE hat den Alarm ausgelöst)(set ESPEasy_RFID_RGB neopixel 1 200 000 000)(set ESPEasy_RFID_OLED oledframedcmd 3 Alarm_ausgelöst)(set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE) (set ESPEasy_Gong_NEO neopixel 1 200 000 000)(set d_MP3 select Einbruch)
#DOELSEIF ([Alarmanlage_Ein_Aus] eq "off") (set Alarmanlage unscharf)(set ThomasFhem silentmsg @269995180 @5718095506 @6155520492 @6016215991 @6156434538 Alarmanlage unscharf) (set Alarmanlage_Alarm off)(set ESPEasy_RFID_RGB neopixel 1 000 200 000)(set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage unscharf")(set ESPEasy_RFID_OLED oledframedcmd 4) (set ESPEasy_Gong_NEO neopixel 1 000 200 000)(set d_MP3 select Alarm_unscharf)
#DOELSEIF (([Alarmanlage_Alarm] eq "off" and [Alarmanlage_Ein_Aus] eq "on") and ([Aussentuere] eq "geschlossen" or [d_AussenTuer_deaktivieren] eq "on") and ([Innentuere] eq "geschlossen" or [d_InnenTuer_deaktivieren] eq "on") and ([Fenster_links] eq "geschlossen" or [d_Fenster_links_deaktivieren] eq "on") and ([Fenster_rechts] eq "geschlossen" or [d_Fenster_rechts_deaktivieren] eq "on") and ([Bewegungsmelder_Vorraum:Switch] eq "off" or [d_BewgungsmelderVorraum_deaktivieren] eq "on") and ([Bewegungsmelder_Hauptraum] eq "false" or [d_BewgungsmelderInnen_deaktivieren] eq "on") and ([Geraeteschuppen_Tuer] eq "off"
#or [d_Geraeteschuppen_Tuer_deaktivieren] eq "on") and ([Gewaechshaus_Tuer] eq "off" or [d_Gewaechshaus_Tuer_deaktivieren] eq "on")) (set Alarmanlage scharf)(set Alarmanlage_Alarm off)(set ThomasFhem silentmsg @269995180 @5718095506 @6155520492 @6016215991 @6156434538 Alarmanlage ist scharf)(set ESPEasy_RFID_RGB neopixel 1 000 000 200) (set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage scharf")(set ESPEasy_RFID_OLED oledframedcmd 4) (set ESPEasy_Gong_NEO neopixel 1 000 000 200)(set d_MP3 select Alarm_scharf)
#DOELSEIF (([Alarmanlage_Ein_Aus] eq "on" and [Alarmanlage] eq "unscharf") and (([Aussentuere] eq "offen" and [d_AussenTuer_deaktivieren] eq "off") or ([Innentuere] eq "offen" and [d_InnenTuer_deaktivieren] eq "off") or ([Fenster_links] eq "offen" and [d_Fenster_links_deaktivieren] eq "off") or ([Fenster_rechts] eq "offen" and [d_Fenster_rechts_deaktivieren] eq "off") or ([Bewegungsmelder_Vorraum:Switch] eq "on" and [d_BewegungsmelderVorraum_deaktivieren] eq "off") or ([Bewegungsmelder_Hauptraum] eq "true" and [d_BewgungsmelderInnen_deaktivieren] eq "off") or ([Geraeteschuppen_Tuer] eq "on" and [d_Geraeteschuppen_Tuer_deaktivieren] eq "off") or ([Gewaechshaus_Tuer] eq "on" and [d_Gewaechshaus_Tuer_deaktivieren] eq "off"))) (set ThomasFhem message @269995180 @5718095506  @6155520492 @6016215991 @6156434538 $DEVICE geöffnet bitte schlißen oder deaktivieren zum scharf schalten) (set ESPEasy_RFID_RGB neopixel 1 200 200 200)(set ESPEasy_RFID_OLED oledframedcmd 3 "Scharfschalten Failed")(set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE)(set ESPEasy_Gong_NEO neopixel 1 200 200 200)
#   FUUID      63539335-f33f-b458-3b1f-3429535f7fbdfe0c
#   MODEL      FHEM
#   NAME       Alarmanlage_Schalten
#   NOTIFYDEV  Geraeteschuppen_Tuer,d_AussenTuer_deaktivieren,Bewegungsmelder_Hauptraum,Alarmanlage_Alarm,Aussentuere,d_InnenTuer_deaktivieren,d_BewgungsmelderInnen_deaktivieren,Gewaechshaus_Tuer,Innentuere,Alarmanlage,d_Fenster_rechts_deaktivieren,Gewaechshaus_Tuer_deaktivieren,Fenster_rechts,Fenster_links,d_BewegungsmelderVorraum_deaktivieren,d_Fenster_links_deaktivieren,d_Gewaechshaus_Tuer_deaktivieren,global,Alarmanlage_Ein_Aus,d_Geraeteschuppen_Tuer_deaktivieren,d_BewgungsmelderVorraum_deaktivieren,Bewegungsmelder_Vorraum
#   NR         67
#   NTFY_ORDER 50-Alarmanlage_Schalten
#   STATE      initialized
#   TYPE       DOIF
#   VERSION    27740 2023-07-10 09:31:11
#   eventCount 1
#   READINGS:
#     2023-09-10 13:12:18   Device          Bewegungsmelder_Hauptraum
#     2023-09-10 07:35:42   cmd             0
#     2023-09-10 09:49:53   e_Aussentuere_STATE offen
#     2023-09-10 13:12:18   e_Bewegungsmelder_Hauptraum_STATE false
#     2023-09-10 13:11:21   e_Bewegungsmelder_Vorraum_Switch off
#     2023-09-10 10:47:17   e_Fenster_links_STATE geschlossen
#     2023-09-10 12:02:45   e_Fenster_rechts_STATE offen
#     2023-09-10 10:50:51   e_Innentuere_STATE offen
#     2023-09-10 07:35:42   mode            enabled
#     2023-09-10 07:35:42   state           initialized
#   Regex:
#     accu:
#     bar:
#     barAvg:
#     collect:
#     cond:
#       Alarmanlage:
#         3:
#           &STATE     ^Alarmanlage$
#       Alarmanlage_Alarm:
#         2:
#           &STATE     ^Alarmanlage_Alarm$
#       Alarmanlage_Ein_Aus:
#         1:
#           &STATE     ^Alarmanlage_Ein_Aus$
#         2:
#           &STATE     ^Alarmanlage_Ein_Aus$
#         3:
#           &STATE     ^Alarmanlage_Ein_Aus$
#       Aussentuere:
#         0:
#           &STATE     ^Aussentuere$
#         1:
#         2:
#           &STATE     ^Aussentuere$
#         3:
#           &STATE     ^Aussentuere$
#       Bewegungsmelder_Hauptraum:
#         0:
#           &STATE     ^Bewegungsmelder_Hauptraum$
#         1:
#         2:
#           &STATE     ^Bewegungsmelder_Hauptraum$
#         3:
#           &STATE     ^Bewegungsmelder_Hauptraum$
#       Bewegungsmelder_Vorraum:
#         0:
#           Switch     ^Bewegungsmelder_Vorraum$:^Switch:
#         1:
#         2:
#           Switch     ^Bewegungsmelder_Vorraum$:^Switch:
#         3:
#           Switch     ^Bewegungsmelder_Vorraum$:^Switch:
#       Fenster_links:
#         0:
#           &STATE     ^Fenster_links$
#         1:
#         2:
#           &STATE     ^Fenster_links$
#         3:
#           &STATE     ^Fenster_links$
#       Fenster_rechts:
#         0:
#           &STATE     ^Fenster_rechts$
#         1:
#         2:
#           &STATE     ^Fenster_rechts$
#         3:
#           &STATE     ^Fenster_rechts$
#       Geraeteschuppen_Tuer:
#         0:
#           &STATE     ^Geraeteschuppen_Tuer$
#         2:
#           &STATE     ^Geraeteschuppen_Tuer$
#         3:
#           &STATE     ^Geraeteschuppen_Tuer$
#       Gewaechshaus_Tuer:
#         0:
#           &STATE     ^Gewaechshaus_Tuer$
#         2:
#           &STATE     ^Gewaechshaus_Tuer$
#         3:
#           &STATE     ^Gewaechshaus_Tuer$
#       Gewaechshaus_Tuer_deaktivieren:
#         0:
#           &STATE     ^Gewaechshaus_Tuer_deaktivieren$
#       Innentuere:
#         0:
#           &STATE     ^Innentuere$
#         1:
#         2:
#           &STATE     ^Innentuere$
#         3:
#           &STATE     ^Innentuere$
#       d_AussenTuer_deaktivieren:
#         0:
#           &STATE     ^d_AussenTuer_deaktivieren$
#         2:
#           &STATE     ^d_AussenTuer_deaktivieren$
#         3:
#           &STATE     ^d_AussenTuer_deaktivieren$
#       d_BewegungsmelderVorraum_deaktivieren:
#         0:
#           &STATE     ^d_BewegungsmelderVorraum_deaktivieren$
#         3:
#           &STATE     ^d_BewegungsmelderVorraum_deaktivieren$
#       d_BewgungsmelderInnen_deaktivieren:
#         0:
#           &STATE     ^d_BewgungsmelderInnen_deaktivieren$
#         2:
#           &STATE     ^d_BewgungsmelderInnen_deaktivieren$
#         3:
#           &STATE     ^d_BewgungsmelderInnen_deaktivieren$
#       d_BewgungsmelderVorraum_deaktivieren:
#         2:
#           &STATE     ^d_BewgungsmelderVorraum_deaktivieren$
#       d_Fenster_links_deaktivieren:
#         0:
#           &STATE     ^d_Fenster_links_deaktivieren$
#         2:
#           &STATE     ^d_Fenster_links_deaktivieren$
#         3:
#           &STATE     ^d_Fenster_links_deaktivieren$
#       d_Fenster_rechts_deaktivieren:
#         0:
#           &STATE     ^d_Fenster_rechts_deaktivieren$
#         2:
#           &STATE     ^d_Fenster_rechts_deaktivieren$
#         3:
#           &STATE     ^d_Fenster_rechts_deaktivieren$
#       d_Geraeteschuppen_Tuer_deaktivieren:
#         0:
#           &STATE     ^d_Geraeteschuppen_Tuer_deaktivieren$
#         2:
#           &STATE     ^d_Geraeteschuppen_Tuer_deaktivieren$
#         3:
#           &STATE     ^d_Geraeteschuppen_Tuer_deaktivieren$
#       d_Gewaechshaus_Tuer_deaktivieren:
#         2:
#           &STATE     ^d_Gewaechshaus_Tuer_deaktivieren$
#         3:
#           &STATE     ^d_Gewaechshaus_Tuer_deaktivieren$
#       d_InnenTuer_deaktivieren:
#         0:
#           &STATE     ^d_InnenTuer_deaktivieren$
#         2:
#           &STATE     ^d_InnenTuer_deaktivieren$
#         3:
#           &STATE     ^d_InnenTuer_deaktivieren$
#   condition:
#     0          ::InternalDoIf($hash,'Alarmanlage_Ein_Aus','STATE') eq "on" and ((::InternalDoIf($hash,'Aussentuere','STATE') eq "offen" and ::InternalDoIf($hash,'d_AussenTuer_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Innentuere','STATE') eq "offen" and ::InternalDoIf($hash,'d_InnenTuer_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Fenster_links','STATE') eq "offen" and ::InternalDoIf($hash,'d_Fenster_links_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Fenster_rechts','STATE') eq "offen" and ::InternalDoIf($hash,'d_Fenster_rechts_deaktivieren','STATE') eq "off") or (::ReadingValDoIf($hash,'Bewegungsmelder_Vorraum','Switch') eq "on" and ::InternalDoIf($hash,'d_BewegungsmelderVorraum_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Bewegungsmelder_Hauptraum','STATE') eq "true" and ::InternalDoIf($hash,'d_BewgungsmelderInnen_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Geraeteschuppen_Tuer','STATE') eq "on" and ::InternalDoIf($hash,'d_Geraeteschuppen_Tuer_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Gewaechshaus_Tuer','STATE') eq "on" and ::InternalDoIf($hash,'Gewaechshaus_Tuer_deaktivieren','STATE') eq "off"))
#     1          ::InternalDoIf($hash,'Alarmanlage_Ein_Aus','STATE') eq "off"
#     2          (::InternalDoIf($hash,'Alarmanlage_Alarm','STATE') eq "off" and ::InternalDoIf($hash,'Alarmanlage_Ein_Aus','STATE') eq "on") and (::InternalDoIf($hash,'Aussentuere','STATE') eq "geschlossen" or ::InternalDoIf($hash,'d_AussenTuer_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Innentuere','STATE') eq "geschlossen" or ::InternalDoIf($hash,'d_InnenTuer_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Fenster_links','STATE') eq "geschlossen" or ::InternalDoIf($hash,'d_Fenster_links_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Fenster_rechts','STATE') eq "geschlossen" or ::InternalDoIf($hash,'d_Fenster_rechts_deaktivieren','STATE') eq "on") and (::ReadingValDoIf($hash,'Bewegungsmelder_Vorraum','Switch') eq "off" or ::InternalDoIf($hash,'d_BewgungsmelderVorraum_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Bewegungsmelder_Hauptraum','STATE') eq "false" or ::InternalDoIf($hash,'d_BewgungsmelderInnen_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Geraeteschuppen_Tuer','STATE') eq "off"  or ::InternalDoIf($hash,'d_Geraeteschuppen_Tuer_deaktivieren','STATE') eq "on") and (::InternalDoIf($hash,'Gewaechshaus_Tuer','STATE') eq "off" or ::InternalDoIf($hash,'d_Gewaechshaus_Tuer_deaktivieren','STATE') eq "on")
#     3          (::InternalDoIf($hash,'Alarmanlage_Ein_Aus','STATE') eq "on" and ::InternalDoIf($hash,'Alarmanlage','STATE') eq "unscharf") and ((::InternalDoIf($hash,'Aussentuere','STATE') eq "offen" and ::InternalDoIf($hash,'d_AussenTuer_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Innentuere','STATE') eq "offen" and ::InternalDoIf($hash,'d_InnenTuer_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Fenster_links','STATE') eq "offen" and ::InternalDoIf($hash,'d_Fenster_links_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Fenster_rechts','STATE') eq "offen" and ::InternalDoIf($hash,'d_Fenster_rechts_deaktivieren','STATE') eq "off") or (::ReadingValDoIf($hash,'Bewegungsmelder_Vorraum','Switch') eq "on" and ::InternalDoIf($hash,'d_BewegungsmelderVorraum_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Bewegungsmelder_Hauptraum','STATE') eq "true" and ::InternalDoIf($hash,'d_BewgungsmelderInnen_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Geraeteschuppen_Tuer','STATE') eq "on" and ::InternalDoIf($hash,'d_Geraeteschuppen_Tuer_deaktivieren','STATE') eq "off") or (::InternalDoIf($hash,'Gewaechshaus_Tuer','STATE') eq "on" and ::InternalDoIf($hash,'d_Gewaechshaus_Tuer_deaktivieren','STATE') eq "off"))
#   do:
#     0:
#       0          set Alarmanlage_Alarm on
#       1          set ThomasFhem message @269995180 @5718095506 @6155520492 @6016215991 @6156434538 $DEVICE hat den Alarm ausgelöst
#       2          set ESPEasy_RFID_RGB neopixel 1 200 000 000
#       3          set ESPEasy_RFID_OLED oledframedcmd 3 Alarm_ausgelöst
#       4          set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE
#       5          set ESPEasy_Gong_NEO neopixel 1 200 000 000
#       6          set d_MP3 select Einbruch
#     1:
#       0          set Alarmanlage unscharf
#       1          set ThomasFhem silentmsg @269995180 @5718095506 @6155520492 @6016215991 @6156434538 Alarmanlage unscharf
#       2          set Alarmanlage_Alarm off
#       3          set ESPEasy_RFID_RGB neopixel 1 000 200 000
#       4          set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage unscharf"
#       5          set ESPEasy_RFID_OLED oledframedcmd 4
#       6          set ESPEasy_Gong_NEO neopixel 1 000 200 000
#       7          set d_MP3 select Alarm_unscharf
#     2:
#       0          set Alarmanlage scharf
#       1          set Alarmanlage_Alarm off
#       2          set ThomasFhem silentmsg @269995180 @5718095506 @6155520492 @6016215991 @6156434538 Alarmanlage ist scharf
#       3          set ESPEasy_RFID_RGB neopixel 1 000 000 200
#       4          set ESPEasy_RFID_OLED oledframedcmd 3 "Alarmanlage scharf"
#       5          set ESPEasy_RFID_OLED oledframedcmd 4
#       6          set ESPEasy_Gong_NEO neopixel 1 000 000 200
#       7          set d_MP3 select Alarm_scharf
#     3:
#       0          set ThomasFhem message @269995180 @5718095506  @6155520492 @6016215991 @6156434538 $DEVICE geöffnet bitte schlißen oder deaktivieren zum scharf schalten
#       1          set ESPEasy_RFID_RGB neopixel 1 200 200 200
#       2          set ESPEasy_RFID_OLED oledframedcmd 3 "Scharfschalten Failed"
#       3          set ESPEasy_RFID_OLED oledframedcmd 4 $DEVICE
#       4          set ESPEasy_Gong_NEO neopixel 1 200 200 200
#     4:
#   helper:
#     NOTIFYDEV  Geraeteschuppen_Tuer,d_AussenTuer_deaktivieren,Bewegungsmelder_Hauptraum,Alarmanlage_Alarm,Aussentuere,d_InnenTuer_deaktivieren,d_BewgungsmelderInnen_deaktivieren,Gewaechshaus_Tuer,Innentuere,Alarmanlage,d_Fenster_rechts_deaktivieren,Gewaechshaus_Tuer_deaktivieren,Fenster_rechts,Fenster_links,d_BewegungsmelderVorraum_deaktivieren,d_Fenster_links_deaktivieren,d_Gewaechshaus_Tuer_deaktivieren,global,Alarmanlage_Ein_Aus,d_Geraeteschuppen_Tuer_deaktivieren,d_BewgungsmelderVorraum_deaktivieren,Bewegungsmelder_Vorraum
#     event      battery_low: false,battery: 92,tamper: false,linkquality: 255,occupancy: false
#     globalinit 1
#     last_timer 0
#     sleeptimer -1
#     triggerDev Bewegungsmelder_Hauptraum
#     triggerEvents:
#       battery_low: false
#       battery: 92
#       tamper: false
#       linkquality: 255
#       occupancy: false
#     triggerEventsState:
#       battery_low: false
#       battery: 92
#       tamper: false
#       linkquality: 255
#       occupancy: false
#   internals:
#     all         Alarmanlage_Ein_Aus:STATE Aussentuere:STATE d_AussenTuer_deaktivieren:STATE Innentuere:STATE d_InnenTuer_deaktivieren:STATE Fenster_links:STATE d_Fenster_links_deaktivieren:STATE Fenster_rechts:STATE d_Fenster_rechts_deaktivieren:STATE d_BewegungsmelderVorraum_deaktivieren:STATE Bewegungsmelder_Hauptraum:STATE d_BewgungsmelderInnen_deaktivieren:STATE Geraeteschuppen_Tuer:STATE d_Geraeteschuppen_Tuer_deaktivieren:STATE Gewaechshaus_Tuer:STATE Gewaechshaus_Tuer_deaktivieren:STATE Alarmanlage_Alarm:STATE d_BewgungsmelderVorraum_deaktivieren:STATE d_Gewaechshaus_Tuer_deaktivieren:STATE Alarmanlage:STATE
#   readings:
#     all         Bewegungsmelder_Vorraum:Switch
#   trigger:
#   uiState:
#   uiTable:
#
setstate Alarmanlage_Schalten initialized
setstate Alarmanlage_Schalten 2023-09-10 13:12:18 Device Bewegungsmelder_Hauptraum
setstate Alarmanlage_Schalten 2023-09-10 07:35:42 cmd 0
setstate Alarmanlage_Schalten 2023-09-10 09:49:53 e_Aussentuere_STATE offen
setstate Alarmanlage_Schalten 2023-09-10 13:12:18 e_Bewegungsmelder_Hauptraum_STATE false
setstate Alarmanlage_Schalten 2023-09-10 13:11:21 e_Bewegungsmelder_Vorraum_Switch off
setstate Alarmanlage_Schalten 2023-09-10 10:47:17 e_Fenster_links_STATE geschlossen
setstate Alarmanlage_Schalten 2023-09-10 12:02:45 e_Fenster_rechts_STATE offen
setstate Alarmanlage_Schalten 2023-09-10 10:50:51 e_Innentuere_STATE offen
setstate Alarmanlage_Schalten 2023-09-10 07:35:42 mode enabled
setstate Alarmanlage_Schalten 2023-09-10 07:35:42 state initialized