ESPHome 2025.10.0-dev
|
#include <entity_base.h>
Data Structures | |
struct | EntityFlags |
Public Member Functions | |
const StringRef & | get_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) |
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 | |
StringRef | get_object_id_ref_for_api_ () const |
virtual uint32_t | hash_base () |
The hash_base() function has been deprecated. | |
void | calc_object_id_ () |
bool | is_object_id_dynamic_ () const |
Check if the object_id is dynamic (changes with MAC suffix) | |
Protected Attributes | |
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_ |
Definition at line 27 of file entity_base.h.
|
protected |
Definition at line 78 of file entity_base.cpp.
|
inline |
Definition at line 73 of file entity_base.h.
|
inline |
Definition at line 54 of file entity_base.h.
std::string esphome::EntityBase::get_icon | ( | ) | const |
Definition at line 30 of file entity_base.cpp.
|
inline |
Definition at line 62 of file entity_base.h.
const StringRef & esphome::EntityBase::get_name | ( | ) | const |
Definition at line 11 of file entity_base.cpp.
std::string esphome::EntityBase::get_object_id | ( | ) | const |
Definition at line 54 of file entity_base.cpp.
uint32_t esphome::EntityBase::get_object_id_hash | ( | ) |
Definition at line 83 of file entity_base.cpp.
|
protected |
Definition at line 63 of file entity_base.cpp.
|
inline |
Get a unique hash for storing preferences/settings for this entity.
This method returns a hash that uniquely identifies the entity for the purpose of storing preferences (such as calibration, state, etc.). Unlike get_object_id_hash(), this hash also incorporates the device_id (if devices are enabled), ensuring uniqueness across multiple devices that may have entities with the same object_id.
Use this method when storing or retrieving preferences/settings that should be unique per device-entity pair. Use get_object_id_hash() when you need a hash that identifies the entity regardless of the device it belongs to.
For backward compatibility, if device_id is 0 (the main device), the hash is unchanged from previous versions, so existing single-device configurations will continue to work.
Definition at line 105 of file entity_base.h.
|
inline |
Definition at line 34 of file entity_base.h.
|
inline |
Definition at line 83 of file entity_base.h.
|
inlineprotectedvirtual |
The hash_base() function has been deprecated.
It is kept in this class for now, to prevent external components from not compiling.
Definition at line 126 of file entity_base.h.
|
inline |
Definition at line 50 of file entity_base.h.
|
inline |
Definition at line 44 of file entity_base.h.
|
protected |
Check if the object_id is dynamic (changes with MAC suffix)
Definition at line 49 of file entity_base.cpp.
|
inline |
Definition at line 79 of file entity_base.h.
|
inline |
Definition at line 51 of file entity_base.h.
|
inline |
Definition at line 55 of file entity_base.h.
|
inline |
Definition at line 86 of file entity_base.h.
void esphome::EntityBase::set_icon | ( | const char * | icon | ) |
Definition at line 40 of file entity_base.cpp.
|
inline |
Definition at line 45 of file entity_base.h.
void esphome::EntityBase::set_name | ( | const char * | name | ) |
Definition at line 12 of file entity_base.cpp.
void esphome::EntityBase::set_object_id | ( | const char * | object_id | ) |
Definition at line 72 of file entity_base.cpp.
|
protected |
Definition at line 139 of file entity_base.h.
|
protected |
|
protected |
Definition at line 135 of file entity_base.h.
|
protected |
Definition at line 132 of file entity_base.h.
|
protected |
Definition at line 133 of file entity_base.h.
|
protected |
Definition at line 137 of file entity_base.h.