# Management of Categories > 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-categories/ ## IPS_CategoryExists Source: https://www.symcon.de/en/service/documentation/command-reference/management-categories/ips-categoryexists/ `bool IPS_CategoryExists(int $CategoryID)` checks if a category exists **Parameters** - `$CategoryID` (int): ID of the category to be tested **Returns** (bool): If the CategoryID exists in the system, __TRUE__ is returned, otherwise __FALSE__. ID of the category to be tested **Example** ```php if (IPS_CategoryExists(45724)) echo "Category already exists!"; ``` ## IPS_CreateCategory Source: https://www.symcon.de/en/service/documentation/command-reference/management-categories/ips-createcategory/ `int IPS_CreateCategory()` creates a new category **Returns** (int): ID of the newly created category This command creates a new category. No parameters are required. After the commands execution, a new category appears in the category tree of IP Symcon. The category is intially named "Unnamed Object (ID: 12345)" or similar, depending on its ID. The command [IPS_SetName](management-objects.md) can be used to provide a meaningful name to the new category. If the category is meant to be a subcategory, it can be moved to its designated parent by using the command [IPS_SetParent](management-objects.md). The function returns an ID that can clearly identify the generated category. **Example** ```php // Create a new category called "Rain sensing" $CatID = IPS_CreateCategory(); // Creating a Category IPS_SetName($CatID, "Rain sensing"); // Category name ``` ## IPS_DeleteCategory Source: https://www.symcon.de/en/service/documentation/command-reference/management-categories/ips-deletecategory/ `bool IPS_DeleteCategory(int $CategoryID)` deletes an existing category **Parameters** - `$CategoryID` (int): ID of the category to be deleted **Returns** (bool): If the command succeeds, it returns __TRUE__, otherwise __FALSE__. ID of the category to be deleted **Example** ```php // Delete the category 47788 IPS_DeleteCategory(47788); ``` ## IPS_GetCategoryIDByName Source: https://www.symcon.de/en/service/documentation/command-reference/management-categories/ips-getcategoryidbyname/ `int IPS_GetCategoryIDByName(string $CategoryName, int $ParentID)` searches and returns the ID of an existing category by its name **Parameters** - `$CategoryName` (string): Name of the searched category - `$ParentID` (int): Object whose child objects are searched **Returns** (int): ID of the found category, otherwise __FALSE__ Object whose child objects are searched **Example** ```php $CatID = @IPS_GetCategoryIDByName("Rain Sensing ", $ParentID); if ($CatID === false) echo "Category not found!"; else echo "The Category ID is: ". $CatID; ``` ## IPS_GetCategoryList Source: https://www.symcon.de/en/service/documentation/command-reference/management-categories/ips-getcategorylist/ `array IPS_GetCategoryList()` returns a list of all existing categories **Returns** (array): An array that contains all IDs of the categories in IP Symcon as integer values The command determines the IDs of all categories within IP Symcon. The IDs are listed in an array. If no category exists, the array is empty. **Example** ```php $allCategories = IPS_GetCategoryList(); print_r($allCategories); /* returns e.g.: Array ( [0] => 0 [1] => 37659 [2] => 18326 etc. ... ) */ ```