# Program Information > 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/program-information/ ## IPS_FunctionExists Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-functionexists/ `bool IPS_FunctionExists(int $FunctionName)` _Requires Symcon >= 2.6_ checks if a specific function exists **Parameters** - `$FunctionName` (int): Name of the checked function **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. Name of the checked function **Example** ```php if (IPS_FunctionExists("GetValue")) echo "The function GetValue exists!"; ``` ## IPS_GetFunction Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getfunction/ `array IPS_GetFunction(int $FunctionName)` _Requires Symcon >= 2.6_ returns extensive information about a function **Parameters** - `$FunctionName` (int): Name of the checked function **Returns** (array): An array with the following __key => value__ pairs | Index | Type | Description | | ---------------- | ------ | --------------------------------- | | __FunctionName__ | string | Function name | | __Parameters__ | array | See Table "Parameter Information" | | __Result__ | array | See Table "Result Information" | _Table: Parameter Information_ | Index | Type | Description | | ----------- | ------- | ---------------------------------------------------------------------------------------------- | | Description | string | Name of the parameter | | Enumeration | array | Named presentation of possible integer values | | Type_ | integer | Variable Type of parameter/result: 0=Boolean, 1=Integer, 2=Float, 3=String, 4=Variant, 5=Array | _Table: Result Information_ | Index | Type | Description | | ----------- | ------- | ---------------------------------------------------------------------------------------------- | | Description | string | Name of the parameter | | Enumeration | array | Named presentation of possible integer values | | Type_ | integer | Variable Type of parameter/result: 0=Boolean, 1=Integer, 2=Float, 3=String, 4=Variant, 5=Array | Name of the checked function **Example** ```php // Request information about the functions IPS_GetFunction and IPS_CreateMedia var_dump(IPS_GetFunction("IPS_GetFunction")); var_dump(IPS_GetFunction("IPS_CreateMedia")); // Result "IPS_GetFunction" /* array(3) { ["FunctionName"]=> string(15) "IPS_GetFunction" ["Result"]=> array(3) { ["Type_"]=> int(5) ["Description"]=> string(6) "Result" ["Enumeration"]=> array(0) { } } ["Parameters"]=> array(1) { [0]=> array(3) { ["Type_"]=> int(3) ["Description"]=> string(12) "FunctionName" ["Enumeration"]=> array(0) { } } } */ // Result "IPS_CreateMedia" /* array(3) { ["FunctionName"]=> string(15) "IPS_CreateMedia" ["Result"]=> array(3) { ["Type_"]=> int(1) ["Description"]=> string(6) "Result" ["Enumeration"]=> array(0) { } } ["Parameters"]=> array(1) { [0]=> array(3) { ["Type_"]=> int(1) ["Description"]=> string(9) "MediaType" ["Enumeration"]=> array(6) { [0]=> string(6) "mtForm" [1]=> string(7) "mtImage" [2]=> string(7) "mtSound" [3]=> string(8) "mtStream" [4]=> string(7) "mtChart" [5]=> string(10) "mtDocument" } } } } */ ``` ## IPS_GetFunctionList Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getfunctionlist/ `array IPS_GetFunctionList(int $InstanceID)` _Requires Symcon >= 2.6_ returns a list of all available functions **Parameters** - `$InstanceID` (int): ID of the instance whose functions are returned, 0 for all functions **Returns** (array): An array of string values ​​of all function names ID of the instance whose functions are returned, 0 for all functions **Example** ```php $allFunctions = IPS_GetFunctionList(0); print_r($allFunktions[48]); // return only function 48 (IPS_CreateScript) /* returns: Array ( [FunctionName] => IPS_CreateScript [Parameters] => Array ( [0] => Array ( [Description] => ScriptType [Type_] => 1 ) ) [Result] => Array ( [Description] => Result [Type_] => 1 ) ) */ //Export all IP Symcon functions with a parameter list $instanceid = 0; //0 = All functions, otherwise filter on InstanceID $fs = IPS_GetFunctionList($instanceid); asort($fs); $typestr = Array("boolean", "integer", "float", "string", "variant", "array"); foreach($fs as $f) { $f = IPS_GetFunction($f); echo sprintf("[%7s]", $typestr[$f['Result']['Type_']]) . " - ".$f['FunctionName']."("; $a = Array(); foreach($f['Parameters'] as $p) { if(isset($p['Enumeration']) && sizeof($p['Enumeration']) > 0) { $b=Array(); foreach($p['Enumeration'] as $k => $v) { $b[] = $k."=".$v; } $type = "integer/enum[".implode(", ", $b)."]"; } else { $type = $typestr[$p['Type_']]; } $a[]=$type." $".$p['Description']; } echo implode(", ", $a).");\n"; } ``` ## IPS_GetFunctionListByModuleID Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getfunctionlistbymoduleid/ `array IPS_GetFunctionListByModuleID(string $ModuleID)` returns a list of all available functions of a module **Parameters** - `$ModuleID` (string): GUID of the module **Returns** (array): An array of string values of all functions GUID of the module **Example** ```php // All functions of "DPT 200.x - Binary Value & Status" from KNX print_r(IPS_GetFunctionListByModuleID("{04ED3286-C982-436F-A01E-8A03C2E976A8}")); /* returns: Array ( [0] => IPS_RequestAction [1] => IPS_StopSearch [2] => IPS_StartSearch [3] => IPS_IsSearching [4] => KNX_WriteDPT200 [5] => IPS_GetConfigurationForm [6] => IPS_SupportsSearching [7] => KNX_RequestStatus [8] => IPS_GetConfiguration [9] => IPS_GetProperty [10] => IPS_SetProperty [11] => IPS_SetConfiguration [12] => IPS_GetConfigurationForParent [13] => IPS_HasChanges [14] => IPS_ResetChanges [15] => IPS_ApplyChanges [16] => IPS_GetReferenceList [17] => IPS_Translate [18] => KNX_RenameVariables ) */ ``` ## IPS_GetKernelArchitecture Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkernelarchitecture/ `string IPS_GetKernelArchitecture()` _Requires Symcon >= 6.0_ supplies the architecture that IP-Symcon was created for **Returns** (string): The architecture that IP-Symcon was created for The function returns a string with the architecture which IP-Symcon was created for **Example** ```php echo IPS_GetKernelArchitecture (); // Sample output: /* // MacOS, Windows 32Bit i386 // Linux, Windows 64Bit amd64 // Linux, Raspberry Pi armhf // Linux, Raspberry Pi arm64 */ ``` ## IPS_GetKernelDate Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkerneldate/ `int IPS_GetKernelDate()` _Requires Symcon >= 4.4_ returns the kernel creation date **Returns** (int): The creation date in UnixTimeStamp The function supplies an integer value, which outputs the creation date of the kernel as UnixTimeStamp. **Example** ```php echo IPS_GetKernelDate (); // Sample output: // 1511046903 ``` ## IPS_GetKernelDir Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkerneldir/ `string IPS_GetKernelDir()` returns the path to the IP Symcon program folder **Returns** (string): The full path to the IP Symcon program folder The function returns a string containing the full path to the IP Symcon program folder (Settings, Scripts, Media, ...). Depending on the operating system, the path contains a trailing slash ("/") or backslash ("\"). **Example** ```php echo IPS_GetKernelDir(); // Examplary output: /* // Windows // since Version 5.3 C:\ProgramData\Symcon\ // until Version 5.2 C:\Programs\IP-Symcon\ // Linux, RaspberryPi /var/lib/symcon/ // MacOS /Library/Application Support/Symcon/ */ ``` ## IPS_GetKernelDirEx Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkerneldirex/ `string IPS_GetKernelDirEx()` _Requires Symcon >= 4.0_ returns the path to the IP Symcon installation folder **Returns** (string): The full path to the IP Symcon installation folder The function returns a string containing the full path to the IP Symcon installation folder. Depending on the operating system, the path contains a trailing slash ("/") or backslash ("\"). **Example** ```php echo IPS_GetKernelDirEx(); // Examplary output: /* // Windows C:\Programs\IP-Symcon\ // Linux, RaspberryPi /usr/share/symcon/ // MacOS /Applications/Symcon.app/Contents/Service/ */ ``` ## IPS_GetKernelDirSpace Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkerneldirspace/ `array IPS_GetKernelDirSpace()` _Requires Symcon >= 6.2_ returns the total/free/available/disk space where IP-Symcon has its data **Returns** (array): returns the total/free/available/disk space The function returns an array containing the Keys Total/Free/Available. Those contain the total/free/available disk space where all data of IP-Symcon is saved. **Example** ```php print_r(IPS_GetKernelDirSpace()); // Examplary output: /* Array ( [Total] => 511582613504 [Free] => 96859312128 [Available] => 96859312128 ) */ ``` ## IPS_GetKernelPlatform Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkernelplatform/ `string IPS_GetKernelPlatform()` _Requires Symcon >= 4.4_ supplies the operating system which IP-Symcon is running on **Returns** (string): The operating system IP-Symcon is running on The function returns a string with the operating system the IP-Symcon server is running on **Example** ```php echo IPS_GetKernelPlatform(); // Sample output: /* // SymBox SymBox // Windows Windows // Linux Ubuntu Ubuntu (Docker) // RaspberryPi Raspberry Pi Raspberry Pi (Docker) // MacOS Mac */ ``` ## IPS_GetKernelRevision Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkernelrevision/ `string IPS_GetKernelRevision()` _Requires Symcon >= 4.4_ supplies a unique revision identifier **Returns** (string): Unique revision identifier The function returns a string with a unique revision identifier. **Example** ```php echo IPS_GetKernelRevision(); // Sample output: // 8edcb65b27506d687dd6a4d1cee470f86e2d89e1 ``` ## IPS_GetKernelRunlevel Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkernelrunlevel/ `int IPS_GetKernelRunlevel()` _Requires Symcon >= 4.0_ returns the run level of the kernel **Returns** (int): Run level of the kernel This function returns the run level of the system. | Run level | Return value | Description | | ----------- | ------------ | --------------------------------------------------------------------------- | | KR_CREATE | 10101 | Kernel is being created | | KR_INIT | 10102 | Kernel is being initialized, i.e., modules are loaded and instances created | | KR_READY | 10103 | Kernel is ready and running | | KR_UNINIT | 10104 | Kernel is being shut down and everything is quit cleanly | | KR_SHUTDOWN | 10105 | Kernel was shut down completely | **Example** ```php echo IPS_GetKernelRunlevel(); // returns, e.g., 10103, if the run level is KR_READY ``` ## IPS_GetKernelStartTime Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkernelstarttime/ `int IPS_GetKernelStartTime()` _Requires Symcon >= 4.0_ returns the point of time when IP Symcon was started **Returns** (int): Point of time of the most recent start of IP Symcon The function returns the date and time of the start time of IP Symcon as Unix Timestamp. **Example** ```php // returns, e.g., 1204675012 echo IPS_GetKernelStartTime(); // returns, e.g., "2008.03.04 23:56:52" echo date("Y.m.d H:i:s", IPS_GetKernelStartTime()); ``` ## IPS_GetKernelVersion Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getkernelversion/ `string IPS_GetKernelVersion()` returns the version number of the used kernel **Returns** (string): Program version. Major/ Minor version is seperated by a dot (".") The function returns a string with the number of the IP Symcon program version. This information can be used to decide if a script can be run under the reported version. **Example** ```php echo IPS_GetKernelVersion(); // returns, e.g., "2.00" ``` ## IPS_GetLogDir Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getlogdir/ `string IPS_GetLogDir()` _Requires Symcon >= 4.0_ returns the path to the IP Symcon log folder **Returns** (string): The full path to the IP Symcon log folder The function returns a string containing the full path to the IP Symcon log folder. Depending on the operating system, the path contains a trailing slash ("/") or backslash ("\"). **Example** ```php echo IPS_GetLogDir(); // Examplary output: /* //Windows "C:\Programs\IP-Symcon\logs\" // Linux, RaspberryPi "/var/log/symcon/" // MacOS "/Library/Logs/Symcon" */ ``` ## IPS_GetSystemLanguage Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getsystemlanguage/ `string IPS_GetSystemLanguage()` _Requires Symcon >= 6.1_ returns the system language of the operating system on which IP-Symcon is running **Returns** (string): System language The function returns a string of the system language of the operating system on which IP-Symcon is running. **Example** ```php echo IPS_GetSystemLanguage(); // example output: /* // German de_DE // English en_US */ ``` ## IPS_GetUpdateChannel Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-getupdatechannel/ `string IPS_GetUpdateChannel()` _Requires Symcon >= 6.1_ returns the currently configured update channel **Returns** (string): Currently configured update channel The function returns a string with the currently configured update channel. **Example** ```php echo IPS_GetUpdateChannel(); //returns e.g.: stable, beta or testing ``` ## IPS_LogMessage Source: https://www.symcon.de/en/service/documentation/command-reference/program-information/ips-logmessage/ `bool IPS_LogMessage(string $Sender, string $Message)` Writes a user defined message into the log file **Parameters** - `$Sender` (string): The sender - `$Message` (string): The message **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. The message **Example** ```php $ScriptStart = microtime(true); // calculate a lot... $ScriptTerm = microtime(true) - $ScriptStart; IPS_LogMessage($_IPS['SELF'], "Term is ". $SkriptTerm. "sec"); ```