# Ablaufsteuerung > Symcon Dokumentation · Deutsch · erzeugt am 2026-09-26 > Index: https://www.symcon.de/de/llms.txt Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ ## IPS_Execute Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-execute/ `bool IPS_Execute(string $Programmpfad, string $Parameter, bool $Dummy, bool $Warten)` startet ein externes Programm **Parameter** - `$Programmpfad` (string): Vollständiger Pfad zum Programm - `$Parameter` (string): An das Programm zu übergebende Parameter (optional) - `$Dummy` (bool): Immer true angeben, Parameter wird nicht ausgewertet, dieser wurde nur in Version 1.x genutzt. - `$Warten` (bool): Gibt an, ob auf das Programmende gewartet werden soll. **Rückgabewert** (bool): Den Rückgabewert von stderr/stdout, wenn der __Warten__ Parameter auf True ist, sonst ist die Rückgabe ein leerer String. Gibt an, ob auf das Programmende gewartet werden soll. **Beispiel** ```php //Eine Batchdatei starten IPS_Execute("C:/autoexec.bat", "", false, false); ``` ## IPS_ExecuteEx Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-executeex/ `string IPS_ExecuteEx(string $Programmpfad, string $Parameter, bool $FensterZeigen, bool $Warten, int $SessionID)` startet ein externes Programm im Userkontext **Parameter** - `$Programmpfad` (string): Vollständiger Pfad zum Programm - `$Parameter` (string): An das Programm zu übergebende Parameter (optional) - `$FensterZeigen` (bool): __True__, wenn das Fenster angezeigt werden soll; __False__, wenn das Fenster unsichbar bleiben soll - `$Warten` (bool): Gibt an, ob aus das Programmende gewartet werden soll. - `$SessionID` (int): Die User Session ID, die genutzt werden soll (Unter XP ab 0, 2003/Vista ab 1), < 0 für automatische Auswahl **Rückgabewert** (string): Leerstring Die User Session ID, die genutzt werden soll (Unter XP ab 0, 2003/Vista ab 1), < 0 für automatische Auswahl **Beispiel** ```php // Notepad starten IPS_ExecuteEx("C:\\Windows\\notepad.exe", "", true, false, -1); ``` ## IPS_RunAction Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runaction/ `bool IPS_RunAction(string $AktionsID, array $AktionsParameter)` führt eine einzelne Aktion aus **Parameter** - `$AktionsID` (string): GUID der auszuführenden Aktion - `$AktionsParameter` (array): Liste der Parameter der auszuführenden Aktion **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Liste der Parameter der auszuführenden Aktion **Beispiel** ```php // Führe Skript mit der ID 12345 aus IPS_RunAction("{7938A5A2-0981-5FE0-BE6C-8AA610D654EB}", ["TARGET" => 12345, "ENVIRONMENT" => "Default", "PARENT" => $_IPS['SELF']]); // Zeige alle Aktionen und dazugehörigen GUIDs an foreach(json_decode(IPS_GetActions(), true) as $action) { echo $action['id'] . " -> " . $action['caption'] . PHP_EOL; // var_dump($action); <-- Gibt alle Details wie z.B. restrictions aus } ``` ## IPS_RunActionWait Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runactionwait/ `string IPS_RunActionWait(string $AktionsID, array $AktionsParameter)` führt eine einzelne Aktion aus und wartet auf das Resultat **Parameter** - `$AktionsID` (string): ID der auszuführenden Aktion - `$AktionsParameter` (array): Liste der Parameter der auszuführenden Aktion **Rückgabewert** (string): Fehlermeldung der Ausführung Liste der Parameter der auszuführenden Aktion **Beispiel** ```php // Führe Skript mit der ID 12345 aus $error = IPS_RunActionWait("{7938A5A2-0981-5FE0-BE6C-8AA610D654EB}", ["TARGET" => 12345, "ENVIRONMENT" => "Default", "PARENT" => $_IPS['SELF']]); if ($error === "") { echo "Aktion wurde fehlerfrei ausgeführt"; } else { echo "Bei der Ausführung gab es einen Fehler: " . $error; } ``` ## IPS_RunScript Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runscript/ `bool IPS_RunScript(int $SkriptID)` startet ein anderes IP-Symcon Skript **Parameter** - `$SkriptID` (int): Eindeutige ID des Skriptes **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Eindeutige ID des Skriptes **Beispiel** ```php IPS_RunScript(12345 /*[Gartenbeleuchtung An]*/); ``` ## IPS_RunScriptEx Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runscriptex/ `bool IPS_RunScriptEx(int $SkriptID, array $Parameter)` startet ein anderes IP-Symcon Skript und übergibt Variablen **Parameter** - `$SkriptID` (int): Eindeutige ID des Skriptes - `$Parameter` (array): Key (string) => Value (variant) Paar auf die im neu ausgeführten Skript zu gegriffen werden kann. **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Key (string) => Value (variant) Paar auf die im neu ausgeführten Skript zu gegriffen werden kann. **Beispiel** ```php //Skript, dass ein anderes Skript mit Parameterübergabe starten will IPS_RunScriptEx(12345 /*[Temp]*/, Array("Titel" => "Temp.", "Tmin" => 10.0)); //Skript, das aufgerufen wurde. Parameter sind als einzelne Variablen in der //globalen Variablen $_IPS verfügbar. Der Variablenname entspricht dem im Array-Index //übergebenen Namen. $Ueberschrift = $_IPS['Titel']. "verlauf"; //Ergibt: Temp.verlauf $MaxTemp = $_IPS['Tmin'] + 30.0; ``` ## IPS_RunScriptText Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runscripttext/ `bool IPS_RunScriptText(string $SkriptText)` startet einen Text als IP-Symcon Skript **Parameter** - `$SkriptText` (string): String welcher als Skript aufgerufen werden soll. **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. String welcher als Skript aufgerufen werden soll. **Beispiel** ```php // Gibt "Hallo Welt" im Meldungsfenster zurück IPS_RunScriptText("echo 'Hallo Welt';"); ``` ## IPS_RunScriptTextEx Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runscripttextex/ `bool IPS_RunScriptTextEx(string $SkriptText, array $Parameter)` startet einen Text als IP-Symcon Skript und übergibt Variablen **Parameter** - `$SkriptText` (string): String welcher als Skript aufgerufen werden soll. - `$Parameter` (array): Key (string) => Value (variant) Paar auf die im neu ausgeführten Skript zugegriffen werden kann. **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Key (string) => Value (variant) Paar auf die im neu ausgeführten Skript zugegriffen werden kann. **Beispiel** ```php // Gibt "Hallo Welt" im Meldungsfenster zurück IPS_RunScriptTextEx('echo $_IPS["Anfang"] . " ". $_IPS["Ende"];', Array("Anfang" => "Hallo", "Ende" => "Welt")); ``` ## IPS_RunScriptTextWait Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runscripttextwait/ `string IPS_RunScriptTextWait(string $SkriptText)` startet einen Text als IP-Symcon Skript **Parameter** - `$SkriptText` (string): String welcher als Skript aufgerufen werden soll. **Rückgabewert** (string): Resultat des ausgeführten Skripts String welcher als Skript aufgerufen werden soll. **Beispiel** ```php // Gibt "Hallo Welt" zurück echo IPS_RunScriptTextWait("echo 'Hallo Welt';"); ``` ## IPS_RunScriptTextWaitEx Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runscripttextwaitex/ `string IPS_RunScriptTextWaitEx(string $SkriptText, array $Parameter)` startet einen Text als IP-Symcon Skript und übergibt Variablen **Parameter** - `$SkriptText` (string): String welcher als Skript aufgerufen werden soll. - `$Parameter` (array): Key (string) => Value (variant) Paar auf die im neu ausgeführten Skript zugegriffen werden kann. **Rückgabewert** (string): Resultat des ausgeführten Skripts Key (string) => Value (variant) Paar auf die im neu ausgeführten Skript zugegriffen werden kann. **Beispiel** ```php //Skript, dass einen Text als Skript mit Parameterübergabe starten will echo IPS_RunScriptTextWaitEx('echo $_IPS["Titel"]. "verlauf" . PHP_EOL; echo $_IPS["Tmin"] + 30.0;', Array("Titel" => "Temp.", "Tmin" => 10.0)); ``` ## IPS_RunScriptWait Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runscriptwait/ `string IPS_RunScriptWait(int $SkriptID)` startet ein anderes IP-Symcon Skript und wartet auf das Resultat **Parameter** - `$SkriptID` (int): Eindeutige ID des Skriptes **Rückgabewert** (string): Resultat des ausgeführten Skripts Eindeutige ID des Skriptes **Beispiel** ```php echo IPS_RunScriptWait(12345 /*[Skript A]*/); ``` ## IPS_RunScriptWaitEx Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-runscriptwaitex/ `string IPS_RunScriptWaitEx(int $SkriptID, array $Parameter)` startet ein anderes IP-Symcon Skript und übergibt Variablen **Parameter** - `$SkriptID` (int): Eindeutige ID des Skriptes - `$Parameter` (array): Key (string) => Value (variant) Paar auf die im neu ausgeführten Skript zugegriffen werden kann. **Rückgabewert** (string): Resultat des ausgeführten Skripts Key (string) => Value (variant) Paar auf die im neu ausgeführten Skript zugegriffen werden kann. **Beispiel** ```php //Skript, dass ein anderes Skript mit Parameterübergabe starten will echo IPS_RunScriptWaitEx(12345 /*[Temp]*/, Array("Titel" => "Temp.", "Tmin" => 10.0)); //Skript, das aufgerufen wurde. Parameter sind als einzelne Variablen in der //globalen Variablen $_IPS verfügbar. Der Variablenname entspricht dem im Array-Index //übergebenen Namen. $Ueberschrift = $_IPS['Titel']. "verlauf"; //Ergibt: Temp.verlauf echo $_IPS['Tmin'] + 30.0; ``` ## IPS_SemaphoreEnter Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-semaphoreenter/ `bool IPS_SemaphoreEnter(string $Name, int $Wartezeit)` erlaubt die Synchronisation mit anderen, gleichzeitig laufenden Skripts **Parameter** - `$Name` (string): Name, der die Semaphore beschreibt - `$Wartezeit` (int): Millisekunden, die gewartet wird, bis die Funktion abbricht **Rückgabewert** (bool): __TRUE__, wenn die Semaphore betreten wurde. __FALSE__, wenn die Semaphore vor Ablauf der Wartezeit nicht betreten werden konnte Millisekunden, die gewartet wird, bis die Funktion abbricht **Beispiel** ```php if (IPS_SemaphoreEnter("KritischerPunkt", 1000)) { // ...Kritischer Codeabschnitt //Semaphore wieder freigeben! IPS_SemaphoreLeave("KritischerPunkt"); } else { // ...Keine ausführung Möglich. Ein anderes Skript nutzt den "KritischenPunkt" // für länger als 1 Sekunde, sodass unsere Wartezeit überschritten wird. } ``` ## IPS_SemaphoreLeave Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-semaphoreleave/ `bool IPS_SemaphoreLeave(string $Name)` erlaubt die Synchronisation mit anderen, gleichzeitig laufenden Skripts **Parameter** - `$Name` (string): Name, der die Semaphore beschreibt. **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Name, der die Semaphore beschreibt. **Beispiel** ```php //Siehe IPS_SemaphoreEnter() ``` ## IPS_Sleep Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-sleep/ `bool IPS_Sleep(int $Wartezeit)` verzögert ein Skript um ein bestimme zeit **Parameter** - `$Wartezeit` (int): Gibt die Wartezeit in Millisekunden an **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Gibt die Wartezeit in Millisekunden an **Beispiel** ```php // Daten zeitverzögert an den COM Port ausgeben COMPort_SendText($id, chr(0x1b)); // ESC an LC-Display senden IPS_Sleep(200); // 200ms warten COMPort_SendText($id, "0"); // LC-Display löschen IPS_Sleep(200); // 200ms warten COMPort_SendText($id, "Guten Tag!"); // Text ausgeben // 2 Sekunden warten mit php Alternativen sleep(2); IPS_Sleep(2000); usleep(2000000); ```