ESPHome 2025.7.1
Loading...
Searching...
No Matches
esphome::StatefulEntityBase< T > Class Template Reference

An entity that has a state. More...

#include <entity_base.h>

Inheritance diagram for esphome::StatefulEntityBase< T >:
esphome::EntityBase

Public Member Functions

virtual bool has_state () const
 
virtual const T & get_state () const
 
virtual T get_state_default (T default_value) const
 
void invalidate_state ()
 
void add_full_state_callback (std::function< void(optional< T > previous, optional< T > current)> &&callback)
 
void add_on_state_callback (std::function< void(T)> &&callback)
 
void set_trigger_on_initial_state (bool trigger_on_initial_state)
 
- 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)
 
uint32_t get_device_id () const
 
void set_device (Device *device)
 
bool has_state () const
 
void set_has_state (bool state)
 

Protected Member Functions

bool set_state_ (const optional< T > &state)
 Set a new state for this entity.
 
- Protected Member Functions inherited from esphome::EntityBase
virtual uint32_t hash_base ()
 The hash_base() function has been deprecated.
 
void calc_object_id_ ()
 

Protected Attributes

optional< T > state_ {}
 
bool trigger_on_initial_state_ {true}
 
CallbackManager< void(optional< T > previous, optional< T > current)> * full_state_callbacks_ {}
 
CallbackManager< void(T)> * state_callbacks_ {}
 
- 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_ {}
 
Devicedevice_ {}
 
struct esphome::EntityBase::EntityFlags flags_
 

Detailed Description

template<typename T>
class esphome::StatefulEntityBase< T >

An entity that has a state.

Template Parameters
TThe type of the state

Definition at line 128 of file entity_base.h.

Member Function Documentation

◆ add_full_state_callback()

template<typename T >
void esphome::StatefulEntityBase< T >::add_full_state_callback ( std::function< void(optional< T > previous, optional< T > current)> && callback)
inline

Definition at line 135 of file entity_base.h.

◆ add_on_state_callback()

template<typename T >
void esphome::StatefulEntityBase< T >::add_on_state_callback ( std::function< void(T)> && callback)
inline

Definition at line 140 of file entity_base.h.

◆ get_state()

template<typename T >
virtual const T & esphome::StatefulEntityBase< T >::get_state ( ) const
inlinevirtual

Definition at line 131 of file entity_base.h.

◆ get_state_default()

template<typename T >
virtual T esphome::StatefulEntityBase< T >::get_state_default ( T default_value) const
inlinevirtual

Definition at line 132 of file entity_base.h.

◆ has_state()

template<typename T >
virtual bool esphome::StatefulEntityBase< T >::has_state ( ) const
inlinevirtual

Reimplemented in esphome::binary_sensor::BinarySensorInitiallyOff.

Definition at line 130 of file entity_base.h.

◆ invalidate_state()

template<typename T >
void esphome::StatefulEntityBase< T >::invalidate_state ( )
inline

Definition at line 133 of file entity_base.h.

◆ set_state_()

template<typename T >
bool esphome::StatefulEntityBase< T >::set_state_ ( const optional< T > & state)
inlineprotected

Set a new state for this entity.

This will trigger callbacks only if the new state is different from the previous.

Parameters
stateThe new state.
Returns
True if the state was changed, false if it was the same as before.

Definition at line 158 of file entity_base.h.

◆ set_trigger_on_initial_state()

template<typename T >
void esphome::StatefulEntityBase< T >::set_trigger_on_initial_state ( bool trigger_on_initial_state)
inline

Definition at line 146 of file entity_base.h.

Field Documentation

◆ full_state_callbacks_

template<typename T >
CallbackManager<void(optional<T> previous, optional<T> current)>* esphome::StatefulEntityBase< T >::full_state_callbacks_ {}
protected

Definition at line 175 of file entity_base.h.

◆ state_

template<typename T >
optional<T> esphome::StatefulEntityBase< T >::state_ {}
protected

Definition at line 151 of file entity_base.h.

◆ state_callbacks_

template<typename T >
CallbackManager<void(T)>* esphome::StatefulEntityBase< T >::state_callbacks_ {}
protected

Definition at line 176 of file entity_base.h.

◆ trigger_on_initial_state_

template<typename T >
bool esphome::StatefulEntityBase< T >::trigger_on_initial_state_ {true}
protected

Definition at line 173 of file entity_base.h.


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