Bei mir läuft Symcon (V8.0) auf Unraid in einem Docker-Container.
Ich habe jetzt eine Funktion verwendet, die für ein Skript maschinell Ereignisse anlegt. Dieses Ereignis soll bei einer Variablenänderung ausgelöst werden und das Skript auslösen.
function SetupEventTrigger($booleanVarId, $scriptId) {
// Erstelle Event für Variable-Änderung
$eventId = IPS_CreateEvent(0); // 0 = Trigger Event
IPS_SetParent($eventId, $scriptId);
IPS_SetIdent($eventId, "RuntimeTrackerEvent");
IPS_SetName($eventId, "Runtime Tracker Trigger");
// Ereignis soll dieses Skript ausführen
IPS_SetEventScript($eventId, $scriptId);
IPS_SetEventTrigger($eventId, 1, $booleanVarId); // 1 = bei Variablen-Änderung (nicht Aktualisierung)
IPS_SetEventActive($eventId, true);
}
In dem Skript, das ausgeführt werden soll, befindet sich eine require_one() Anweisung. Und hier ist das Problem. Bei den maschinell erstellten Ereignissen, führt dies zu folgendem Fehler:
10.11.2025, 23:51:26 | ScriptEngine | Result for Event 32280 Parse error: syntax error, unexpected end of file in /- on line 1
Und das Skript wird nicht ausgeführt. Manuell kann ich das Skript ausführen und wenn ich das Ereignis manuell erstellte, funktioniert es auch.
Das per require_one() auszuführende Skript hat folgende Rechte:
-rw-r--r-- 1 root root 6209 10. Nov 23:49 /var/lib/symcon/scripts/39066.ips.php
Mit ChatGPT habe ich schon einiges probiert. Inzwischen drehen wir uns aber im Kreis. Ich vermute ein Rechte-Problem, bei dem User der maschinell erstellte Ereignisse bearbeitet, komme aber nicht weiter.
Hat jemand eine Idee?