ESPHome 2026.2.1
Loading...
Searching...
No Matches
esphome::text::Text Class Referenceabstract

Base-class for all text inputs. More...

#include <text.h>

Inheritance diagram for esphome::text::Text:
esphome::EntityBase esphome::copy::CopyText esphome::demo::DemoText esphome::lvgl::LVGLText esphome::template_::TemplateText

Public Member Functions

void publish_state (const std::string &state)
 
void publish_state (const char *state)
 
void publish_state (const char *state, size_t len)
 
TextCall make_call ()
 Instantiate a TextCall object to modify this text component's state.
 
void add_on_state_callback (std::function< void(const std::string &)> &&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)
 
 ESPDEPRECATED ("Use make_entity_preference<T>() instead, or preferences won't be migrated. " "See https://github.com/esphome/backlog/issues/85. Will be removed in 2027.1.0.", "2026.7.0") uint32_t get_preference_hash()
 Get a unique hash for storing preferences/settings for this entity.
 
template<typename T >
ESPPreferenceObject make_entity_preference (uint32_t version=0)
 Create a preference object for storing this entity's state/settings.
 

Data Fields

std::string state
 
TextTraits traits
 

Protected Member Functions

virtual void control (const std::string &value)=0
 Set the value of the text input, this is a virtual method that each text input integration must implement.
 
- Protected Member Functions inherited from esphome::EntityBase
ESPPreferenceObject make_entity_preference_ (size_t size, uint32_t version)
 Non-template helper for make_entity_preference() to avoid code bloat.
 
void calc_object_id_ ()
 

Protected Attributes

LazyCallbackManager< void(const std::string &)> state_callback_
 
- 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_
 

Detailed Description

Base-class for all text inputs.

A text input can use publish_state to send out a new value.

Definition at line 22 of file text.h.

Member Function Documentation

◆ add_on_state_callback()

void esphome::text::Text::add_on_state_callback ( std::function< void(const std::string &)> && callback)

Definition at line 33 of file text.cpp.

◆ control()

virtual void esphome::text::Text::control ( const std::string & value)
protectedpure virtual

Set the value of the text input, this is a virtual method that each text input integration must implement.

This method is called by the TextCall.

Parameters
valueThe value as validated by the TextCall.

Implemented in esphome::copy::CopyText, esphome::demo::DemoText, esphome::lvgl::LVGLText, and esphome::template_::TemplateText.

◆ make_call()

TextCall esphome::text::Text::make_call ( )
inline

Instantiate a TextCall object to modify this text component's state.

Definition at line 32 of file text.h.

◆ publish_state() [1/3]

void esphome::text::Text::publish_state ( const char * state)

Definition at line 14 of file text.cpp.

◆ publish_state() [2/3]

void esphome::text::Text::publish_state ( const char * state,
size_t len )

Definition at line 16 of file text.cpp.

◆ publish_state() [3/3]

void esphome::text::Text::publish_state ( const std::string & state)

Definition at line 12 of file text.cpp.

Field Documentation

◆ state

std::string esphome::text::Text::state

Definition at line 24 of file text.h.

◆ state_callback_

LazyCallbackManager<void(const std::string &)> esphome::text::Text::state_callback_
protected

Definition at line 47 of file text.h.

◆ traits

TextTraits esphome::text::Text::traits

Definition at line 25 of file text.h.


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