ESPHome  2024.4.1
Public Member Functions | Protected Member Functions | Protected Attributes
esphome::script::QueueingScript< Ts > Class Template Reference

A script type that queues new instances that are created. More...

#include <script.h>

Inheritance diagram for esphome::script::QueueingScript< Ts >:
esphome::script::Script< Ts... > esphome::Component esphome::script::ScriptLogger esphome::Trigger< Ts... >

Public Member Functions

void execute (Ts... x) override
 
void stop () override
 
void loop () override
 
void set_max_runs (int max_runs)
 
- Public Member Functions inherited from esphome::script::Script< Ts... >
virtual bool is_running ()
 Check if any instance of this script is currently running. More...
 
void execute_tuple (const std::tuple< Ts... > &tuple)
 
void set_name (const std::string &name)
 
- Public Member Functions inherited from esphome::Trigger< Ts... >
void trigger (Ts... x)
 Inform the parent automation that the event has triggered. More...
 
void set_automation_parent (Automation< Ts... > *automation_parent)
 
void stop_action ()
 Stop any action connected to this trigger. More...
 
bool is_action_running ()
 Returns true if any action connected to this trigger is running. More...
 
- Public Member Functions inherited from esphome::Component
virtual void setup ()
 Where the component's initialization should happen. More...
 
virtual void dump_config ()
 
virtual float get_setup_priority () const
 priority of setup(). More...
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed ()
 
bool is_ready ()
 
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. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 

Protected Member Functions

template<int... S>
void trigger_tuple_ (const std::tuple< Ts... > &tuple, seq< S... >)
 
- Protected Member Functions inherited from esphome::script::Script< Ts... >
void execute_tuple_ (const std::tuple< Ts... > &tuple, seq< S... >)
 
- Protected Member Functions inherited from esphome::script::ScriptLogger
void esp_logw_ (int line, const char *format, const char *param)
 
void esp_logd_ (int line, const char *format, const char *param)
 
void esp_log_ (int level, int line, const char *format, const char *param)
 
- 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. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
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. More...
 
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. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 

Protected Attributes

int num_runs_ = 0
 
int max_runs_ = 0
 
std::queue< std::tuple< Ts... > > var_queue_
 
- Protected Attributes inherited from esphome::script::Script< Ts... >
std::string name_
 
- Protected Attributes inherited from esphome::Trigger< Ts... >
Automation< Ts... > * automation_parent_
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 

Detailed Description

template<typename... Ts>
class esphome::script::QueueingScript< Ts >

A script type that queues new instances that are created.

Only one instance of the script can be active at a time.

Definition at line 89 of file script.h.

Member Function Documentation

◆ execute()

template<typename... Ts>
void esphome::script::QueueingScript< Ts >::execute ( Ts...  x)
inlineoverridevirtual

Implements esphome::script::Script< Ts... >.

Definition at line 91 of file script.h.

◆ loop()

template<typename... Ts>
void esphome::script::QueueingScript< Ts >::loop ( )
inlineoverridevirtual

Reimplemented from esphome::Component.

Definition at line 116 of file script.h.

◆ set_max_runs()

template<typename... Ts>
void esphome::script::QueueingScript< Ts >::set_max_runs ( int  max_runs)
inline

Definition at line 125 of file script.h.

◆ stop()

template<typename... Ts>
void esphome::script::QueueingScript< Ts >::stop ( )
inlineoverridevirtual

Reimplemented from esphome::script::Script< Ts... >.

Definition at line 111 of file script.h.

◆ trigger_tuple_()

template<typename... Ts>
template<int... S>
void esphome::script::QueueingScript< Ts >::trigger_tuple_ ( const std::tuple< Ts... > &  tuple,
seq< S... >   
)
inlineprotected

Definition at line 128 of file script.h.

Field Documentation

◆ max_runs_

template<typename... Ts>
int esphome::script::QueueingScript< Ts >::max_runs_ = 0
protected

Definition at line 133 of file script.h.

◆ num_runs_

template<typename... Ts>
int esphome::script::QueueingScript< Ts >::num_runs_ = 0
protected

Definition at line 132 of file script.h.

◆ var_queue_

template<typename... Ts>
std::queue<std::tuple<Ts...> > esphome::script::QueueingScript< Ts >::var_queue_
protected

Definition at line 134 of file script.h.


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