Reihenfolge von Mediaobjekte, einsortieren und nach MAX Anzahl löschen

Das mit der Anzahl Bilder habe ich gesehen und in der obigen Version korrigiert.
Das mit der Reihenfolge konnte ich nicht feststellen, aber wenn Symcon aus irgendeinem Grund abstürzt kann nicht mehr auf die Bilder zugegriffen werden. Darum habe ich nun auch die Cache-Funktion deaktiviert, sonst sind die Bilder futsch beim abrupten Beenden des Dienstes.

IPS_SetMediaCached($MediaID, false);

Das ist das Script, welches die Reihenfolge korrekt sortiert.

<?php

$Anzahl_Snapshots = GetValueInteger(24200)+1;
$name = "Kamera Einfahrt";
$ident = "InstarEinfahrt";
//Für Instar 9008 FHD
//$Content = file_get_contents("http://Hans:Wurscht@192.168.17.1/tmpfs/snap.jpg");
//Für Instar 9408 FHD WQHD
$Content = file_get_contents("http://192.168.1.1/snap.cgi?chn=11&user=Hans&pwd=Wurscht");
$filename = time();     //Jede Bild mithilfe von Unix Timestamp unterschiedlich bennennen, damit die Bilder krorrekt in IPS WF. bei Neustart zurückgeladen werden 
$picturename ="$filename";
//$picturename ="Snapshot Kamera Einfahrt";
$catid = 50614;
$MediaID = IPS_CreateMedia(1);                                          // Image im MedienPool anlegen
					IPS_SetParent($MediaID, $catid);                    // Medienobjekt einsortieren unter Kategorie $catid                   
					IPS_SetIdent ($MediaID, $ident.time());             // Unix Timestamp als Ident setzen 
					IPS_SetPosition($MediaID, -time());                 // Unix Timestamp invertieren, somit wird der letze Snapshot im Webfront als erster angezeigt 
					IPS_SetMediaCached($MediaID, true);
                    
					// Das Cachen für das Mediaobjekt wird aktiviert.
					// Beim ersten Zugriff wird dieses von der Festplatte ausgelesen
					// und zukünftig nur noch im Arbeitsspeicher verarbeitet.
					$ImageFile = IPS_GetKernelDir()."media".DIRECTORY_SEPARATOR."instar".DIRECTORY_SEPARATOR.$picturename.".jpg";  // Image-Datei
					IPS_SetMediaFile($MediaID, $ImageFile, False);      // Image im MedienPool mit Image-Datei verbinden
					$savetime = date('d.m.Y H:i:s');
					IPS_SetName($MediaID, $name."   ".$savetime);     // Medienobjekt benennen
					//IPS_SetName($MediaID, $name." ".$i);              // Medienobjekt benennen
					//IPS_SetInfo ($MediaID, $savetime);
					IPS_SetMediaContent($MediaID, base64_encode($Content));  //Bild Base64 codieren und ablegen
					IPS_SendMediaEvent($MediaID); //aktualisieren

//Handling Anzahl und Reihenfolge der Snapshots 

foreach(IPS_GetChildrenIDs($catid) as $objectID)                        //Ids ermitteln 
    {
        $object = IPS_GetObject($objectID);
        $objectList[$object["ObjectID"]] = $object["ObjectPosition"];   //Id der Snapshots mit den Positionen verbinden, das sollte analog zum Objektbaum sein 
    }   

        asort($objectList);                                             // in aufsteigender Reihenfolge sortieren 
        print_r($objectList);                                           //array ausgeben




$Anzahl = count($objectList); 
print_r($Anzahl);
if ($Anzahl >= $Anzahl_Snapshots) {
            //Anzahl Bilder welche gelöscht werden müssen
            $objectList_del = $objectList;      //Array der ID,s und Positionen umkopieren 
            arsort($objectList_del);            //Array absteigend, gegenläufig zu $objectList sortieren 
            print_r($objectList_del);   
            $objectList_del2 = array_keys($objectList_del);         //Nur keys also die ID, ausgeben weil danach die Medienobjekte identifiziert werden...
            print_r($objectList_del2);

            $delCount = count($objectList) - ($Anzahl_Snapshots);   //Überhang an zu vielen Snapshots errechnen

            for ($i = 0; $i <= $delCount; $i++) {
                IPS_DeleteMedia($objectList_del2[$i], true);        //Überhang an Medienabjekten anhand der ID und des Index rauslöschen.
            }
         }