Describe the bug
Currently, HASS_SELECT entities created via HA Discovery always appear in the "Controls" section of a device in Home Assistant. There is no way to set their entity_category to config or diagnostic from the device side, unlike other entity types like HASS_BUTTON.
To Reproduce
Steps to reproduce the behavior:
Configure a channel as a select entity (e.g., OffOnRemember) on a BK7231N device.
Run HA Discovery.
Observe the created select entity in Home Assistant.
Expected behavior
There should be a way to specify the entity_category (e.g., "config") for a HASS_SELECT entity, either via a console command (like SetChannelEnum) or within a SetHADiscoveryTemplate JSON payload, so it can be placed in the "Configuration" section of the device in Home Assistant.
Relevant code
In src/httpserver/hass.h, the function hass_createSelectEntity does not accept a HASS_CATEGORY_TYPE argument, while hass_init_button_device_info does. This seems to be the root cause.
c
// This function has a category argument
HassDeviceInfo* hass_init_button_device_info(char* title,char* cmd_id, char* press_payload, HASS_CATEGORY_TYPE type);
// This function does not have a category argument
HassDeviceInfo* hass_createSelectEntity(const char* state_topic, const char* command_topic, int numoptions, const char* options[], const char* title);
Proposed Solution
Add a HASS_CATEGORY_TYPE argument to hass_createSelectEntity and its related functions.
Expose this setting via a console command, for example, by allowing the entity_category field in the JSON payload of SetChannel or SetHADiscoveryTemplate for select entities.
Device Information
Firmware Version: 1.18.287 (Build on Apr 11 2026)
Chipset: BK7231N
This feature would be very helpful for keeping the device's interface in Home Assistant clean and organized, especially for configuration entities like startup mode selectors. Thank you for your great work on this project!
Describe the bug
Currently, HASS_SELECT entities created via HA Discovery always appear in the "Controls" section of a device in Home Assistant. There is no way to set their entity_category to config or diagnostic from the device side, unlike other entity types like HASS_BUTTON.
To Reproduce
Steps to reproduce the behavior:
Configure a channel as a select entity (e.g., OffOnRemember) on a BK7231N device.
Run HA Discovery.
Observe the created select entity in Home Assistant.
Expected behavior
There should be a way to specify the entity_category (e.g., "config") for a HASS_SELECT entity, either via a console command (like SetChannelEnum) or within a SetHADiscoveryTemplate JSON payload, so it can be placed in the "Configuration" section of the device in Home Assistant.
Relevant code
In src/httpserver/hass.h, the function hass_createSelectEntity does not accept a HASS_CATEGORY_TYPE argument, while hass_init_button_device_info does. This seems to be the root cause.
c
// This function has a category argument
HassDeviceInfo* hass_init_button_device_info(char* title,char* cmd_id, char* press_payload, HASS_CATEGORY_TYPE type);
// This function does not have a category argument
HassDeviceInfo* hass_createSelectEntity(const char* state_topic, const char* command_topic, int numoptions, const char* options[], const char* title);
Proposed Solution
Add a HASS_CATEGORY_TYPE argument to hass_createSelectEntity and its related functions.
Expose this setting via a console command, for example, by allowing the entity_category field in the JSON payload of SetChannel or SetHADiscoveryTemplate for select entities.
Device Information
Firmware Version: 1.18.287 (Build on Apr 11 2026)
Chipset: BK7231N
This feature would be very helpful for keeping the device's interface in Home Assistant clean and organized, especially for configuration entities like startup mode selectors. Thank you for your great work on this project!