|
| ESPDEPRECATED("Use current_option() instead of .state. Will be removed in 2026.7.0", "2026.1.0") std | Select ()=default |
| |
| | ~Select ()=default |
| |
| void | publish_state (const std::string &state) |
| |
| void | publish_state (const char *state) |
| |
| void | publish_state (size_t index) |
| |
| StringRef | current_option () const |
| | Return the currently selected option, or empty StringRef if no state.
|
| |
| SelectCall | make_call () |
| | Instantiate a SelectCall object to modify this select component's state.
|
| |
| bool | has_option (const std::string &option) const |
| | Return whether this select component contains the provided option.
|
| |
| bool | has_option (const char *option) const |
| |
| bool | has_index (size_t index) const |
| | Return whether this select component contains the provided index offset.
|
| |
| size_t | size () const |
| | Return the number of options in this select component.
|
| |
| optional< size_t > | index_of (const char *option, size_t len) const |
| | Find the (optional) index offset of the provided option value.
|
| |
| optional< size_t > | index_of (const std::string &option) const |
| |
| optional< size_t > | index_of (const char *option) const |
| |
| optional< size_t > | active_index () const |
| | Return the (optional) index offset of the currently active option.
|
| |
| optional< std::string > | at (size_t index) const |
| | Return the (optional) option value at the provided index offset.
|
| |
| const char * | option_at (size_t index) const |
| | Return the option value at the provided index offset (as const char* from flash).
|
| |
| void | add_on_state_callback (std::function< void(size_t)> &&callback) |
| |
| const StringRef & | get_name () const |
| |
| void | set_name (const char *name) |
| |
| void | set_name (const char *name, uint32_t object_id_hash) |
| | Set name with pre-computed object_id hash (avoids runtime hash calculation) Use hash=0 for dynamic names that need runtime calculation.
|
| |
| bool | has_own_name () const |
| |
| ESPDEPRECATED("object_id mangles names and all object_id methods are planned for removal " "(see https://github.com/esphome/backlog/issues/76). " "Now is the time to stop using object_id. If still needed, use get_object_id_to() " "which will remain available longer. get_object_id() will be removed in 2026.7.0", "2025.12.0") std uint32_t | get_object_id_hash () |
| |
| StringRef | get_object_id_to (std::span< char, OBJECT_ID_MAX_LEN > buf) const |
| | Get object_id with zero heap allocation For static case: returns StringRef to internal storage (buffer unused) For dynamic case: formats into buffer and returns StringRef to buffer.
|
| |
| size_t | write_object_id_to (char *buf, size_t buf_size) const |
| | Write object_id directly to buffer, returns length written (excluding null) Useful for building compound strings without intermediate buffer.
|
| |
| bool | is_internal () const |
| |
| void | set_internal (bool internal) |
| |
| bool | is_disabled_by_default () const |
| |
| void | set_disabled_by_default (bool disabled_by_default) |
| |
| EntityCategory | get_entity_category () const |
| |
| void | set_entity_category (EntityCategory entity_category) |
| |
| ESPDEPRECATED("Use get_icon_ref() instead for better performance (avoids string copy). Will be removed in ESPHome 2026.5.0", "2025.11.0") std void | set_icon (const char *icon) |
| |
| StringRef | get_icon_ref () const |
| |
| uint32_t | get_device_id () const |
| |
| void | set_device (Device *device) |
| |
| Device * | get_device () const |
| |
| bool | has_state () const |
| |
| void | set_has_state (bool state) |
| |
| | ESPDEPRECATED ("Use make_entity_preference<T>() instead, or preferences won't be migrated. " "See https://github.com/esphome/backlog/issues/85. Will be removed in 2027.1.0.", "2026.7.0") uint32_t get_preference_hash() |
| | Get a unique hash for storing preferences/settings for this entity.
|
| |
| template<typename T > |
| ESPPreferenceObject | make_entity_preference (uint32_t version=0) |
| | Create a preference object for storing this entity's state/settings.
|
| |
Base-class for all selects.
A select can use publish_state to send out a new value.
Definition at line 29 of file select.h.
| virtual void esphome::select::Select::control |
( |
const std::string & | value | ) |
|
|
inlineprotectedvirtual |
Set the value of the select, this is a virtual method that each select integration can implement.
IMPORTANT: At least ONE of the two control() methods must be overridden by derived classes. Overriding control(size_t) is PREFERRED as it avoids string conversions.
This method is called by control(size_t) when not overridden, or directly by external code. Default implementation converts to index and calls control(size_t).
- Parameters
-
| value | The value as validated by the caller. |
Definition at line 108 of file select.h.
| virtual void esphome::select::Select::control |
( |
size_t | index | ) |
|
|
inlineprotectedvirtual |
Set the value of the select by index, this is an optional virtual method.
IMPORTANT: At least ONE of the two control() methods must be overridden by derived classes. Overriding this index-based version is PREFERRED as it avoids string conversions.
This method is called by the SelectCall when the index is already known. Default implementation converts to string and calls control(const std::string&).
- Parameters
-
Reimplemented in esphome::copy::CopySelect, esphome::demo::DemoSelect, esphome::es8388::ADCInputMicSelect, esphome::es8388::DacOutputSelect, esphome::ld2410::BaudRateSelect, esphome::ld2410::DistanceResolutionSelect, esphome::ld2410::LightOutControlSelect, esphome::ld2412::BaudRateSelect, esphome::ld2412::DistanceResolutionSelect, esphome::ld2412::LightOutControlSelect, esphome::ld2420::LD2420Select, esphome::ld2450::BaudRateSelect, esphome::ld2450::ZoneTypeSelect, esphome::logger::LoggerLevelSelect, esphome::lvgl::LVGLSelect, esphome::modbus_controller::ModbusSelect, esphome::seeed_mr24hpc1::ExistenceBoundarySelect, esphome::seeed_mr24hpc1::MotionBoundarySelect, esphome::seeed_mr24hpc1::SceneModeSelect, esphome::seeed_mr24hpc1::UnmanTimeSelect, esphome::seeed_mr60fda2::HeightThresholdSelect, esphome::seeed_mr60fda2::InstallHeightSelect, esphome::seeed_mr60fda2::SensitivitySelect, esphome::template_::TemplateSelect< HAS_LAMBDA, OPTIMISTIC, RESTORE_VALUE, INITIAL_OPTION_INDEX >, esphome::template_::TemplateSelectWithSetAction< HAS_LAMBDA, OPTIMISTIC, RESTORE_VALUE, INITIAL_OPTION_INDEX >, and esphome::tuya::TuyaSelect.
Definition at line 96 of file select.h.