Hi
irgend etwas mach ich falsch:
Internals:
DEF ([vCCU_Wohnzimmer.TV.Toggle:trigLast] =~ 'short' and [?Wohnzimmer.AVR:state] eq 'off')
(set Wohnzimmer.PVR on, set Wohnzimmer.AVR scene scene2)
DOELSEIF
([vCCU_Wohnzimmer.TV.Toggle:trigLast] =~ 'short' and [?Wohnzimmer.AVR:state] eq 'on')
(set Wohnzimmer.AVR off, set Wohnzimmer.PVR off)
NAME Programm.Wohnzimmer.TV.Toggle
NR 230
NTFY_ORDER 50-Programm.Wohnzimmer.TVToggle
STATE cmd_1
TYPE DOIF
Readings:
2015-08-10 22:54:17 cmd_event vCCU_Wohnzimmer.TV.Toggle
2015-08-10 22:54:17 cmd_nr 1
2015-08-10 22:54:17 e_vCCU_Wohnzimmer.TV.Toggle_trigLast Wohnzimmer.Fernbedienung_Btn_02:short
2015-08-10 22:54:17 state cmd_1
Condition:
0 ReadingValDoIf('vCCU_Wohnzimmer.TV.Toggle','trigLast','') =~ 'short' and ReadingValDoIf('Wohnzimmer.AVR','state','') eq 'off'
1 ReadingValDoIf('vCCU_Wohnzimmer.TV.Toggle','trigLast','') =~ 'short' and ReadingValDoIf('Wohnzimmer.AVR','state','') eq 'on'
Devices:
0 vCCU_Wohnzimmer.TV.Toggle
1 vCCU_Wohnzimmer.TV.Toggle
all vCCU_Wohnzimmer.TV.Toggle
Do:
0 set Wohnzimmer.PVR on, set Wohnzimmer.AVR scene scene2
1 set Wohnzimmer.AVR off, set Wohnzimmer.PVR off
Helper:
last_timer 0
sleeptimer -1
Internals:
Itimer:
Readings:
0 vCCU_Wohnzimmer.TV.Toggle:trigLast
1 vCCU_Wohnzimmer.TV.Toggle:trigLast
all vCCU_Wohnzimmer.TV.Toggle:trigLast
State:
Timerfunc:
Trigger:
Attributes:
icon im_code
room Programme
Ich möchte ein Toggle einrichten, um den TV ein/auszuschalten. Aus irgend eine Grund drücke ich die Taste, alles geht aus, aber sofort im Anschluss geht alles wieder an. Sprich erst wird cmd_2 ausgeführt und dann direkt cmd_1. Sieht irgend wer den Fehler? Vorallem es verhält sich teilweise unterschiedlich. Mal geht nur der PVR aus mal nur der AVR aus und umgekehrt. Ich blicke es nicht. Hab schon versucht mit wait 1 das Problem in den Griff zu bekommen, aber das hilft auch nicht so richtig. Ein ähnlichen Fehler hatte ich auch schon mit einem Pushbutton in Kombination mit einer Schaltsteckdose.
Ich weis zwar nicht warum das nachfolgende Beispiel nun klappt aber es klappt :D
([vCCU_Wohnzimmer.TV.Toggle:trigLast] =~ 'short' and ([?Wohnzimmer.AVR:state] eq 'on' or [?Wohnzimmer.PVR:state] eq 'on'))
(set Wohnzimmer.PVR off, set Wohnzimmer.AVR off)
DOELSEIF
([vCCU_Wohnzimmer.TV.Toggle:trigLast] =~ 'short' and [?Wohnzimmer.AVR:state] eq 'off' and [?Wohnzimmer.PVR:state] eq 'off')
(set Wohnzimmer.PVR on, set Wohnzimmer.AVR scene scene2)
Vor allem scheint es damit zusammen zu hängen, dass bei einem "set Wohnzimmer.PVR off" der AVR per HDMI-CEC mit ausgeschaltet wird. Allerdings will mir nicht in den Kopf warum. Das trigLast Event wird ja nicht 2x ausgeführt und durch das ? bei den State-Conditions wird ebenfalls keine weiteres Event ausgelöst. Und selbst das do=always was ich deaktiviert habe hatte zu keiner Verbesserung geführt. Alles sehr komisch.