|
ESPHome 2026.1.0-dev
|
This component allows setting up the node to go into deep sleep mode to conserve battery. More...
#include <deep_sleep_component.h>
Public Member Functions | |
| void | set_sleep_duration (uint32_t time_ms) |
| Set the duration in ms the component should sleep once it's in deep sleep mode. | |
| void | set_wakeup_pin (InternalGPIOPin *pin) |
| Set the pin to wake up to on the ESP32 once it's in deep sleep mode. | |
| void | set_wakeup_pin_mode (WakeupPinMode wakeup_pin_mode) |
| void | init_wakeup_pins_ (size_t capacity) |
| void | add_wakeup_pin (InternalGPIOPin *wakeup_pin, WakeupPinMode wakeup_pin_mode) |
| void | set_ext1_wakeup (Ext1Wakeup ext1_wakeup) |
| void | set_touch_wakeup (bool touch_wakeup) |
| void | set_run_duration (WakeupCauseToRunDuration wakeup_cause_to_run_duration) |
| void | set_run_duration (uint32_t time_ms) |
| Set a duration in ms for how long the code should run before entering deep sleep mode. | |
| void | setup () override |
| void | dump_config () override |
| void | loop () override |
| float | get_loop_priority () const override |
| float | get_setup_priority () const override |
| void | begin_sleep (bool manual=false) |
| Helper to enter deep sleep mode. | |
| void | prevent_deep_sleep () |
| void | allow_deep_sleep () |
Public Member Functions inherited from esphome::Component | |
| float | get_actual_setup_priority () const |
| void | set_setup_priority (float priority) |
| 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. | |
| bool | is_idle () const |
| Check if this component is idle. | |
| virtual void | mark_failed () |
| Mark this component as failed. | |
| ESPDEPRECATED ("Use mark_failed(LOG_STR(\"static string literal\")) instead. Do NOT use .c_str() from temporary " "strings. Will stop working in 2026.6.0", "2025.12.0") void mark_failed(const char *message) | |
| void | mark_failed (const LogString *message) |
| void | disable_loop () |
| Disable this component's loop. | |
| void | enable_loop () |
| Enable this component's loop. | |
| void | enable_loop_soon_any_context () |
| Thread and ISR-safe version of enable_loop() that can be called from any context. | |
| 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=nullptr) |
| void | status_set_warning (const LogString *message) |
| void | status_set_error () |
| ESPDEPRECATED ("Use status_set_error(LOG_STR(\"static string literal\")) instead. Do NOT use .c_str() from temporary " "strings. Will stop working in 2026.6.0", "2025.12.0") void status_set_error(const char *message) | |
| void | status_set_error (const LogString *message) |
| void | status_clear_warning () |
| void | status_clear_error () |
| void | status_momentary_warning (const char *name, uint32_t length=5000) |
| Set warning status flag and automatically clear it after a timeout. | |
| void | status_momentary_error (const char *name, uint32_t length=5000) |
| Set error status flag and automatically clear it after a timeout. | |
| bool | has_overridden_loop () const |
| void | set_component_source (const LogString *source) |
| Set where this component was loaded from for some debug messages. | |
| const LogString * | get_component_log_str () const |
| Get the integration where this component was declared as a LogString for logging. | |
| bool | should_warn_of_blocking (uint32_t blocking_time) |
Protected Member Functions | |
| optional< uint32_t > | get_run_duration_ () const |
| void | dump_config_platform_ () |
| bool | prepare_to_sleep_ () |
| void | deep_sleep_ () |
| bool | pin_prevents_sleep_ (WakeUpPinItem &pinItem) const |
| bool | get_real_pin_state_ (InternalGPIOPin &pin) const |
Protected Member Functions inherited from esphome::Component | |
| virtual void | call_loop () |
| virtual void | call_setup () |
| virtual void | call_dump_config () |
| void | set_component_state_ (uint8_t state) |
| Helper to set component state (clears state bits and sets new state) | |
| 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 (const char *name, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a const char* name. | |
| void | set_interval (uint32_t interval, std::function< void()> &&f) |
| bool | cancel_interval (const std::string &name) |
| Cancel an interval function. | |
| bool | cancel_interval (const char *name) |
| 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 (const char *name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
| 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. | |
| bool | cancel_retry (const char *name) |
| 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 (const char *name, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a const char* name. | |
| void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
| bool | cancel_timeout (const std::string &name) |
| Cancel a timeout function. | |
| bool | cancel_timeout (const char *name) |
| void | defer (const std::string &name, std::function< void()> &&f) |
| Defer a callback to the next loop() call. | |
| void | defer (const char *name, std::function< void()> &&f) |
| Defer a callback to the next loop() call with a const char* name. | |
| 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 | |
| optional< uint64_t > | sleep_duration_ |
| FixedVector< WakeUpPinItem > | wakeup_pins_ |
| InternalGPIOPin * | wakeup_pin_ |
| WakeupPinMode | wakeup_pin_mode_ {WAKEUP_PIN_MODE_IGNORE} |
| optional< Ext1Wakeup > | ext1_wakeup_ |
| optional< bool > | touch_wakeup_ |
| optional< WakeupCauseToRunDuration > | wakeup_cause_to_run_duration_ |
| optional< uint32_t > | run_duration_ |
| bool | next_enter_deep_sleep_ {false} |
| bool | prevent_ {false} |
Protected Attributes inherited from esphome::Component | |
| const LogString * | component_source_ {nullptr} |
| uint16_t | warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS} |
| Warn if blocked for this many ms (max 65.5s) | |
| uint8_t | component_state_ {0x00} |
| State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bits 5-7: Unused - reserved for future expansion. | |
| volatile bool | pending_enable_loop_ {false} |
| ISR-safe flag for enable_loop_soon_any_context. | |
This component allows setting up the node to go into deep sleep mode to conserve battery.
To set this component up, first set when the deep sleep should trigger using set_run_cycles and set_run_duration, then set how long the deep sleep should last using set_sleep_duration and optionally on the ESP32 set_wakeup_pin.
Definition at line 75 of file deep_sleep_component.h.
|
inline |
Definition at line 90 of file deep_sleep_component.h.
| void esphome::deep_sleep::DeepSleepComponent::allow_deep_sleep | ( | ) |
Definition at line 78 of file deep_sleep_component.cpp.
| void esphome::deep_sleep::DeepSleepComponent::begin_sleep | ( | bool | manual = false | ) |
Helper to enter deep sleep mode.
Definition at line 51 of file deep_sleep_component.cpp.
|
protected |
Definition at line 40 of file deep_sleep_bk72xx.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 26 of file deep_sleep_component.cpp.
|
protected |
Definition at line 12 of file deep_sleep_bk72xx.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 43 of file deep_sleep_component.cpp.
|
inlineprotected |
Definition at line 136 of file deep_sleep_component.h.
|
protected |
Definition at line 10 of file deep_sleep_bk72xx.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 74 of file deep_sleep_component.cpp.
|
inline |
Definition at line 89 of file deep_sleep_component.h.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 38 of file deep_sleep_component.cpp.
|
protected |
Definition at line 18 of file deep_sleep_bk72xx.cpp.
|
protected |
Definition at line 23 of file deep_sleep_bk72xx.cpp.
| void esphome::deep_sleep::DeepSleepComponent::prevent_deep_sleep | ( | ) |
Definition at line 76 of file deep_sleep_component.cpp.
| void esphome::deep_sleep::DeepSleepComponent::set_ext1_wakeup | ( | Ext1Wakeup | ext1_wakeup | ) |
Definition at line 55 of file deep_sleep_esp32.cpp.
| void esphome::deep_sleep::DeepSleepComponent::set_run_duration | ( | uint32_t | time_ms | ) |
Set a duration in ms for how long the code should run before entering deep sleep mode.
Definition at line 49 of file deep_sleep_component.cpp.
| void esphome::deep_sleep::DeepSleepComponent::set_run_duration | ( | WakeupCauseToRunDuration | wakeup_cause_to_run_duration | ) |
Definition at line 63 of file deep_sleep_esp32.cpp.
| void esphome::deep_sleep::DeepSleepComponent::set_sleep_duration | ( | uint32_t | time_ms | ) |
Set the duration in ms the component should sleep once it's in deep sleep mode.
Definition at line 47 of file deep_sleep_component.cpp.
| void esphome::deep_sleep::DeepSleepComponent::set_touch_wakeup | ( | bool | touch_wakeup | ) |
Definition at line 60 of file deep_sleep_esp32.cpp.
|
inline |
Set the pin to wake up to on the ESP32 once it's in deep sleep mode.
Use the inverted property to set the wakeup level.
Definition at line 83 of file deep_sleep_component.h.
| void esphome::deep_sleep::DeepSleepComponent::set_wakeup_pin_mode | ( | WakeupPinMode | wakeup_pin_mode | ) |
Definition at line 50 of file deep_sleep_esp32.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 14 of file deep_sleep_component.cpp.
|
protected |
Definition at line 150 of file deep_sleep_component.h.
|
protected |
Definition at line 159 of file deep_sleep_component.h.
|
protected |
Definition at line 160 of file deep_sleep_component.h.
|
protected |
Definition at line 158 of file deep_sleep_component.h.
|
protected |
Definition at line 139 of file deep_sleep_component.h.
|
protected |
Definition at line 153 of file deep_sleep_component.h.
|
protected |
Definition at line 155 of file deep_sleep_component.h.
|
protected |
Definition at line 146 of file deep_sleep_component.h.
|
protected |
Definition at line 147 of file deep_sleep_component.h.
|
protected |
Definition at line 142 of file deep_sleep_component.h.