ESPHome 2026.1.5
Loading...
Searching...
No Matches
esphome::event::Event Class Reference

#include <event.h>

Inheritance diagram for esphome::event::Event:
esphome::EntityBase esphome::EntityBase_DeviceClass esphome::template_::TemplateEvent esphome::uart::UARTEvent

Public Member Functions

void trigger (const std::string &event_type)
 
void set_event_types (std::initializer_list< const char * > event_types)
 Set the event types supported by this event (from initializer list).
 
void set_event_types (const FixedVector< const char * > &event_types)
 Set the event types supported by this event (from FixedVector).
 
void set_event_types (const std::vector< const char * > &event_types)
 Set the event types supported by this event (from vector).
 
void set_event_types (std::initializer_list< std::string > event_types)=delete
 
void set_event_types (const FixedVector< std::string > &event_types)=delete
 
void set_event_types (const std::vector< std::string > &event_types)=delete
 
const FixedVector< const char * > & get_event_types () const
 Return the event types supported by this event.
 
StringRef get_last_event_type () const
 Return the last triggered event type, or empty StringRef if no event triggered yet.
 
const char * get_event_type (uint8_t index) const
 Return event type by index, or nullptr if index is out of bounds.
 
uint8_t get_last_event_type_index () const
 Return index of last triggered event type, or max uint8_t if no event triggered yet.
 
bool has_event () const
 Check if an event has been triggered.
 
void add_on_event_callback (std::function< void(const std::string &event_type)> &&callback)
 
- Public Member Functions inherited from esphome::EntityBase
const StringRefget_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)
 
Deviceget_device () const
 
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 Attributes

LazyCallbackManager< void(const std::string &event_type)> event_callback_
 
FixedVector< const char * > types_
 
- Protected Attributes inherited from esphome::EntityBase
StringRef name_
 
const char * icon_c_str_ {nullptr}
 
uint32_t object_id_hash_ {}
 
Devicedevice_ {}
 
struct esphome::EntityBase::EntityFlags flags_
 
- Protected Attributes inherited from esphome::EntityBase_DeviceClass
const char * device_class_ {nullptr}
 Device class override.
 

Additional Inherited Members

- Protected Member Functions inherited from esphome::EntityBase
void calc_object_id_ ()
 

Detailed Description

Definition at line 27 of file event.h.

Member Function Documentation

◆ add_on_event_callback()

void esphome::event::Event::add_on_event_callback ( std::function< void(const std::string &event_type)> && callback)

Definition at line 48 of file event.cpp.

◆ get_event_type()

const char * esphome::event::Event::get_event_type ( uint8_t index) const
inline

Return event type by index, or nullptr if index is out of bounds.

Definition at line 53 of file event.h.

◆ get_event_types()

const FixedVector< const char * > & esphome::event::Event::get_event_types ( ) const
inline

Return the event types supported by this event.

Definition at line 47 of file event.h.

◆ get_last_event_type()

StringRef esphome::event::Event::get_last_event_type ( ) const
inline

Return the last triggered event type, or empty StringRef if no event triggered yet.

Definition at line 50 of file event.h.

◆ get_last_event_type_index()

uint8_t esphome::event::Event::get_last_event_type_index ( ) const
inline

Return index of last triggered event type, or max uint8_t if no event triggered yet.

Definition at line 58 of file event.h.

◆ has_event()

bool esphome::event::Event::has_event ( ) const
inline

Check if an event has been triggered.

Definition at line 71 of file event.h.

◆ set_event_types() [1/6]

void esphome::event::Event::set_event_types ( const FixedVector< const char * > & event_types)

Set the event types supported by this event (from FixedVector).

Definition at line 32 of file event.cpp.

◆ set_event_types() [2/6]

void esphome::event::Event::set_event_types ( const FixedVector< std::string > & event_types)
delete

◆ set_event_types() [3/6]

void esphome::event::Event::set_event_types ( const std::vector< const char * > & event_types)

Set the event types supported by this event (from vector).

Definition at line 40 of file event.cpp.

◆ set_event_types() [4/6]

void esphome::event::Event::set_event_types ( const std::vector< std::string > & event_types)
delete

◆ set_event_types() [5/6]

void esphome::event::Event::set_event_types ( std::initializer_list< const char * > event_types)
inline

Set the event types supported by this event (from initializer list).

Definition at line 32 of file event.h.

◆ set_event_types() [6/6]

void esphome::event::Event::set_event_types ( std::initializer_list< std::string > event_types)
delete

◆ trigger()

void esphome::event::Event::trigger ( const std::string & event_type)

Definition at line 11 of file event.cpp.

Field Documentation

◆ event_callback_

LazyCallbackManager<void(const std::string &event_type)> esphome::event::Event::event_callback_
protected

Definition at line 76 of file event.h.

◆ types_

FixedVector<const char *> esphome::event::Event::types_
protected

Definition at line 77 of file event.h.


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