Per Skript erstellte Ereignisse unter Docker

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?

Der Fehler ist korrekt, weil du hier eine Zahl anstatt eine PHP Script (String) bei IPS_SetEventScript angibst.

Schau in der Dokumentation zu
IPS_SetEventScript

Vielen Dank für die schnelle Rückmeldung.

Dann gehört diese Zeile ja gar nicht in die Funktion. Denn die Funktion soll ja ein Ereignis anlegen, dass das Skript mit der ID $spriptId ausführt, wenn sich die Variable mit der ID $booleanVarId ändert.

Dann fehlt aber das hier:
IPS_SetEventAction

IPS_SetEventAction($eventID, "{7938A5A2-0981-5FE0-BE6C-8AA610D654EB}", []);