OM_CHILDADDED Fehler Status Protokoll

Hallo,

ich habe seit einigen Tagen sporadisch immer wieder folgenden Fehler im Statusprotokoll stehen.

10045 ist das WF.

Ich kann es soweit eingrenzen in dem ich sagen kann das es dann passiert wenn eine Kamera einen Snapshot abholt.

Folgendes Skript handelt die Snapshots.

<?php

$Anzahl_Snapshots = GetValueInteger(14244);
$name = "Kamera Einfahrt";
$ident = "InstarEinfahrt";
$Content = file_get_contents("http://Hans:wurscht@192.168.178.10/tmpfs/snap.jpg");
//Für Doorbird
//$Content = file_get_contents("http://hans:wurscht@192.168.178.41/bha-api/image.cgi");
$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 der Snapshots 

$Ausgabe_Array = IPS_GetObject($catid);             //Array des Parents einsammeln 
print_r ($Ausgabe_Array);                           //Ausgabe zum testen 
$ID = $Ausgabe_Array['ChildrenIDs']['0'];           //ID die gelöscht werden soll ermitteln 
$Anzahl = count($Ausgabe_Array['ChildrenIDs']);     //Ist- Anzahl vom Array Index ermitteln 

//Wenn Arrayindex größer als $Anzahl_Snapshots ist, Index [0] raus löschen 
if ($Anzahl >= $Anzahl_Snapshots)
    {
    IPS_DeleteMedia($ID, true);                     //Index 0 raus löschen
    }
    

print_r ($Anzahl);

Kann es sein das darin irgendwas den Fehler verusachtß
mit manuellem ausführen des Skriptes konnte ich es bis jetzt nicht nachstellen.
Im unteren Teil des Skriptes werden die Snapshots nach einer gewissen Anzahl gelöscht, vielleicht passt hier was nicht.?

Das Skript wird von einem BWM ausgelöst.

Danke schon mal.

Also ich bin mir ziemlich sicher das dieses Skript der Auslöser ist, war jetzt 5 mal der Fall und jedes mal zum gleichen Zeitpunkt, wurde ein Snapshot erstellt.

So heute wieder eine Meldung genau wieder sekundengenau zum Zeitpunkt beim erstellen eines Snapshots.

Diesemal ist es ein anderer Fehler.

Diesen Teil des Skriptes kann ich ausschließen

$Ausgabe_Array = IPS_GetObject($catid);             //Array des Parents einsammeln 
print_r ($Ausgabe_Array);                           //Ausgabe zum testen 
$ID = $Ausgabe_Array['ChildrenIDs']['0'];           //ID die gelöscht werden soll ermitteln 
$Anzahl = count($Ausgabe_Array['ChildrenIDs']);     //Ist- Anzahl vom Array Index ermitteln 

//Wenn Arrayindex größer als $Anzahl_Snapshots ist, Index [0] raus löschen 
if ($Anzahl >= $Anzahl_Snapshots)
    {
    IPS_DeleteMedia($ID, true);                     //Index 0 raus löschen
    }
    

print_r ($Anzahl);

Weil wenn ich den Index [0] auf 600 ändere, 600 ist nicht im array vorhanden und führe dann das Skript aus, kommt kein Fehler.

Was kann das sein? Habt ihr einen Tipp für mich.

@paresy
Hast du vielleicht eine Antwort auf die Fehlermeldung??