|
ESPHome 2026.1.0-dev
|
An entity that has a state. More...
#include <entity_base.h>
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 StringRef & | get_name () const |
| void | set_name (const char *name) |
| 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 void | set_object_id (const char *object_id) |
| void | set_name_and_object_id (const char *name, const char *object_id) |
| 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) |
| 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. | |
Protected Member Functions | |
| virtual bool | set_new_state (const optional< T > &new_state) |
| Set a new state for this entity. | |
Protected Member Functions inherited from esphome::EntityBase | |
| void | calc_object_id_ () |
| bool | is_object_id_dynamic_ () const |
| Check if the object_id is dynamic (changes with MAC suffix) | |
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_ {} |
| Device * | device_ {} |
| struct esphome::EntityBase::EntityFlags | flags_ |
An entity that has a state.
| T | The type of the state |
Definition at line 209 of file entity_base.h.
|
inline |
Definition at line 216 of file entity_base.h.
|
inline |
Definition at line 221 of file entity_base.h.
|
inlinevirtual |
Definition at line 212 of file entity_base.h.
|
inlinevirtual |
Definition at line 213 of file entity_base.h.
|
inlinevirtual |
Reimplemented in esphome::binary_sensor::BinarySensorInitiallyOff.
Definition at line 211 of file entity_base.h.
|
inline |
Definition at line 214 of file entity_base.h.
|
inlineprotectedvirtual |
Set a new state for this entity.
This will trigger callbacks only if the new state is different from the previous.
| new_state | The new state. |
Reimplemented in esphome::binary_sensor::BinarySensor.
Definition at line 239 of file entity_base.h.
|
inline |
Definition at line 227 of file entity_base.h.
|
protected |
Definition at line 256 of file entity_base.h.
|
protected |
Definition at line 232 of file entity_base.h.
|
protected |
Definition at line 257 of file entity_base.h.
|
protected |
Definition at line 254 of file entity_base.h.