Hallo zusammen,
ich verwende folgendes DOIF, das gerade eben nicht ausgeführt wurde.
([Fernbedienung03Heiko_Btn04:"Short"] or [Fernbedienung03Heiko_Btn04:"Long.1_.*"])
	(set PollinKamera01WohnzimmerDauerbetriebChkBox off,set PollinKamera02KuecheDauerbetriebChkBox off,set PollinKamera03StudioDauerbetriebChkBox off,set PollinKamera07EsseckeDauerbetriebChkBox off,set PollinKamera09SchlafDauerbetriebChkBox off)
	(set NAME=PollinKamera09Schlaf:FILTER=state=on off)
	(set NAME=PollinKamera01Wohnzimmer:FILTER=state=on off)
	(set NAME=PollinKamera07Essecke:FILTER=state=on off)
	(set NAME=PollinKamera02Kueche:FILTER=state=on off)
	(set NAME=PollinKamera03Studio:FILTER=state=on off)
DOELSE ()
Das Event müsste eigentlich passen:
Device
Fernbedienung03Heiko_Btn04
2017-01-10 17:24:19
e_Fernbedienung03Heiko_Btn04_events
Short (to vccu),trigger: Short_13,trigger_cnt: 13
2017-01-10 17:24:19
list:
Internals: 
   DEF        ([Fernbedienung03Heiko_Btn04:"Short"] or [Fernbedienung03Heiko_Btn04:"Long.1_.*"]) 
	(set PollinKamera01WohnzimmerDauerbetriebChkBox off,set PollinKamera02KuecheDauerbetriebChkBox off,set PollinKamera03StudioDauerbetriebChkBox off,set PollinKamera07EsseckeDauerbetriebChkBox off,set PollinKamera09SchlafDauerbetriebChkBox off) 
	(set NAME=PollinKamera09Schlaf:FILTER=state=on off) 
	(set NAME=PollinKamera01Wohnzimmer:FILTER=state=on off) 
	(set NAME=PollinKamera07Essecke:FILTER=state=on off) 
	(set NAME=PollinKamera02Kueche:FILTER=state=on off) 
	(set NAME=PollinKamera03Studio:FILTER=state=on off) 
DOELSE () 
   NAME       di_Fernbedienung03Heiko_Btn04_Einfachklick 
   NR         3124 
   NTFY_ORDER 50-di_Fernbedienung03Heiko_Btn04_Einfachklick 
   STATE      cmd_1 
   TYPE       DOIF 
   Readings: 
     2017-01-10 17:24:19   Device          Fernbedienung03Heiko_Btn04 
     2017-01-04 20:43:52   cmd             1.6 
     2017-01-04 20:43:52   cmd_event       Fernbedienung03Heiko_Btn04 
     2017-01-04 20:43:52   cmd_nr          1 
     2017-01-04 20:43:52   cmd_seqnr       6 
     2017-01-10 17:24:19   e_Fernbedienung03Heiko_Btn04_events Short (to vccu),trigger: Short_13,trigger_cnt: 13 
     2017-01-04 20:43:52   state           cmd_1 
     2017-01-10 17:24:19   wait_timer      no timer 
   Condition: 
     0          EventDoIf('Fernbedienung03Heiko_Btn04',$hash,'Short',1) or EventDoIf('Fernbedienung03Heiko_Btn04',$hash,'Long.1_.*',1) 
   Devices: 
     0           Fernbedienung03Heiko_Btn04 
     all         Fernbedienung03Heiko_Btn04 
   Do: 
     0: 
       0          set PollinKamera01WohnzimmerDauerbetriebChkBox off,set PollinKamera02KuecheDauerbetriebChkBox off,set PollinKamera03StudioDauerbetriebChkBox off,set PollinKamera07EsseckeDauerbetriebChkBox off,set PollinKamera09SchlafDauerbetriebChkBox off 
       1          set NAME=PollinKamera09Schlaf:FILTER=state=on off 
       2          set NAME=PollinKamera01Wohnzimmer:FILTER=state=on off 
       3          set NAME=PollinKamera07Essecke:FILTER=state=on off 
       4          set NAME=PollinKamera02Kueche:FILTER=state=on off 
       5          set NAME=PollinKamera03Studio:FILTER=state=on off 
     1: 
       0 
   Helper: 
     event      Short (to vccu) 
     globalinit 1 
     last_timer 0 
     sleepdevice Fernbedienung03Heiko_Btn04 
     sleepsubtimer 0 
     sleeptimer -1 
     timerdev   Fernbedienung03Heiko_Btn04 
     timerevent Short (to vccu) 
     triggerDev Fernbedienung03Heiko_Btn04 
     timerevents: 
       Short (to vccu) 
       trigger: Short_13 
       trigger_cnt: 13 
     timereventsState: 
       state: Short (to vccu) 
       trigger: Short_13 
       trigger_cnt: 13 
     triggerEvents: 
       Short (to vccu) 
       trigger: Short_13 
       trigger_cnt: 13 
     triggerEventsState: 
       state: Short (to vccu) 
       trigger: Short_13 
       trigger_cnt: 13 
   Internals: 
   Itimer: 
   Readings: 
   Regexp: 
     0: 
     All: 
   State: 
   Trigger: 
     all         Fernbedienung03Heiko_Btn04 
Attributes: 
   disable    0 
   do         always 
   group      13_Fernbedienung03_Heiko 
   room       Fernbedienung 
   sortby     23 
   wait       0,2,2,2,2,2 
   waitdel    3 
Liegt es an dem waitdel-attribut?
Die Homematic-Devices zählen bei etwas zu langem Tastendruck ja hoch, eventuell kam das Event 2x an?
Viele Grüße,
Heiko
			
			
			
				Warum hast du waitdel gesetzt?
			
			
			
				Ich habe das Problem, dass DOIFs manchmal mehrfach getriggert werden bei Homematic-Fernbedienungen, wenn man "zu lang" auf der Taste bleibt oder diese warum auch immer 2 Befehle hintereinander senden. Insbesondere die "Funk-Handsender für Alarmfunktionen" (https://wiki.fhem.de/wiki/HM-RC-4-2_Funkfernbedienung_4_Tasten (https://wiki.fhem.de/wiki/HM-RC-4-2_Funkfernbedienung_4_Tasten)) lassen sich recht schwer drücken, so dass dies manchmal passiert.
Vermutlich ist waitdel hier falsch, ich habe auch schon "cmdpause 3" probiert, hat aber auch nicht zuverlässig funktioniert.
Für die anderen Tasten verwende ich, was recht zuverlässig eine mehrfache Auslösung verhindert.
([Fernbedienung03Heiko_Btn01:"Short"] or [Fernbedienung03Heiko_Btn01:"Long.1_.*"] or [Fernbedienung03Heiko_Dummy:state] eq "on" and [?Fernbedienung03Heiko_Dummy:Btn01] ne "on")
	(setreading Fernbedienung03Heiko_Dummy Btn01 on)
	({FernbedienungLogikNEU_mit_DOIF("Fernbedienung03Heiko", "on", $we)})
	(setreading Fernbedienung03Heiko_Dummy Btn01 off)
attr wait 0,0,5:0
attr cmdpause 2
attr do always
Viele Grüße,
Heiko
			
			
			
				Kannst du auf Fernbedienungsseite event-on-change einstellen? Oder meldet die, wie manche Bewegungsmelder, nur den on-Fall?
			
			
			
				Die Homematic-Fernbedienungen zählen bei längerem Tastendruck hoch,
somit wäre das jeweils ein neues event und diese Einschränkung hätte hier vermutlich nicht die gewünschte Wirkung.
Heiko
			
			
			
				Zitat von: heikoh81 am 14 Januar 2017, 19:11:51
Die Homematic-Fernbedienungen zählen bei längerem Tastendruck hoch,
somit wäre das jeweils ein neues event und diese Einschränkung hätte hier vermutlich nicht die gewünschte Wirkung.
Heiko
Poste mal Events eines Tastendrucks.