|
ESPHome 2025.12.0-dev
|
Base class for all buttons. More...
#include <button.h>
Public Member Functions | |
| void | press () |
| Press this button. | |
| void | add_on_press_callback (std::function< void()> &&callback) |
| Set callback for state changes. | |
Public Member Functions inherited from esphome::EntityBase | |
| const StringRef & | get_name () const |
| void | set_name (const char *name) |
| bool | has_own_name () const |
| std::string | get_object_id () const |
| void | set_object_id (const char *object_id) |
| uint32_t | get_object_id_hash () |
| 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) |
| bool | has_state () const |
| void | set_has_state (bool state) |
| uint32_t | get_preference_hash () |
| Get a unique hash for storing preferences/settings for this entity. | |
Public Member Functions inherited from esphome::EntityBase_DeviceClass | |
| ESPDEPRECATED("Use get_device_class_ref() instead for better performance (avoids string copy). Will be removed in " "ESPHome 2026.5.0", "2025.11.0") std void | set_device_class (const char *device_class) |
| Get the device class, using the manual override if set. | |
| StringRef | get_device_class_ref () const |
| Get the device class as StringRef. | |
Protected Member Functions | |
| virtual void | press_action ()=0 |
| You should implement this virtual method if you want to create your own button. | |
Protected Member Functions inherited from esphome::EntityBase | |
| StringRef | get_object_id_ref_for_api_ () const |
| void | calc_object_id_ () |
| bool | is_object_id_dynamic_ () const |
| Check if the object_id is dynamic (changes with MAC suffix) | |
Protected Attributes | |
| CallbackManager< void()> | press_callback_ {} |
Protected Attributes inherited from esphome::EntityBase | |
| StringRef | name_ |
| const char * | object_id_c_str_ {nullptr} |
| const char * | icon_c_str_ {nullptr} |
| uint32_t | object_id_hash_ {} |
| Device * | device_ {} |
| struct esphome::EntityBase::EntityFlags | flags_ |
Protected Attributes inherited from esphome::EntityBase_DeviceClass | |
| const char * | device_class_ {nullptr} |
| Device class override. | |
Base class for all buttons.
A button is just a momentary switch that does not have a state, only a trigger.
| void esphome::button::Button::add_on_press_callback | ( | std::function< void()> && | callback | ) |
Set callback for state changes.
| callback | The void() callback. |
Definition at line 27 of file button.cpp.
| void esphome::button::Button::press | ( | ) |
Press this button.
This is called by the front-end.
For implementing buttons, please override press_action.
Definition at line 22 of file button.cpp.
|
protectedpure virtual |
You should implement this virtual method if you want to create your own button.
Implemented in esphome::atm90e32::ATM90E32ClearGainCalibrationButton, esphome::atm90e32::ATM90E32ClearOffsetCalibrationButton, esphome::atm90e32::ATM90E32ClearPowerOffsetCalibrationButton, esphome::atm90e32::ATM90E32GainCalibrationButton, esphome::atm90e32::ATM90E32OffsetCalibrationButton, esphome::atm90e32::ATM90E32PowerOffsetCalibrationButton, esphome::bl0940::CalibrationResetButton, esphome::copy::CopyButton, esphome::demo::DemoButton, esphome::factory_reset::FactoryResetButton, esphome::haier::SelfCleaningButton, esphome::haier::SteriCleaningButton, esphome::ld2410::FactoryResetButton, esphome::ld2410::QueryButton, esphome::ld2410::RestartButton, esphome::ld2412::FactoryResetButton, esphome::ld2412::QueryButton, esphome::ld2412::RestartButton, esphome::ld2412::StartDynamicBackgroundCorrectionButton, esphome::ld2420::LD2420ApplyConfigButton, esphome::ld2420::LD2420FactoryResetButton, esphome::ld2420::LD2420RestartModuleButton, esphome::ld2420::LD2420RevertConfigButton, esphome::ld2450::FactoryResetButton, esphome::ld2450::RestartButton, esphome::micronova::MicroNovaButton, esphome::output::OutputButton, esphome::restart::RestartButton, esphome::safe_mode::SafeModeButton, esphome::seeed_mr24hpc1::CustomSetEndButton, esphome::seeed_mr24hpc1::RestartButton, esphome::seeed_mr60fda2::GetRadarParametersButton, esphome::seeed_mr60fda2::ResetRadarButton, esphome::shutdown::ShutdownButton, esphome::template_::TemplateButton, esphome::uart::UARTButton, and esphome::wake_on_lan::WakeOnLanButton.
|
protected |