Hauptmenü

DOIF bei Event pausieren

Begonnen von ThoTo, 21 Oktober 2018, 19:04:26

Vorheriges Thema - Nächstes Thema

ThoTo

Hallo,

ich will mir ein DOIF bauen, das beim Abschalten einer Lampe triggert,  nicht jedoch wenn vorher ein anderes Event stattgefunden hat.
Konkret geht es um einen Taster an einem HM-LC-Sw1-DR.

OFF ÜBER FHEM:
2018-10-21 17:15:34 CUL_HM OGVO.HM.Deckenleuchte set_off
2018-10-21 17:15:34 CUL_HM OGVO.HM.Deckenleuchte deviceMsg: off (to vccu)
2018-10-21 17:15:34 CUL_HM OGVO.HM.Deckenleuchte level: 0
2018-10-21 17:15:34 CUL_HM OGVO.HM.Deckenleuchte pct: 0
2018-10-21 17:15:34 CUL_HM OGVO.HM.Deckenleuchte off
2018-10-21 17:15:34 CUL_HM OGVO.HM.Deckenleuchte timedOn: off


OFF ÜBER SCHALTER:
2018-10-21 17:17:11 CUL_HM OGVO.HM.Deckenleuchte deviceMsg: off (to vccu)
2018-10-21 17:17:11 CUL_HM OGVO.HM.Deckenleuchte level: 0
2018-10-21 17:17:11 CUL_HM OGVO.HM.Deckenleuchte pct: 0
2018-10-21 17:17:11 CUL_HM OGVO.HM.Deckenleuchte off
2018-10-21 17:17:11 CUL_HM OGVO.HM.Deckenleuchte timedOn: off



Mein DOIF Versuch sieht so aus, klappt aber nicht:
defmod OGVO.DOIF.Taster_Licht_aus DOIF (["OGVO.HM.Deckenleuchte:set_off"])\
( )\
DOELSEIF(["OGVO.HM.Deckenleuchte: off"])\
( {Log3 "$SELF", 1, "*** TEST ***" })
attr OGVO.DOIF.Taster_Licht_aus cmdpause 2:0


Bei "OFF ÜBER FHEM" soll der zweite Teil für 2 Sekunden komplett ignoriert werden.
Stehe irgendwie auf der Leitung....  8)

Bitte um Ideen.


LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

Ellert

Etwa so
(["OGVO.HM.Deckenleuchte:set_off"]) () ()

DOELSEIF(["OGVO.HM.Deckenleuchte: off"] and [?$SELF] ne "cmd_1_1") (...)

wait 2,0:0
Solange STATE cmd_1_1 ist wird Zweig 2 nicht ausgeführt.

ThoTo

Zitat von: Ellert am 21 Oktober 2018, 19:55:28
Etwa so
(["OGVO.HM.Deckenleuchte:set_off"]) () ()

DOELSEIF(["OGVO.HM.Deckenleuchte: off"] and [?$SELF] ne "cmd_1_1") (...)

wait 2,0:0
Solange STATE cmd_1_1 ist wird Zweig 2 nicht ausgeführt.

Danke dir!
Ich habs zwischenzeitlich so versucht, was auch zu klappen scheint:

{
  if ([OGVO.HM.Deckenleuchte] eq "set_off") { set_Exec("Timer_Set_Off", 2) }
}
{
  if ([OGVO.HM.Deckenleuchte] eq "off" && !get_Exec("Timer_Set_Off")) { fhem "set TREP.HUE.Wandleuchte off" }
}
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)