# Management of Instances > Symcon documentation · English · generated on 2026-09-26 > Index: https://www.symcon.de/en/llms.txt Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ ## Debug Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/debug/ ## IPS_DisableDebugFile Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/debug/ips-disabledebugfile/ `bool IPS_DisableDebugFile(int $InstanceID)` _Requires Symcon >= 5.2_ deactivates the writing of debug logs to a file **Parameters** - `$InstanceID` (int): Instance ID **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. Instance ID **Example** ```php // Deactivates the writing of debug logs for instance 12345 IPS_DisableDebugFile(12345); ``` ## IPS_EnableDebugFile Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/debug/ips-enabledebugfile/ `bool IPS_EnableDebugFile(int $InstanceID)` _Requires Symcon >= 5.2_ activates the writing of debug logs to a file **Parameters** - `$InstanceID` (int): Instance ID **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. Instance ID **Example** ```php // Activates the writing of debug logs for instance 12345 IPS_EnableDebugFile(12345); // filename debug_12345.log ``` ## IPS_CreateInstance Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ips-createinstance/ `int IPS_CreateInstance(string $ModuleID)` creates an instance **Parameters** - `$ModuleID` (string): ModuleID of the object to create **Returns** (int): ID of the newly created instance ModuleID of the object to create **Example** ```php //FS20 Create Instance $InsID IPS_CreateInstance("{48FCFDC1-11A5-4309-BB0B-A0DB8042A969}"); IPS_SetName($InsID, "Standing lamp"); // Name instance IPS_SetParent($InsID, 12345); // Sort instance under the object with ID "12345" //Configuration IPS_SetProperty($InsID, "HomeCode", "12345678"); //Change property "HomeCode" IPS_ApplyChanges($InsID); //Apply changes -> The instance uses the changed HomeCode ``` ## IPS_DeleteInstance Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ips-deleteinstance/ `bool IPS_DeleteInstance(int $InstanceID)` deletes an instance **Parameters** - `$InstanceID` (int): ID of the instance to delete **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. ID of the instance to delete **Example** ```php // Delete the Instance 47788 IPS_DeleteInstance(47788); ``` ## IPS_GetInstance Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ips-getinstance/ `array IPS_GetInstance(int $InstanceID)` returns extensive information about a specific instance **Parameters** - `$InstanceID` (int): InstanceID to be returned **Returns** (array): The following information is available as key => value pairs: | Index | Type | Description | | ----------------------------- | ------- | ------------------------------------------------------------- | | __InstanceID__ | integer | InstanceID | | __ConnectionID__ | integer | ID of the connected instance | | __InstanceStatus__ | integer | Status code of the instance | | __InstanceSupportsSearching__ | boolean | Does the instance support the search mode | | __InstanceIsSearching__ | boolean | Instance is in search mode | | __InstanceChanged__ | integer | Unix Timestamp of the last application of configuration | | __ModuleInfo__ | array | Module Information | ### Status of Instance | Code | Status | | ----- | ----------------------------- | | 101 | Instance will be created | | 102 | Instance is activ | | 103 | Instance will be deleted | | 104 | Instance is inactiv | | 105 | Instance was not created | | 106 | Instance is in standby | | >=200 | Instance is marked als faulty | ### Module Information | Index | Type | Description | | ---------- | ------- | ----------------------------------------------------------------------------------------------------------------- | | ModuleID | string | ModuleID of Instance | | ModuleName | string | ModuleName of Instance | | ModuleType | integer | ModuleType of Instance (0: Core, 1: I/O, 2: Splitter, 3: Device, 4: Configurator, 5: Discovery, 6: Visualization) | InstanceID to be returned **Example** ```php print_r(IPS_GetInstance(19668)); /* returns e.g.: Array ( [InstanceID] => 19668 [InstanceStatus] => 102 [LastChange] => 0 [ModuleInfo] => Array ( [ModuleID] => {48FCFDC1-11A5-4309-BB0B-A0DB8042A969} [ModuleName] => FS20 [ModuleType] => 3 ) [ConnectionID] => 29416 ) */ ``` ## IPS_GetInstanceIDByName Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ips-getinstanceidbyname/ `int IPS_GetInstanceIDByName(string $InstanceName, int $ParentID)` returns the ID of an instance by its name **Parameters** - `$InstanceName` (string): Name of the searched instance - `$ParentID` (int): Object whose child objects are searched **Returns** (int): ID of the found instance, otherwise __FALSE__ Object whose child objects are searched **Example** ```php $InstanceID = @IPS_GetInstanceIDByName("Rainfall", $ParentID); if ($InstanceID === false) echo "Instance not found!"; else echo "The Instance ID is: ". $InstanceID; ``` ## IPS_GetInstanceList Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ips-getinstancelist/ `array IPS_GetInstanceList()` returns a list of all existing instances **Returns** (array): An array of integer values ​​of all IDs of the instances in IP-Symcon The command determines the IDs of all registered IPS instances in IP-Symcon. The IDs are listed in an array. If no instance exists, the array is empty. **Example** ```php $allInstances = IPS_GetInstanceList(); print_r($allInstances); /* returns e.g.: Array ( [0] => 37659 [1] => 18326 etc. ... */ ``` ## IPS_GetInstanceListByModuleID Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ips-getinstancelistbymoduleid/ `array IPS_GetInstanceListByModuleID(string $ModuleID)` returns all instances with a specific module ID **Parameters** - `$ModuleID` (string): ModuleID of the instances to be returned **Returns** (array): An array of integer values ​​of all found IDs ModuleID of the instances to be returned **Example** ```php //FS20 Transmitter $guid = "{48FCFDC1-11A5-4309-BB0B-A0DB8042A969}"; //List print_r(IPS_GetInstanceListByModuleID($guid)); ``` ## IPS_GetInstanceListByModuleType Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ips-getinstancelistbymoduletype/ `array IPS_GetInstanceListByModuleType(int $ModuleType)` returns a list of all instances with a specific type **Parameters** - `$ModuleType` (int) | Wert | Beschreibung | | ---- | -------------- | | 0 | Kern | | 1 | I/O | | 2 | Splitter | | 3 | Geräte | | 4 | Konfigurator | | 5 | Discovery | | 6 | Visualisierung | **Returns** (array): An array of integer values ​​of all IDs of the instances of the type __InstanceType__ in IP Symcon | Wert | Beschreibung | | ---- | -------------- | | 0 | Kern | | 1 | I/O | | 2 | Splitter | | 3 | Geräte | | 4 | Konfigurator | | 5 | Discovery | | 6 | Visualisierung | **Example** ```php $allInstances = IPS_GetInstanceListByModuleType(1); // lists only I/O Instances print_r($allInstances); /* returns e.g.: Array ( [0] => 37659 [1] => 18326 etc. ... */ ``` ## IPS_InstanceExists Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/ips-instanceexists/ `bool IPS_InstanceExists(int $InstanceID)` checks if a specific instance exists **Parameters** - `$InstanceID` (int): ID of the Instance to be tested **Returns** (bool): If the InstanceID exists in the system, __TRUE__ is returned, otherwise __FALSE__. ID of the Instance to be tested **Example** ```php if (IPS_InstanceExists(45724)) echo "Instance already exists!"; ``` ## Configuration Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ ## IPS_ApplyChanges Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ips-applychanges/ `bool IPS_ApplyChanges(int $InstanceID)` applies a changed configuration **Parameters** - `$InstanceID` (int): ID of the instance **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. ID of the instance **Example** ```php if(IPS_HasChanges(12345)) { IPS_ApplyChanges(12345); } ``` ## IPS_GetConfiguration Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ips-getconfiguration/ `string IPS_GetConfiguration(int $InstanceID)` _Requires Symcon >= 2.7_ reads a configuration **Parameters** - `$InstanceID` (int): ID of the instance **Returns** (string): If the command is executed successfully, it returns the configuration of the instance as string. ID of the instance **Example** ```php // Read the configuration of instance 12345 and output it via "echo". $config = IPS_GetConfiguration(12345); echo $config; // Examplary output of a ModBus instance {"DataType":3,"WriteAddress":0,"ReadAddress":0,"Poller":3600000,"ReadOnly":false,"EmulateStatus":true,"Factor":0.0} ``` ## IPS_GetConfigurationForm Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ips-getconfigurationform/ `string IPS_GetConfigurationForm(int $InstanceID)` _Requires Symcon >= 2.7_ reads a configuration form **Parameters** - `$InstanceID` (int): ID of the instance **Returns** (string): If the command is executed successfully, it returns the configuration form of the instance as JSON coded string. ID of the instance **Example** ```php // Read the configuration form of instance 12345 and output it $configpage = json_decode(IPS_GetConfigurationForm(12345)); var_dump ($configpage->elements); // Examplary output 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 Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ips-getproperty/ `mixed IPS_GetProperty(int $InstanceID, string $Property)` _Requires Symcon >= 2.7_ reads the current value of a property **Parameters** - `$InstanceID` (int): ID of the instance - `$Property` (string): Name of the property **Returns** (mixed): Current value of the property Name of the property **Example** ```php echo IPS_GetProperty($id, "Open"); // Is the I/O instance active? ``` ## IPS_HasChanges Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ips-haschanges/ `bool IPS_HasChanges(int $InstanceID)` checks if the configuration was changed **Parameters** - `$InstanceID` (int): ID of the instance **Returns** (bool): __TRUE__ if there are changes, otherwise __FALSE__ ID of the instance **Example** ```php if(IPS_HasChanges(12345)) IPS_ApplyChanges(12345); ``` ## IPS_ResetChanges Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ips-resetchanges/ `bool IPS_ResetChanges(int $InstanceID)` resets the modified configuration to the current configuration **Parameters** - `$InstanceID` (int): ID of the instance **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. ID of the instance **Example** ```php if(IPS_HasChanges(12345)) { IPS_ResetChanges(12345); } ``` ## IPS_SetConfiguration Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ips-setconfiguration/ `bool IPS_SetConfiguration(int $InstanceID, string $Configuration)` _Requires Symcon >= 2.7_ set a new configuration **Parameters** - `$InstanceID` (int): ID of the instance - `$Configuration` (string): The configuration as string **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. The configuration as string **Example** ```php // Set the configuration for the ModBus instance with the ID 12345 IPS_SetConfiguration(12345, '{"DataType":3,"WriteAddress":1,"ReadAddress":0,"Poller":3600000,"ReadOnly":false,"EmulateStatus":true,"Factor":0.0}'); IPS_ApplyChanges(12345); // Apply new configuration ``` ## IPS_SetProperty Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/configuration/ips-setproperty/ `bool IPS_SetProperty(int $InstanceID, string $Property, mixed $Value)` _Requires Symcon >= 2.7_ set a planned value for a property **Parameters** - `$InstanceID` (int): ID of the instance - `$Property` (string): Name of the property - `$Value` (mixed): New planned value of the property **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. New planned value of the property **Example** ```php IPS_SetProperty($id, "Open", true); // I/O instance should be active IPS_ApplyChanges($id); // Apply new configuration // For creating this table $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 "Property | Type | Default Value" . 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); } ``` ## References Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/references/ ## IPS_GetReferenceList Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/references/ips-getreferencelist/ `array IPS_GetReferenceList(int $InstanceID)` returns the IDs of all references **Parameters** - `$InstanceID` (int): Instance ID **Returns** (array): An array of integer values of all IDs of the referenced objects Instance ID **Example** ```php IPS_GetReferenceList(12345); ``` ## Status Variables Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/status-variables/ > **Warning:** The documentation of this function only for compatibility reasons and should not be used in IPSymcon 2.5 and newer versions. Since version 2.5, the functionality is only emulated and should be replaced by other functions. Since version 4.0, these functions can only be accessed if the [Special Switch](../developer/special-switches.md) "Compatibility Functions" is activated. > **Note:** Since version 2.5 all objects have the field "Ident" which can be used by the function [IPS_GetObjectIDByIdent](management-objects.md). Status variables are normal IP-Symcon variables that are tied to an instance. Status variables are marked as "Read Only" and cannot be modified by scripts. They can only be changed by the tied instance. Unlike regular variables, status variables are uniquely identifiable with their instance and unchangeable name. This method should be preffered to using object names as these can be changed by the user and can be different in every IP-Symcon environment. In contrast, the status variables can be accessed via VariableIdents which enables access independently of the environment. To access status variables, the function [IPS_GetObjectIDByIdent](management-objects.md) should be used. ## Connection Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/connection/ ## IPS_ConnectInstance Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/connection/ips-connectinstance/ `bool IPS_ConnectInstance(int $InstanceID, int $ParentID)` creates a (data) connection between two instances **Parameters** - `$InstanceID` (int): ID of the instance - `$ParentID` (int): ID of the newly connected instance **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. ID of the newly connected instance **Example** ```php IPS_ConnectInstance(12345, 23456); ``` ## IPS_DisconnectInstance Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/connection/ips-disconnectinstance/ `bool IPS_DisconnectInstance(int $InstanceID)` disconnects a (data) connection between two instances **Parameters** - `$InstanceID` (int): ID of the instance **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. ID of the instance **Example** ```php IPS_DisconnectInstance(12345); ``` ## IPS_GetCompatibleInstances Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/connection/ips-getcompatibleinstances/ `bool IPS_GetCompatibleInstances(int $InstanceID)` returns compatible instances to an instance **Parameters** - `$InstanceID` (int): ID of the instance **Returns** (bool): Array of integer values ​​for all compatible InstanceIDs to the __InstanceID__ ID of the instance **Example** ```php print_r(IPS_GetCompatibleInstances(12345)); /* returns e.g.: Array ( [0] => 22222 [1] => 33333 [2] => 44444 [3] => 55555 etc. ... ) */ ``` ## IPS_IsInstanceCompatible Source: https://www.symcon.de/en/service/documentation/command-reference/management-instances/connection/ips-isinstancecompatible/ `bool IPS_IsInstanceCompatible(int $InstanceID, int $ParentID)` checks if a connection between two instances is possible **Parameters** - `$InstanceID` (int): ID of the instance - `$ParentID` (int): ID of the potential parent instance **Returns** (bool): __TRUE__ if the instance is compatible, otherwise __FALSE__ ID of the potential parent instance **Example** ```php if (IPS_IsInstanceCompatible(12345, 23456)) echo "Instance is compatible to another instance!"; ```