# Skriptverwaltung > 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/skriptverwaltung/ ## IPS_CreateScript Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-createscript/ `int IPS_CreateScript(int $SkriptTyp)` legt ein neues Skript an **Parameter** - `$SkriptTyp` (int) | Wert | Beschreibung | | ---- | ----------------------------- | | 0 | Erzeugt ein __PHP Skript__ | | 1 | Erzeugt einen __Ablaufplan__ | | 2 | Erzeugt einen __IPSWorkflow__ | **Rückgabewert** (int): ID des neu erstellten Skripts | Wert | Beschreibung | | ---- | ----------------------------- | | 0 | Erzeugt ein __PHP Skript__ | | 1 | Erzeugt einen __Ablaufplan__ | | 2 | Erzeugt einen __IPSWorkflow__ | **Beispiel** ```php $ScriptID = IPS_CreateScript(0); echo"Die Skript-ID lautet: ". $ScriptID; ``` ## IPS_DeleteScript Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-deletescript/ `bool IPS_DeleteScript(int $SkriptID, bool $DateiLöschen)` entfernt eine bestehendes Skript aus der Skriptliste **Parameter** - `$SkriptID` (int): ID des zu löschenden Skripts - `$DateiLöschen` (bool): __TRUE__, wenn Datei endgültig gelöscht werden soll; __FALSE__, wenn die Datei in den ‘deleted’ Ordner verschoben werden soll **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. __TRUE__, wenn Datei endgültig gelöscht werden soll; __FALSE__, wenn die Datei in den ‘deleted’ Ordner verschoben werden soll **Beispiel** ```php // Skript mitsamt Datei endgültig löschen IPS_DeleteScript($ScriptID, true); ``` ## IPS_GetScript Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscript/ `array IPS_GetScript(int $SkriptID)` liefert umfassende Informationen über ein Skript **Parameter** - `$SkriptID` (int): Die zu zeigende SkriptID **Rückgabewert** (array): Folgende Informationen stehen als __key => value__ Paare zur verfügung: | Index | Typ | Beschreibung | | ---------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------- | | __IsBroken__ (bis 3.4) | boolean | TRUE, wenn beim letzten Skriptaufruf Fehler aufgetreten sind, andernfalls FALSE (ab 4.0 ersetzt durch ScriptIsBroken) | | __LastExecute__ (bis 3.4) | integer | Unix Timestamp des letzten Aufrufs (ab 4.0 ersetzt durch ScriptExecuted) | | __ScriptCRC__ (ab 5.1) | string | CRC32 der Datei | | __ScriptIsBroken__ (ab 4.0) | boolean | TRUE, wenn beim letzten Skriptaufruf Fehler aufgetreten sind, andernfalls FALSE | | __ScriptExecuted__ (ab 4.0) | integer | Unix Timestamp des letzten Aufrufs | | __ScriptFile__ | string | Dateiname des Skripts | | __ScriptID__ | integer | SkriptID | | __ScriptSize__ (ab 5.1) | integer | Größe in Byte | | __ScriptType__ | integer | Skript-Typ (0: PHP Skript, 1: Ablaufplan, 2: IPSWorkflow) | | __ScriptUpdated__ (ab 5.1) | integer | Unix Timestamp der letzten Aktualisierung | Die zu zeigende SkriptID **Beispiel** ```php // Ab Version 5.1 print_r(IPS_GetScript(46413)); /* Beispielausgabe: Array ( [ScriptID] => 46413 [ScriptType] => 0 [ScriptFile] => 46413.ips.php [ScriptUpdated] => 1542622765 [ScriptExecuted] => 1542295981 [ScriptCRC] => 8132DEB6 [ScriptSize] => 42 [ScriptIsBroken] => ) */ // Ab Version 4.0 print_r(IPS_GetScript(46413)); /* Beispielausgabe: Array ( [ScriptIsBroken] => [ScriptExecuted] => 1204933792 [ScriptFile] => 46413.ips.php [ScriptID] => 46413 [ScriptType] => 0 ) */ print_r(IPS_GetScriptCompatibility(46413)); /* Beispielausgabe: Array ( [IsBroken] => [LastExecute] => 1204933792 [ScriptFile] => 46413.ips.php [ScriptID] => 46413 [ScriptType] => 0 ) */ // Bis Version 3.4 print_r(IPS_GetScript(46413)); /* Beispielausgabe: Array ( [IsBroken] => [LastExecute] => 1204933792 [ScriptFile] => 46413.ips.php [ScriptID] => 46413 [ScriptType] => 0 ) */ ``` ## IPS_GetScriptContent Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscriptcontent/ `string IPS_GetScriptContent(int $SkriptID)` _Benötigt Symcon >= 3.1_ liefert den Inhalt eines Skripts **Parameter** - `$SkriptID` (int): ID des Skripts, dessen Inhalt geliefert werden soll **Rückgabewert** (string): Der Inhalt des Skripts ID des Skripts, dessen Inhalt geliefert werden soll **Beispiel** ```php $Inhalt = IPS_GetScriptContent($ScriptID); ``` ## IPS_GetScriptEventList Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscripteventlist/ `array IPS_GetScriptEventList(int $SkriptID)` liefert alle Ereignisse die einem Skript zugeordnet sind **Parameter** - `$SkriptID` (int): SkriptID, zu der verknüpfte Ereignisse gesucht werden sollen **Rückgabewert** (array): Ein Array von Integer-Werten aller EreignisIDs, die mit dem Skript __SkriptID__ verknüpft sind SkriptID, zu der verknüpfte Ereignisse gesucht werden sollen **Beispiel** ```php $events = IPS_GetScriptEventList($_IPS['SELF']); print_r($events); // ermittelt alle Ereignisse des aktuellen Skripts ``` ## IPS_GetScriptFile Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscriptfile/ `string IPS_GetScriptFile(int $SkriptID)` ermittelt den Dateinamen zur SkriptID **Parameter** - `$SkriptID` (int): ID des Skripts, dem der Dateiname zugeordnet werden soll **Rückgabewert** (string): Der Dateiname des Skripts ID des Skripts, dem der Dateiname zugeordnet werden soll **Beispiel** ```php include(IPS_GetScriptFile($ScriptID)); ``` ## IPS_GetScriptIDByFile Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscriptidbyfile/ `int IPS_GetScriptIDByFile(string $Dateipfad)` liefert die ID eines Skripts andhand der Datei **Parameter** - `$Dateipfad` (string): Relativer Dateipfad vom script-Order gesehen **Rückgabewert** (int): ID des gefundenen Skripts, sonst FALSE Relativer Dateipfad vom script-Order gesehen **Beispiel** ```php $ScriptID = @IPS_GetScriptIDByFile("12345.ips.php"); if ($ScriptID === false) echo "Skriptdatei nicht gefunden!"; else echo "Die Skript-ID lautet: ". $ScriptID; ``` ## IPS_GetScriptIDByName Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscriptidbyname/ `int IPS_GetScriptIDByName(string $SkriptName, int $ÜbergeordneteID)` liefert die ID eines Skripts andhand des Namens **Parameter** - `$SkriptName` (string): zu suchender SkriptName - `$ÜbergeordneteID` (int): Objekt in deren direkten Unterobjekten gesucht werden soll **Rückgabewert** (int): ID des gefundenen Skripts, sonst FALSE Objekt in deren direkten Unterobjekten gesucht werden soll **Beispiel** ```php $SkriptID = @IPS_GetScriptIDByName("Regenerfassung", $ÜbergeordneteID); if ($SkriptID === false) echo "Skript nicht gefunden!"; else echo "Die Skript-ID lautet: ". $SkriptID; ``` ## IPS_GetScriptList Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscriptlist/ `array IPS_GetScriptList()` liefert eine Aufstellung aller existierenden Skripte **Rückgabewert** (array): Ein Array von Integer-Werten aller IDs der Skripte in IP-Symcon Die Funktion ermittelt die IDs aller in IP-Symcon registrierten Skripte. Die IDs werden in einem Array aufgelistet. Falls kein Skript existiert, ist das Array leer. **Beispiel** ```php $alleSkripte = IPS_GetScriptList(); print_r($alleSkripte); /* liefert z.B.: Array ( [0] => 37659 [1] => 18326 usw. ... */ ``` ## IPS_GetScriptTimer Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-getscripttimer/ `int IPS_GetScriptTimer(int $SkriptID)` ermittelt den Startwert des ScriptTimers **Parameter** - `$SkriptID` (int): ID des Skripts, dessen Timer ausgelesen werden soll **Rückgabewert** (int): Zeit in Sekunden, die der Timer das Skript zyklisch aufruft. (Es ist nicht die Restzeit.) ID des Skripts, dessen Timer ausgelesen werden soll **Beispiel** ```php $TimerWert = IPS_GetScriptTimer($ScriptID); // ermittelt den Wert des ScriptTimers ``` ## IPS_ScriptExists Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-scriptexists/ `bool IPS_ScriptExists(int $SkriptID)` prüft, ob ein bestimmtes Skript existiert **Parameter** - `$SkriptID` (int): ID der zu prüfenden Skripte **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID der zu prüfenden Skripte **Beispiel** ```php if (IPS_ScriptExists(34881)) echo "Ein Skript mit dieser ID existiert!"; ``` ## IPS_SetScriptContent Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-setscriptcontent/ `bool IPS_SetScriptContent(int $SkriptID, string $Inhalt)` _Benötigt Symcon >= 3.1_ setzt den Inhalt eines Skripts **Parameter** - `$SkriptID` (int): ID des Skripts, dem der Inhalt zugeordnet werden soll - `$Inhalt` (string): Inhalt inklusive PHP Tags () **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Inhalt inklusive PHP Tags () **Beispiel** ```php $ScriptID = IPS_CreateScript(0); IPS_SetName($ScriptID, "Mein Skript"); IPS_SetScriptContent($ScriptID, ""); ``` ## IPS_SetScriptFile Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-setscriptfile/ `bool IPS_SetScriptFile(int $SkriptID, string $Dateiname)` ordnet einem Skript einen Dateinamen zu **Parameter** - `$SkriptID` (int): ID des Skripts, dem der Dateiname zugeordnet werden soll - `$Dateiname` (string): Dateiname des PHP Skripts (relativ zum “/scripts” Ordner) **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Dateiname des PHP Skripts (relativ zum “/scripts” Ordner) **Beispiel** ```php $ScriptName = "Example.ips.php"; //Skriptdatei $ScriptID = IPS_CreateScript(0); IPS_SetName($ScriptID, "Example"); $Script = IPS_GetScript($ScriptID); //Datei umbenennen in $ScriptName rename(IPS_GetKernelDir().'/scripts/'.$Script['ScriptFile'], IPS_GetKernelDir().'/scripts/'.$ScriptName); //Dem Skript den neuen Dateinamen ("Example.ips.php") zuweisen IPS_SetScriptFile($ScriptID, $ScriptName); ``` ## IPS_SetScriptTimer Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-setscripttimer/ `bool IPS_SetScriptTimer(int $SkriptID, int $TimerWert)` setzt den Startwert des ScriptTimers **Parameter** - `$SkriptID` (int): ID des Skripts, dessen Timer eingestellt werden solll - `$TimerWert` (int): Zeit in Sekunden, in denen das Skript zyklisch aufgerufen werden soll **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Zeit in Sekunden, in denen das Skript zyklisch aufgerufen werden soll **Beispiel** ```php //veranlasst, dass das Skript alle 10 Sekunden ausgeführt wird IPS_SetScriptTimer($ScriptID, 10); ```