ESPHome 2026.1.0-dev
Loading...
Searching...
No Matches
esphome::datetime::DateEntity Class Referenceabstract

#include <date_entity.h>

Inheritance diagram for esphome::datetime::DateEntity:
esphome::datetime::DateTimeBase esphome::EntityBase esphome::demo::DemoDate esphome::template_::TemplateDate

Public Member Functions

void publish_state ()
 
DateCall make_call ()
 
ESPTime state_as_esptime () const override
 
- Public Member Functions inherited from esphome::datetime::DateTimeBase
void add_on_state_callback (std::function< void()> &&callback)
 
void set_rtc (time::RealTimeClock *rtc)
 
time::RealTimeClockget_rtc () const
 
- Public Member Functions inherited from esphome::EntityBase
const StringRefget_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.
 

Data Fields

const uint16_t & year = year_
 
const uint8_t & month = month_
 
const uint8_t & day = day_
 

Protected Member Functions

virtual void control (const DateCall &call)=0
 
- 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

uint16_t year_
 
uint8_t month_
 
uint8_t day_
 
- Protected Attributes inherited from esphome::datetime::DateTimeBase
LazyCallbackManager< void()> state_callback_
 
time::RealTimeClockrtc_
 
- 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

Definition at line 35 of file date_entity.h.

Member Function Documentation

◆ control()

virtual void esphome::datetime::DateEntity::control ( const DateCall & call)
protectedpure virtual

◆ make_call()

DateCall esphome::datetime::DateEntity::make_call ( )

Definition at line 40 of file date_entity.cpp.

◆ publish_state()

void esphome::datetime::DateEntity::publish_state ( )

Definition at line 12 of file date_entity.cpp.

◆ state_as_esptime()

ESPTime esphome::datetime::DateEntity::state_as_esptime ( ) const
inlineoverridevirtual

Implements esphome::datetime::DateTimeBase.

Definition at line 45 of file date_entity.h.

Field Documentation

◆ day

const uint8_t& esphome::datetime::DateEntity::day = day_

Definition at line 55 of file date_entity.h.

◆ day_

uint8_t esphome::datetime::DateEntity::day_
protected

Definition at line 39 of file date_entity.h.

◆ month

const uint8_t& esphome::datetime::DateEntity::month = month_

Definition at line 54 of file date_entity.h.

◆ month_

uint8_t esphome::datetime::DateEntity::month_
protected

Definition at line 38 of file date_entity.h.

◆ year

const uint16_t& esphome::datetime::DateEntity::year = year_

Definition at line 53 of file date_entity.h.

◆ year_

uint16_t esphome::datetime::DateEntity::year_
protected

Definition at line 37 of file date_entity.h.


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