4-fach Taster und Lautstärke einer MediaInstanz

Hallo,

ich habe eben versucht auf die Schnelle eine Lautstärkeregelung für einen Homematic 4-fach Taster zu realisieren und bin nicht sicher, ob mein Ansatz schlau ist (er funktioniert zwar, aber so richtig glücklich bin ich damit „noch“ nicht) :rolleyes:.

Die Anforderung ist simpel. Ich halte den Taster links-oben gedrückt und die Lautstärke regelt sich so lange langsam hoch bis ich loslasse.

Hier mein aktueller Ansatz:

<?

	Include_once "TM_Funktionen.php";
	
	$Current = GetValue(54768 /*[Haus\1. Obergeschoss\Bad\Musik\Media Player\Lautstärke]*/);
	$tmp1 = IPS_GetVariable(18570  /*[Haus\1. Obergeschoss\Bad\4-fach Wandtaster\Links oben\INSTALL_TEST]*/);
	$LastUpdateInstallTest = $tmp1['VariableUpdated'];
	$CurrentTimestamp = time();
	$EventIDVolumeUp = 46870  /*[Haus\1. Obergeschoss\Bad\Musik\Lautstärke hoch\Lautstärke im Sekundentakt erhöhen]*/;
	
	if($LastUpdateInstallTest <= $CurrentTimestamp - 3)
	{
	   // Ereignis deaktivieren und Script beenden
	   IPS_SetEventActive($EventIDVolumeUp,False);
		TM_Sprich('Bad','Lautstärke ' . $Current . '%',0);
		return;
	}
	
	$Level = 2;
	$New = $Current + $Level;
	
	WAC_SetVolume(29857 /*[Haus\1. Obergeschoss\Bad\Musik\Media Player]*/,$New);
	IPS_SetEventActive($EventIDVolumeUp,True);

?>

Das eine Ereignis reagiert beim Press-Long des Tasters und erhöht die Lautstärke um 2%. Dann wird ein zweites Ereignis für dieses Script alle Sekunde aktiviert. Ist das letzte Update der Variable Install_Test länger als 2 Sekunden her, dann wurde der Taster losgelassen und ich deaktiviere das Ereignis.

Das funktioniert zwar, aber natürlich kann es bis zu 3 Sekunden dauern, bis die Lautstärke nicht mehr hochgestellt wird, nachdem ich den Taster losgelassen habe.

Wie habt ihr das denn gelöst, bzw. habt ihr für Ideen?

Gruß
Thorsten