ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::text_sensor::TextSensor Class Reference

#include <text_sensor.h>

Inheritance diagram for esphome::text_sensor::TextSensor:
esphome::EntityBase esphome::ble_client::BLETextSensor esphome::ble_scanner::BLEScanner esphome::bq25186::BQ25186TextSensor esphome::copy::CopyTextSensor esphome::demo::DemoTextSensor esphome::duco::DucoSerial esphome::ethernet_info::DNSAddressEthernetInfo esphome::ethernet_info::IPAddressEthernetInfo esphome::ethernet_info::MACAddressEthernetInfo esphome::hoermann_hcp::HoermannHcpDoorStateTextSensor esphome::homeassistant::HomeassistantTextSensor esphome::ld2420::LD2420TextSensor esphome::micronova::MicroNovaTextSensor esphome::mk2pvrouter::Mk2PVRouterTextSensor esphome::modbus_controller::ModbusTextSensor esphome::mqtt_subscribe::MQTTSubscribeTextSensor esphome::mt6701_spi::MT6701SPIFieldStatus esphome::nextion::NextionTextSensor esphome::openthread_info::ChannelOpenThreadInfo esphome::openthread_info::Eui64OpenThreadInfo esphome::openthread_info::ExtAddrOpenThreadInfo esphome::openthread_info::ExtPanIdOpenThreadInfo esphome::openthread_info::IPAddressOpenThreadInfo esphome::openthread_info::MeshLocalEidOpenThreadInfo esphome::openthread_info::NetworkKeyOpenThreadInfo esphome::openthread_info::NetworkNameOpenThreadInfo esphome::openthread_info::PanIdOpenThreadInfo esphome::openthread_info::Rloc16OpenThreadInfo esphome::openthread_info::RoleOpenThreadInfo esphome::sendspin_::SendspinPairingCodeTextSensor esphome::sendspin_::SendspinTextSensor esphome::sml::SmlTextSensor esphome::sun::SunTextSensor esphome::sy6970::SY6970BusStatusTextSensor esphome::sy6970::SY6970ChargeStatusTextSensor esphome::sy6970::SY6970NtcStatusTextSensor esphome::teleinfo::TeleInfoTextSensor esphome::template_::TemplateTextSensor esphome::text::TextTextSensor esphome::tuya::TuyaTextSensor esphome::uptime::UptimeTextSensor esphome::version::VersionTextSensor esphome::wifi_info::BSSIDWiFiInfo esphome::wifi_info::DNSAddressWifiInfo esphome::wifi_info::IPAddressWiFiInfo esphome::wifi_info::MacAddressWifiInfo esphome::wifi_info::PowerSaveModeWiFiInfo esphome::wifi_info::SSIDWiFiInfo esphome::wifi_info::ScanResultsWiFiInfo esphome::wl_134::Wl134Component

Public Member Functions

 TextSensor ()
 
 ~TextSensor ()=default
 
const std::string & get_state () const
 Getter-syntax for .state.
 
const std::string & get_raw_state () const
 Returns the raw (pre-filter) state.
 
void publish_state (const std::string &state)
 
void publish_state (const char *state)
 
void publish_state (const char *state, size_t len)
 
void publish_state (ProgmemStr state)
 Publish a flash string, such as a PROGMEM_STRING_TABLE get_progmem_str(); at most 255 characters, the Home Assistant state limit, are kept.
 
void add_filter (Filter *filter)
 Add a filter to the filter chain. Will be appended to the back.
 
void add_filters (std::initializer_list< Filter * > filters)
 Add a list of vectors to the back of the filter chain.
 
void set_filters (std::initializer_list< Filter * > filters)
 Clear the filters and replace them by filters.
 
void clear_filters ()
 Clear the entire filter chain.
 
template<typename F >
void add_on_state_callback (F &&callback)
 
template<typename F >
void add_on_raw_state_callback (F &&callback)
 Add a callback that will be called every time the sensor sends a raw value.
 
void internal_send_state_to_frontend (const std::string &state)
 
void internal_send_state_to_frontend (const char *state, size_t len)
 
- Public Member Functions inherited from esphome::EntityBase
 ESPDEPRECATED ("Use get_name_to() or get_log_name() instead. Will be removed in ESPHome 2027.5.0", "2026.11.0") const StringRef &get_name() const
 The name is in flash here; the first call makes a RAM copy that is kept for the life of the device.
 
StringRef get_name_to (std::span< char, ENTITY_NAME_BUF_SIZE > buffer) const
 Get the name of this Entity, copied out of flash into buffer.
 
 ESPDEPRECATED ("Use get_name_to() or get_log_name() instead. Will be removed in ESPHome 2027.5.0", "2026.11.0") const StringRef &get_name() const
 
const StringRef & get_name_to (std::span< char, ENTITY_NAME_BUF_SIZE >) const
 
bool name_equals (const StringRef &other) const
 
const ProgmemStringRef & get_name_progmem () const
 The name as stored, for consumers that read flash themselves (e.g. API progmem fields).
 
size_t write_name_to (char *buf, size_t buf_size) const
 Copy the name into buf (null terminated), returns its length.
 
const LogString * get_log_name () const
 Get the name for a "%s" log argument (LOG_STR_ARG).
 
bool has_own_name () const
 
uint32_t get_object_id_hash () const
 
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
 
EntityCategory get_entity_category () const
 
const char * get_device_class_to (std::span< char, MAX_DEVICE_CLASS_LENGTH > buffer) const
 
ProgmemStringRef get_device_class_progmem () const
 The device class as stored (in flash on ESP8266), for consumers that read flash themselves.
 
StringRef get_unit_of_measurement_ref () const
 
const char * get_icon_to (std::span< char, MAX_ICON_LENGTH > buffer) const
 
ProgmemStringRef get_icon_progmem () const
 The icon as stored (in flash on ESP8266), for consumers that read flash themselves.
 
uint32_t get_device_id () const
 
Device * get_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.
 
template<typename T >
ESPPreferenceObject make_entity_preference (uint32_t version, bool in_flash)
 As make_entity_preference(), stored in flash or RTC memory where the backend supports the choice.
 

Data Fields

std::string state
 

Protected Member Functions

void notify_frontend_ ()
 Notify frontend that state has changed (assumes this->state is already set)
 
- Protected Member Functions inherited from esphome::EntityBase
friend void::setup ()
 
friend void::original_setup ()
 
void configure_entity_ (const char *name, uint32_t object_id_hash, uint32_t entity_fields)
 Combined entity setup from codegen: set name, object_id hash, entity string indices, and flags.
 
void set_device_ (Device *device)
 
ESPPreferenceObject make_entity_preference_ (size_t size, uint32_t version)
 Non-template helpers for make_entity_preference() to avoid code bloat.
 
ESPPreferenceObject make_entity_preference_ (size_t size, uint32_t version, bool in_flash)
 
uint32_t entity_preference_key_ (uint32_t version)
 Key for both helpers; preference hash migration goes here.
 

Protected Attributes

std::string raw_state_
 Backing storage for the raw (pre-filter) value. Only used when a filter is attached.
 
LazyCallbackManager< void(const std::string &)> raw_callback_
 Storage for raw state callbacks.
 
LazyCallbackManager< void(const std::string &)> callback_
 Storage for filtered state callbacks.
 
Filter * filter_list_ {nullptr}
 Store all active filters.
 
- Protected Attributes inherited from esphome::EntityBase
ProgmemStringRef name_
 
uint32_t object_id_hash_ {}
 
Device * device_ {}
 
struct esphome::EntityBase::EntityFlags flags_
 
uint8_t device_class_idx_ {}
 
uint8_t uom_idx_ {}
 
uint8_t icon_idx_ {}
 

Detailed Description

Definition at line 29 of file text_sensor.h.

Constructor & Destructor Documentation

◆ TextSensor()

esphome::text_sensor::TextSensor::TextSensor ( )
inline

Definition at line 34 of file text_sensor.h.

◆ ~TextSensor()

esphome::text_sensor::TextSensor::~TextSensor ( )
default

Member Function Documentation

◆ add_filter()

void esphome::text_sensor::TextSensor::add_filter ( Filter * filter)

Add a filter to the filter chain. Will be appended to the back.

Definition at line 57 of file text_sensor.cpp.

◆ add_filters()

void esphome::text_sensor::TextSensor::add_filters ( std::initializer_list< Filter * > filters)

Add a list of vectors to the back of the filter chain.

Definition at line 71 of file text_sensor.cpp.

◆ add_on_raw_state_callback()

template<typename F >
void esphome::text_sensor::TextSensor::add_on_raw_state_callback ( F && callback)
inline

Add a callback that will be called every time the sensor sends a raw value.

When USE_TEXT_SENSOR_FILTER is not enabled, delegates to the regular callback since raw state equals filtered state without filter support compiled in.

Definition at line 69 of file text_sensor.h.

◆ add_on_state_callback()

template<typename F >
void esphome::text_sensor::TextSensor::add_on_state_callback ( F && callback)
inline

Definition at line 65 of file text_sensor.h.

◆ clear_filters()

void esphome::text_sensor::TextSensor::clear_filters ( )

Clear the entire filter chain.

Definition at line 80 of file text_sensor.cpp.

◆ get_raw_state()

const std::string & esphome::text_sensor::TextSensor::get_raw_state ( ) const

Returns the raw (pre-filter) state.

Definition at line 89 of file text_sensor.cpp.

◆ get_state()

const std::string & esphome::text_sensor::TextSensor::get_state ( ) const

Getter-syntax for .state.

Definition at line 88 of file text_sensor.cpp.

◆ internal_send_state_to_frontend() [1/2]

void esphome::text_sensor::TextSensor::internal_send_state_to_frontend ( const char * state,
size_t len )

Definition at line 97 of file text_sensor.cpp.

◆ internal_send_state_to_frontend() [2/2]

void esphome::text_sensor::TextSensor::internal_send_state_to_frontend ( const std::string & state)
inline

Definition at line 80 of file text_sensor.h.

◆ notify_frontend_()

void esphome::text_sensor::TextSensor::notify_frontend_ ( )
protected

Notify frontend that state has changed (assumes this->state is already set)

Definition at line 105 of file text_sensor.cpp.

◆ publish_state() [1/4]

void esphome::text_sensor::TextSensor::publish_state ( const char * state)
inline

Definition at line 43 of file text_sensor.h.

◆ publish_state() [2/4]

void esphome::text_sensor::TextSensor::publish_state ( const char * state,
size_t len )

Definition at line 19 of file text_sensor.cpp.

◆ publish_state() [3/4]

void esphome::text_sensor::TextSensor::publish_state ( const std::string & state)
inline

Definition at line 42 of file text_sensor.h.

◆ publish_state() [4/4]

void esphome::text_sensor::TextSensor::publish_state ( ProgmemStr state)

Publish a flash string, such as a PROGMEM_STRING_TABLE get_progmem_str(); at most 255 characters, the Home Assistant state limit, are kept.

Definition at line 48 of file text_sensor.cpp.

◆ set_filters()

void esphome::text_sensor::TextSensor::set_filters ( std::initializer_list< Filter * > filters)

Clear the filters and replace them by filters.

Definition at line 76 of file text_sensor.cpp.

Field Documentation

◆ callback_

LazyCallbackManager<void(const std::string &)> esphome::text_sensor::TextSensor::callback_
protected

Storage for filtered state callbacks.

Definition at line 92 of file text_sensor.h.

◆ filter_list_

Filter* esphome::text_sensor::TextSensor::filter_list_ {nullptr}
protected

Store all active filters.

Definition at line 95 of file text_sensor.h.

◆ raw_callback_

LazyCallbackManager<void(const std::string &)> esphome::text_sensor::TextSensor::raw_callback_
protected

Storage for raw state callbacks.

Definition at line 90 of file text_sensor.h.

◆ raw_state_

std::string esphome::text_sensor::TextSensor::raw_state_
protected

Backing storage for the raw (pre-filter) value. Only used when a filter is attached.

Definition at line 89 of file text_sensor.h.

◆ state

std::string esphome::text_sensor::TextSensor::state

Definition at line 31 of file text_sensor.h.


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