PRESS_LONG_RELEASE von Wandtaster als Trigger verwenden

Hallo,

ich besitzte einen HomeMatic Funk-Wandtaster 2fach und möchte gerne bei langem Tastendruck eine Schleife so lange ausführen bis der Schalter wieder losgelassen wird. Dazu möchte ich bei Änderung von der Variablen PRESS_LONG_RELEASE die Schleife abbrechen.

Ich habe jetzt das Problem, dass egal wie lange ich den Taster drücke die Variablen PRESS_LONG_RELEASE und PRESS_LONG des Tasters immer den gleichen Zeitstempel haben. Hat einer eine Idee voran das liegen könnte bzw. wie man so etwas realisieren kann, dass ein Script so lange ausgeführt wird bis man den Taster wieder loslässt?

… geht nur über die Kombination: INSTALL_TEST und dann PRESS_LONG

MST

Danke für die Info. INSTALL_TEST wäre dann der Trigger und PRESS_LONG würde die Schleife dann abbrechen richtig?

Kann mir noch einer einen Hinweis geben wie so eine Schleife in PHP aussehen muss, die dann von INSTALL_TEST gestartet wird und so lange ausgeführt wird bis PRESS_LONG sich ändert.

Hiermit kannst Du die IDs herausfinden:


// Trigger je bei ‚Bei Variablenänderung‘
$id_trigger = ($_IPS['VARIABLE']);

if ($id_trigger == 14994){	//  PRESS_SHORT
	SetValue(19455, "Start");
	IPS_Sleep(100);
	SetValue(19455, "Stop");
}

if ($id_trigger == 51714){	// PRESS_LONG_RELEASE
	SetValue(19455, "Stop");
}

if ($id_trigger == 18372){	// INSTALL_TEST
   SetValue(19455, "Start");

In einem zweitem Skript kannst Du Deine Do-While-Schleife mit „Start / Stop“ steuern (nicht länger als 30 Sekunden!).
Ein großes und nicht lösbares Problem bleibt: bei einem kurzen Tastendruck wird Deine „Schleife“ nie korrekt beendet werden…

MST

Kann ich nicht theoretisch den Trigger so einschränken, dass dieser eben nur auslöst, wenn nur INSTALL_TEST eine Variablenaktualisierung macht. Sobald eben INSTALL_TEST und gleichzeitig PRESS_SHORT eine Variablenaktualisierung erfahren wird nicht getriggert.

… ja, ich habe das o.g. Skript entsprechend geändert.
Es ist und bleibt aber eine Krücke!
Problemlos ist dies mit z.B. dem PTM Taster von EnOcean möglich, da er die jede Flanke sendet.

MST