ESPHome 2025.6.1
Loading...
Searching...
No Matches
esphome::gpio::GPIOSwitch Class Reference

#include <gpio_switch.h>

Inheritance diagram for esphome::gpio::GPIOSwitch:
esphome::switch_::Switch esphome::Component esphome::EntityBase esphome::EntityBase_DeviceClass

Public Member Functions

void set_pin (GPIOPin *pin)
 
float get_setup_priority () const override
 
void setup () override
 
void dump_config () override
 
void set_interlock (const std::vector< Switch * > &interlock)
 
void set_interlock_wait_time (uint32_t interlock_wait_time)
 
- Public Member Functions inherited from esphome::switch_::Switch
 Switch ()
 
void publish_state (bool state)
 Publish a state to the front-end from the back-end.
 
void turn_on ()
 Turn this switch on.
 
void turn_off ()
 Turn this switch off.
 
void toggle ()
 Toggle this switch.
 
void set_inverted (bool inverted)
 Set whether the state should be treated as inverted.
 
void add_on_state_callback (std::function< void(bool)> &&callback)
 Set callback for state changes.
 
optional< bool > get_initial_state ()
 Returns the initial state of the switch, as persisted previously, or empty if never persisted.
 
optional< bool > get_initial_state_with_restore_mode ()
 Returns the initial state of the switch, after applying restore mode rules.
 
virtual bool assumed_state ()
 Return whether this switch uses an assumed state - i.e.
 
bool is_inverted () const
 
void set_restore_mode (SwitchRestoreMode restore_mode)
 
- Public Member Functions inherited from esphome::EntityBase
const StringRefget_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)
 
std::string get_icon () const
 
void set_icon (const char *icon)
 
bool has_state () const
 
void set_has_state (bool state)
 
- Public Member Functions inherited from esphome::EntityBase_DeviceClass
std::string get_device_class ()
 Get the device class, using the manual override if set.
 
void set_device_class (const char *device_class)
 Manually set the device class.
 
- Public Member Functions inherited from esphome::Component
virtual void loop ()
 This method will be called repeatedly.
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop().
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
virtual bool teardown ()
 Called during teardown to allow component to gracefully finish operations.
 
virtual void on_powerdown ()
 Called after teardown is complete to power down hardware.
 
uint8_t get_component_state () const
 
void reset_to_construction_state ()
 Reset this component back to the construction state to allow setup to run again.
 
bool is_in_loop_state () const
 Check if this component has completed setup and is in the loop state.
 
virtual void mark_failed ()
 Mark this component as failed.
 
void mark_failed (const char *message)
 
bool is_failed () const
 
bool is_ready () const
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message="unspecified")
 
void status_set_error (const char *message="unspecified")
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages.
 
const char * get_component_source () const
 Get the integration where this component was declared as a string.
 
bool should_warn_of_blocking (uint32_t blocking_time)
 

Protected Member Functions

void write_state (bool state) override
 
- Protected Member Functions inherited from esphome::switch_::Switch
- Protected Member Functions inherited from esphome::EntityBase
virtual uint32_t hash_base ()
 The hash_base() function has been deprecated.
 
void calc_object_id_ ()
 
- Protected Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_setup ()
 
virtual void call_dump_config ()
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name.
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function.
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name.
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function.
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name.
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function.
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call.
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call.
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty.
 

Protected Attributes

GPIOPinpin_
 
std::vector< Switch * > interlock_
 
uint32_t interlock_wait_time_ {0}
 
- Protected Attributes inherited from esphome::switch_::Switch
ESPPreferenceObject rtc_
 
CallbackManager< void(bool)> state_callback_ {}
 
Deduplicator< bool > publish_dedup_
 
bool inverted_ {false}
 
- 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_ {}
 
struct esphome::EntityBase::EntityFlags flags_
 
- Protected Attributes inherited from esphome::EntityBase_DeviceClass
const char * device_class_ {nullptr}
 Device class override.
 
- Protected Attributes inherited from esphome::Component
uint8_t component_state_ {0x00}
 State of this component - each bit has a purpose: Bits 0-1: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED) Bit 2: STATUS_LED_WARNING Bit 3: STATUS_LED_ERROR Bits 4-7: Unused - reserved for future expansion (50% of the bits are free)
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 
uint16_t warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS}
 Warn if blocked for this many ms (max 65.5s)
 
std::string error_message_ {}
 

Additional Inherited Members

- Data Fields inherited from esphome::switch_::Switch
SwitchRestoreMode restore_mode {SWITCH_RESTORE_DEFAULT_OFF}
 Indicates whether or not state is to be retrieved from flash and how.
 
bool state
 The current reported state of the binary sensor.
 

Detailed Description

Definition at line 12 of file gpio_switch.h.

Member Function Documentation

◆ dump_config()

void esphome::gpio::GPIOSwitch::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 29 of file gpio_switch.cpp.

◆ get_setup_priority()

float esphome::gpio::GPIOSwitch::get_setup_priority ( ) const
overridevirtual

Reimplemented from esphome::Component.

Definition at line 9 of file gpio_switch.cpp.

◆ set_interlock()

void esphome::gpio::GPIOSwitch::set_interlock ( const std::vector< Switch * > & interlock)

Definition at line 72 of file gpio_switch.cpp.

◆ set_interlock_wait_time()

void esphome::gpio::GPIOSwitch::set_interlock_wait_time ( uint32_t interlock_wait_time)
inline

Definition at line 23 of file gpio_switch.h.

◆ set_pin()

void esphome::gpio::GPIOSwitch::set_pin ( GPIOPin * pin)
inline

Definition at line 14 of file gpio_switch.h.

◆ setup()

void esphome::gpio::GPIOSwitch::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 10 of file gpio_switch.cpp.

◆ write_state()

void esphome::gpio::GPIOSwitch::write_state ( bool state)
overrideprotectedvirtual

Implements esphome::switch_::Switch.

Definition at line 41 of file gpio_switch.cpp.

Field Documentation

◆ interlock_

std::vector<Switch *> esphome::gpio::GPIOSwitch::interlock_
protected

Definition at line 29 of file gpio_switch.h.

◆ interlock_wait_time_

uint32_t esphome::gpio::GPIOSwitch::interlock_wait_time_ {0}
protected

Definition at line 30 of file gpio_switch.h.

◆ pin_

GPIOPin* esphome::gpio::GPIOSwitch::pin_
protected

Definition at line 28 of file gpio_switch.h.


The documentation for this class was generated from the following files: