# Instanzenverwaltung > 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/instanzenverwaltung/ ## Debug Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/debug/ ## IPS_DisableDebugFile Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/debug/ips-disabledebugfile/ `bool IPS_DisableDebugFile(int $InstanzID)` _Benötigt Symcon >= 5.2_ deaktiviert das Schreiben von Debug-Logs in eine Datei **Parameter** - `$InstanzID` (int): ID der Instanz **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID der Instanz **Beispiel** ```php // Deaktiviert das Schreiben von Debug-Logs der Instanz 12345 IPS_DisableDebugFile(12345); ``` ## IPS_EnableDebugFile Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/debug/ips-enabledebugfile/ `bool IPS_EnableDebugFile(int $InstanzID)` _Benötigt Symcon >= 5.2_ aktiviert das Schreiben von Debug-Logs in eine Datei **Parameter** - `$InstanzID` (int): ID der Instanz **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID der Instanz **Beispiel** ```php // Aktiviert das Schreiben von Debug-Logs der Instanz 12345 IPS_EnableDebugFile(12345); // Dateiname debug_12345.log ``` ## IPS_CreateInstance Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/ips-createinstance/ `int IPS_CreateInstance(string $ModulID)` legt eine Instanz an **Parameter** - `$ModulID` (string): ModulID ( [GUID](../concepts.md) ) des zu erstellenden Objekts **Rückgabewert** (int): ID der neu erstellten Instanz ModulID ( [GUID](../concepts.md) ) des zu erstellenden Objekts **Beispiel** ```php //FS20 Instanz erstellen mit dem Namen "Stehlampe" $InsID = IPS_CreateInstance("{48FCFDC1-11A5-4309-BB0B-A0DB8042A969}"); IPS_SetName($InsID, "Stehlampe"); // Instanz benennen IPS_SetParent($InsID, 12345); // Instanz einsortieren unter dem Objekt mit der ObjektID "12345" //Konfiguration IPS_SetProperty($InsID, "HomeCode", "12345678"); // Ändere Eigenschaft "HomeCode" IPS_ApplyChanges($InsID); // Übernehme Änderungen -> Die Instanz benutzt den geänderten HomeCode ``` ## IPS_DeleteInstance Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/ips-deleteinstance/ `bool IPS_DeleteInstance(int $InstanzID)` löscht eine Instanz **Parameter** - `$InstanzID` (int): ID der zu löschenden Instanz **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID der zu löschenden Instanz **Beispiel** ```php // Löschen der Instanz 47788 IPS_DeleteInstance(47788); ``` ## IPS_GetInstance Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/ips-getinstance/ `array IPS_GetInstance(int $InstanzID)` liefert umfassende Informationen zu einer bestimmten Instanz **Parameter** - `$InstanzID` (int): Die zu zeigende InstanzID **Rückgabewert** (array): Folgende Informationen stehen als key => value Paare zur Verfügung: | Index | Typ | Beschreibung | | ----------------------------- | ------- | ------------------------------------------------------------------------- | | __InstanceID__ | integer | InstanzID | | __ConnectionID__ | integer | ID der verbundenen Instanz | | __InstanceStatus__ | integer | Statuscode der Instanz | | __InstanceSupportsSearching__ | boolean | Unterstützt die Instanz den Suchmodus | | __InstanceIsSearching__ | boolean | Die Instanz befindet sich gerade im Suchmodus | | __InstanceChanged__ | integer | Unix Zeitstempel zu dem das letzte mal die Konfiguration übernommen wurde | | __ModuleInfo__ | array | Modulinformationen | ### Status der Instanz | Code | Status | | ----- | ---------------------------- | | 101 | Instanz wird erstellt | | 102 | Instanz ist aktiv | | 103 | Instanz wird gelöscht | | 104 | Instanz ist inaktiv | | 105 | Instanz wurde nicht erstellt | | 106 | Instanz ist im Standby | | >=200 | Instanz ist fehlerhaft | ### Modulinformationen | Index | Typ | Beschreibung | | ---------- | ------- | --------------------------------------------------------------------------------------------------------------- | | ModuleID | string | ModulID zur Instanz | | ModuleName | string | ModulName der Instanz | | ModuleType | integer | ModulTyp der Instanz (0: Kern, 1: I/O, 2: Splitter, 3: Gerät, 4: Konfigurator, 5: Discovery, 6: Visualisierung) | Die zu zeigende InstanzID **Beispiel** ```php print_r(IPS_GetInstance(19668)); /* liefert z.B.: Array ( [InstanceID] => 19668 [InstanceStatus] => 102 [LastChange] => 0 [ModuleInfo] => Array ( [ModuleID] => {48FCFDC1-11A5-4309-BB0B-A0DB8042A969} [ModuleName] => FS20 [ModuleType] => 3 ) [ConnectionID] => 29416 ) */ ``` ## IPS_GetInstanceIDByName Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/ips-getinstanceidbyname/ `int IPS_GetInstanceIDByName(string $InstanzName, int $ÜbergeordneteID)` liefert die ID einer Instanz anhand des Namens **Parameter** - `$InstanzName` (string): Zu suchender InstanzName - `$ÜbergeordneteID` (int): Objekt, in deren direkten Unterobjekten gesucht werden soll **Rückgabewert** (int): ID der gefundenen Instanz, sonst FALSE Objekt, in deren direkten Unterobjekten gesucht werden soll **Beispiel** ```php $InstanzID = @IPS_GetInstanceIDByName("Regenmenge", $ÜbergeordneteID); if ($InstanzID === false) echo "Instanz nicht gefunden!"; else echo "Die Instanz-ID lautet: ". $InstanzID; ``` ## IPS_GetInstanceList Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/ips-getinstancelist/ `array IPS_GetInstanceList()` liefert eine Aufstellung aller existierenden Instanzen **Rückgabewert** (array): Ein Array von Integer-Werten aller IDs der Instanzen in IP-Symcon Die Funktion ermittelt die IDs aller in IP-Symcon registrierten IPS-Instanzen. Die IDs werden in einem Array aufgelistet. Falls keine Instanz existiert, ist das Array leer. **Beispiel** ```php $alleInstanzen = IPS_GetInstanceList(); print_r($alleInstanzen); /* liefert z.B.: Array ( [0] => 37659 [1] => 18326 usw. ... */ ``` ## IPS_GetInstanceListByModuleID Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/ips-getinstancelistbymoduleid/ `array IPS_GetInstanceListByModuleID(string $ModulID)` liefert alle Instanzen die von einer bestimmten ModulID sind **Parameter** - `$ModulID` (string): [GUID](../concepts.md) **Rückgabewert** (array): Ein Array von Integer-Werten aller gefundenen IDs [GUID](../concepts.md) **Beispiel** ```php //FS20 Sender $guid = "{48FCFDC1-11A5-4309-BB0B-A0DB8042A969}"; //Auflisten print_r(IPS_GetInstanceListByModuleID($guid)); ``` ## IPS_GetInstanceListByModuleType Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/ips-getinstancelistbymoduletype/ `array IPS_GetInstanceListByModuleType(int $ModulTyp)` liefert eine Liste aller Instanzen eines bestimmten Typs **Parameter** - `$ModulTyp` (int) | Wert | Beschreibung | | ---- | -------------- | | 0 | Kern | | 1 | I/O | | 2 | Splitter | | 3 | Geräte | | 4 | Konfigurator | | 5 | Discovery | | 6 | Visualisierung | **Rückgabewert** (array): Ein Array von Integer-Werten aller IDs der Instanzen vom Typ __InstanzTyp__ in IP-Symcon | Wert | Beschreibung | | ---- | -------------- | | 0 | Kern | | 1 | I/O | | 2 | Splitter | | 3 | Geräte | | 4 | Konfigurator | | 5 | Discovery | | 6 | Visualisierung | **Beispiel** ```php $alleInstanzen = IPS_GetInstanceListByModuleType(1); // nur I/O Instanzen auflisten print_r($alleInstanzen); /* liefert z.B.: Array ( [0] => 37659 [1] => 18326 usw. ... */ ``` ## IPS_InstanceExists Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/ips-instanceexists/ `bool IPS_InstanceExists(int $InstanzID)` prüft, ob eine bestimmte Instanz existiert **Parameter** - `$InstanzID` (int): ID der zu prüfenden Instanz **Rückgabewert** (bool): Falls die InstanzID im System existiert, wird __TRUE__ zurückgemeldet, andernfalls __FALSE__. ID der zu prüfenden Instanz **Beispiel** ```php if (IPS_InstanceExists(45724)) echo "Instanz existiert bereits!"; ``` ## Konfiguration Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ ## IPS_ApplyChanges Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ips-applychanges/ `bool IPS_ApplyChanges(int $InstanzID)` übernimmt eine veränderte Konfiguration **Parameter** - `$InstanzID` (int): ID der Instanz **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID der Instanz **Beispiel** ```php if(IPS_HasChanges(12345)) { IPS_ApplyChanges(12345); } ``` ## IPS_GetConfiguration Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ips-getconfiguration/ `string IPS_GetConfiguration(int $InstanzID)` _Benötigt Symcon >= 2.7_ liest eine Konfiguration aus **Parameter** - `$InstanzID` (int): ID der Instanz **Rückgabewert** (string): Konnte die Funktion erfolgreich ausgeführt werden, liefert er als Ergebnis die Konfiguration der Instanz als String. ID der Instanz **Beispiel** ```php // Liest die Konfiguration der Instanz 12345 aus und gibt diese via "echo" zurück. $config = IPS_GetConfiguration(12345); echo $config; // Beispielausgabe einer ModBus-Instanz {"DataType":3,"WriteAddress":0,"ReadAddress":0,"Poller":3600000,"ReadOnly":false,"EmulateStatus":true,"Factor":0.0} ``` ## IPS_GetConfigurationForm Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ips-getconfigurationform/ `string IPS_GetConfigurationForm(int $InstanzID)` _Benötigt Symcon >= 2.7_ liest eine Konfigurationseite aus **Parameter** - `$InstanzID` (int): ID der Instanz **Rückgabewert** (string): Konnte die Funktion erfolgreich ausgeführt werden, liefert er als Ergebnis die Konfigurationseite der Instanz als JSON-kodierter String. ID der Instanz **Beispiel** ```php // Liest die Konfiguration der Instanz 12345 aus und gibt diese via "echo" zurück. $configpage = json_decode(IPS_GetConfigurationForm(12345)); var_dump ($configpage->elements); //Beispielausgabe array(2) { [0]=> object(stdClass)#2 (2) { ["type"]=> string(5) "Label" ["label"]=> string(28) "Minimum needed daily changes" } [1]=> object(stdClass)#3 (3) { ["type"]=> string(13) "NumberSpinner" ["name"]=> string(19) "RequiredSwitchCount" ["caption"]=> string(5) "Count" } } ``` ## IPS_GetProperty Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ips-getproperty/ `mixed IPS_GetProperty(int $InstanzID, string $Eigenschaft)` _Benötigt Symcon >= 2.7_ liest den aktuellen Wert einer Eigenschaft **Parameter** - `$InstanzID` (int): ID der Instanz - `$Eigenschaft` (string): Name der Eigenschaft **Rückgabewert** (mixed): Aktueller Wert der Eigenschaft Name der Eigenschaft **Beispiel** ```php echo IPS_GetProperty($id, "Open"); //Ist die I/O Instanz aktiv? ``` ## IPS_HasChanges Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ips-haschanges/ `bool IPS_HasChanges(int $InstanzID)` prüft, ob eine Konfiguration verändert wurde **Parameter** - `$InstanzID` (int): ID der zu überprüfenden Instanz **Rückgabewert** (bool): __TRUE__, wenn es Änderungen gibt, sonst __FALSE__ ID der zu überprüfenden Instanz **Beispiel** ```php if(IPS_HasChanges(12345)) { IPS_ApplyChanges(12345); } ``` ## IPS_ResetChanges Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ips-resetchanges/ `bool IPS_ResetChanges(int $InstanzID)` setzt eine veränderte Konfiguration auf die aktuelle zurück **Parameter** - `$InstanzID` (int): ID der zu ändernden Instanz **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID der zu ändernden Instanz **Beispiel** ```php if(IPS_HasChanges(12345)) { IPS_ResetChanges(12345); } ``` ## IPS_SetConfiguration Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ips-setconfiguration/ `bool IPS_SetConfiguration(int $InstanzID, string $Konfiguration)` _Benötigt Symcon >= 2.7_ setzt eine neue Konfiguration **Parameter** - `$InstanzID` (int): ID der Instanz - `$Konfiguration` (string): Die Konfiguration als String **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Die Konfiguration als String **Beispiel** ```php // Hier soll die Konfiguration der ModBus-Instanz mit der ID 12345 gesetzt werden. IPS_SetConfiguration(12345, '{"DataType":3,"WriteAddress":1,"ReadAddress":0,"Poller":3600000,"ReadOnly":false,"EmulateStatus":true,"Factor":0.0}'); IPS_ApplyChanges(12345); //Neue Konfiguration übernehmen ``` ## IPS_SetProperty Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/konfiguration/ips-setproperty/ `bool IPS_SetProperty(int $InstanzID, string $Eigenschaft, mixed $Wert)` _Benötigt Symcon >= 2.7_ setzt einen neuen Wert für eine Eigenschaft **Parameter** - `$InstanzID` (int): ID der Instanz - `$Eigenschaft` (string): Name der Eigenschaft - `$Wert` (mixed): Neuer Wert der Eigenschaft **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Neuer Wert der Eigenschaft **Beispiel** ```php IPS_SetProperty($id, "Open", true); //I/O Instanz soll aktiviert sein. IPS_ApplyChanges($id); //Neue Konfiguration übernehmen // Zur Erstellung dieser Tabelle $moduleID) { //create $iids = IPS_GetInstanceListByModuleID($moduleID); if (sizeof($iids) > 0) { $iid = $iids[0]; } else { $iid = IPS_CreateInstance($moduleID); } $properties = json_decode(IPS_GetConfiguration($iid), true); ksort($properties, SORT_STRING | SORT_FLAG_CASE); //build text echo "__" . $moduleName . "__" . PHP_EOL; echo PHP_EOL; echo "Eigenschaft | Typ | Standardwert" . PHP_EOL; echo "-------------------------- | ------- | --------------------" . PHP_EOL; foreach($properties as $key => $value) { if ($moduleName == "WebServer") { switch($key) { case "Certificate": case "DHParameters": case "PrivateKey": $value = "_removed_"; break; } } echo str_pad($key, 27) . "| " . str_pad(gettype($value), 8) . "| ". $value . PHP_EOL; } echo PHP_EOL; echo PHP_EOL; //cleanup $childrenIDs = IPS_GetChildrenIDs($iid); foreach($childrenIDs as $childrenID) { IPS_DeleteVariable($childrenID); } IPS_DeleteInstance($iid); } ``` ## Referenzen Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/referenzen/ ## IPS_GetReferenceList Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/referenzen/ips-getreferencelist/ `array IPS_GetReferenceList(int $InstanzID)` gibt die IDs aller Referenzen wieder **Parameter** - `$InstanzID` (int): ID der Instanz **Rückgabewert** (array): Ein Array von Integer-Werten aller IDs der referenzierten Objekte ID der Instanz **Beispiel** ```php IPS_GetReferenceList(12345); ``` ## StatusVariablen Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/statusvariablen/ > **Achtung:** Die Dokumentation dieser Funktion ist nur noch aus Kompatibilitätsgründen vorhanden und sollte ab IP-Symcon 2.5 nicht mehr verwendet werden. Diese Funktion wird ab Version 2.5 nur noch emuliert und sollte durch die entsprechenden Ersatzfunktionen ausgetauscht werden. Seit Version 4.0 kann diese Funktion nur noch genutzt werden, wenn der [Spezialschalter](../developer/special-switches.md) "Kompatibilitätsfunktionen" aktiviert ist. > **Hinweis:** Ab Version 2.5 haben alle Objekte das Feld "Ident", welches über die Funktion [IPS_GetObjectIDByIdent](management-objects.md) gesucht werden kann Status Variablen sind normale IP-Symcon Variablen, die jedoch an eine Instanz fest gebunden sind. Status Variable sind als “Nur-Lesen” markiert, sodass diese nicht aus PHP Skripten heraus modifiziert werden können, um den Status als solchen nur vom jeweiligen Gerät änderbar zu machen. Der Vorteil der Status Variablen ist, dass diese über die Instanz unter einem eindeutigen und nicht veränderbaren Namen ansprechbar sind. Das ist im Gegensatz zu den Objektnamen von großem Vorteil, da diese vom Benutzer änderbar sind und dadurch in jeder IP-Symcon Umgebung anders sein können. Im Gegensatz dazu, können über die VariableIdents der Status Variablen die IDs der dazugehören IP-Symcon Variable erfragt werden, wodurch ein IP-Symcon umgebungsunabhängiger Zugriff möglich ist. Bei einem Zugriff auf Variablen sollte die Funktion [IPS_GetObjectIDByIdent](management-objects.md) verwendet werden. ## Verbindungen Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/verbindungen/ ## IPS_ConnectInstance Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/verbindungen/ips-connectinstance/ `bool IPS_ConnectInstance(int $InstanzID, int $ConnectionID)` erstellt eine (Daten-)Verbindung zwischen zwei Instanzen **Parameter** - `$InstanzID` (int): ID der Instanz - `$ConnectionID` (int): ID der neu zu verbindenen Instanz **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID der neu zu verbindenen Instanz **Beispiel** ```php IPS_ConnectInstance(12345, 23456); ``` ## IPS_DisconnectInstance Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/verbindungen/ips-disconnectinstance/ `bool IPS_DisconnectInstance(int $InstanzID)` löst eine (Daten-)Verbindung zwischen zwei Instanzen **Parameter** - `$InstanzID` (int): ID der Instanz **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID der Instanz **Beispiel** ```php IPS_DisconnectInstance(12345); ``` ## IPS_GetCompatibleInstances Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/verbindungen/ips-getcompatibleinstances/ `bool IPS_GetCompatibleInstances(int $InstanzID)` liefert kompatible Instanzen zu einer Instanz **Parameter** - `$InstanzID` (int): ID der zu prüfenden Instanz **Rückgabewert** (bool): Array von Integer-Werten aller kompatiblen InstanzIDs zur __InstanzID__ ID der zu prüfenden Instanz **Beispiel** ```php print_r(IPS_GetCompatibleInstances(12345)); /* liefert z.B.: Array ( [0] => 22222 [1] => 33333 [2] => 44444 [3] => 55555 usw. ... ) */ ``` ## IPS_IsInstanceCompatible Quelle: https://www.symcon.de/de/service/dokumentation/befehlsreferenz/instanzenverwaltung/verbindungen/ips-isinstancecompatible/ `bool IPS_IsInstanceCompatible(int $InstanzID, int $ÜbergeordneteID)` prüft, ob eine Verbindung zwischen zwei Instanzen möglich ist **Parameter** - `$InstanzID` (int): ID der Instanz - `$ÜbergeordneteID` (int): ID der potentiellen übergeordneten Instanz **Rückgabewert** (bool): __TRUE__, wenn die Instanz kompatibel sind, sonst __FALSE__ ID der potentiellen übergeordneten Instanz **Beispiel** ```php if (IPS_IsInstanceCompatible(12345, 23456)) echo "Instanz ist zur anderen Instanz kompatibel!"; ```