Beim Start von Symcon kommt jetzt folgende Meldung:
02.12.2024 08:03:24 | 00000 | MESSAGE | ScriptEngine | Pretest for loading __autoload.php failed. __autoload.php will be disabled. Error:
Warning: Objekt #19426 existiert nicht in /var/lib/symcon/scripts/19426.ips.php on line 3
Warum? Die Datei liegt dort im Ordner und wenn ich das Script direkt einbinde mit
Um mir selber mal zu antworten und weil der eine oder andere evtl. auch auf dieses Problem stößt.
Wenn man vorher mit IPS_ObjectExists prüft dann funktioniert es. Die __autoload.php hat beim Start von Symcon wohl noch keine IDs zur Verfügung so wie ich das sehe.
$autoincludeID = 19426;
if (IPS_ObjectExists($autoincludeID)) {
$scriptIDs = IPS_GetChildrenIDs($autoincludeID);
foreach ($scriptIDs as $scriptID) {
include_once(IPS_GetScriptFile($scriptID));
}
}
Korrekt. Das liegt daran, dass die autoload auch beim Start von Symcon greift, bei der PHP und die PHP Module initialisiert werden. An der Stelle sind die Objekte noch nicht verfügbar.
Kann man diesen speziellen Startlauf denn herausfiltern und entsprechend einige Dinge einfach noch nicht laden? z.B: in dem ein DEFINE firstStart gesetzt wird?