aktive Aktions_ID eines Wochenplans ermitteln

Hallo an alle,

die Funktion die ich hier gefunden habe hat nicht ganz präzise gearbeitet. die folgende sollte es tun.
Sie ermittelt die AktionsID die ein Wochenplan zur aktuellen Uhrzeit hat.


function GetCurrentActiveAction($ID_Wochenplan) {
  $e = IPS_GetEvent($ID_Wochenplan);
  $actionID = false;
  //Durch alle Gruppen gehen
  foreach($e['ScheduleGroups'] as $g) {
    //Überprüfen ob die Gruppe für den aktuellen Wochentag zuständig ist
    if(($g['Days'] == pow(2,date("N")-1))) {
         //Aktuellen Schaltpunkt suchen. Wir nutzen die Eigenschaft, dass die Schaltpunkte immer aufsteigend sortiert sind.
       	foreach($g['Points'] as $p) {
       	  	$Start = mktime ($p['Start']['Hour'], $p['Start']['Minute'], $p['Start']['Second']);
     	  	if(time() >= $Start) {
     	  		$actionID = $p['ActionID'];
	    	} else {
            		break; //Sobald wir drüber sind, können wir abbrechen.
          	}
       	}
        break; 
    }
  }
  return $actionID;	
}