|
ESPHome 2026.3.0-dev
|
#include <water_heater.h>
Public Member Functions | |
| WaterHeaterMode | get_mode () const |
| float | get_current_temperature () const |
| float | get_target_temperature () const |
| float | get_target_temperature_low () const |
| float | get_target_temperature_high () const |
| uint32_t | get_state () const |
| Get the current state flags bitmask. | |
| bool | is_away () const |
| Check if away mode is currently active. | |
| bool | is_on () const |
| Check if the water heater is on. | |
| void | set_current_temperature (float current_temperature) |
| virtual void | publish_state () |
| virtual WaterHeaterTraits | get_traits () |
| virtual WaterHeaterCallInternal | make_call ()=0 |
| void | set_visual_min_temperature_override (float min_temperature_override) |
| void | set_visual_max_temperature_override (float max_temperature_override) |
| void | set_visual_target_temperature_step_override (float visual_target_temperature_step_override) |
| virtual void | control (const WaterHeaterCall &call)=0 |
Public Member Functions inherited from esphome::EntityBase | |
| const StringRef & | get_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) |
| 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. | |
Protected Member Functions | |
| virtual WaterHeaterTraits | traits ()=0 |
| void | dump_traits_ (const char *tag) |
| Log the traits of this water heater for dump_config(). | |
| optional< WaterHeaterCall > | restore_state_ () |
| Restore the state of the water heater, call this from your setup() method. | |
| void | set_mode_ (WaterHeaterMode mode) |
| Set the mode of the water heater. Should only be called from control(). | |
| void | set_target_temperature_ (float target_temperature) |
| Set the target temperature of the water heater. Should only be called from control(). | |
| void | set_target_temperature_low_ (float target_temperature_low) |
| Set the low target temperature (for two-point control). Should only be called from control(). | |
| void | set_target_temperature_high_ (float target_temperature_high) |
| Set the high target temperature (for two-point control). Should only be called from control(). | |
| void | set_state_ (uint32_t state) |
| Set the state flags. Should only be called from control(). | |
| void | set_state_flag_ (uint32_t flag, bool value) |
| Set or clear a state flag. Should only be called from control(). | |
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 | |
| WaterHeaterMode | mode_ {WATER_HEATER_MODE_OFF} |
| float | current_temperature_ {NAN} |
| float | target_temperature_ {NAN} |
| float | target_temperature_low_ {NAN} |
| float | target_temperature_high_ {NAN} |
| uint32_t | state_ {0} |
| float | visual_min_temperature_override_ {NAN} |
| float | visual_max_temperature_override_ {NAN} |
| float | visual_target_temperature_step_override_ {NAN} |
| ESPPreferenceObject | pref_ |
Protected Attributes inherited from esphome::EntityBase | |
| StringRef | name_ |
| const char * | icon_c_str_ {nullptr} |
| uint32_t | object_id_hash_ {} |
| Device * | device_ {} |
| struct esphome::EntityBase::EntityFlags | flags_ |
Definition at line 198 of file water_heater.h.
|
pure virtual |
Implemented in esphome::template_::TemplateWaterHeater.
|
protected |
Log the traits of this water heater for dump_config().
Definition at line 251 of file water_heater.cpp.
|
inline |
Definition at line 201 of file water_heater.h.
|
inline |
Definition at line 200 of file water_heater.h.
|
inline |
Get the current state flags bitmask.
Definition at line 206 of file water_heater.h.
|
inline |
Definition at line 202 of file water_heater.h.
|
inline |
Definition at line 204 of file water_heater.h.
|
inline |
Definition at line 203 of file water_heater.h.
|
virtual |
Definition at line 214 of file water_heater.cpp.
|
inline |
Check if away mode is currently active.
Definition at line 208 of file water_heater.h.
|
inline |
Check if the water heater is on.
Definition at line 210 of file water_heater.h.
|
pure virtual |
Implemented in esphome::template_::TemplateWaterHeater.
|
virtual |
Definition at line 156 of file water_heater.cpp.
|
protected |
Restore the state of the water heater, call this from your setup() method.
Definition at line 194 of file water_heater.cpp.
|
inline |
Definition at line 212 of file water_heater.h.
|
inlineprotected |
Set the mode of the water heater. Should only be called from control().
Definition at line 235 of file water_heater.h.
|
inlineprotected |
Set the state flags. Should only be called from control().
Definition at line 247 of file water_heater.h.
|
inlineprotected |
Set or clear a state flag. Should only be called from control().
Definition at line 249 of file water_heater.h.
|
inlineprotected |
Set the target temperature of the water heater. Should only be called from control().
Definition at line 237 of file water_heater.h.
|
inlineprotected |
Set the high target temperature (for two-point control). Should only be called from control().
Definition at line 243 of file water_heater.h.
|
inlineprotected |
Set the low target temperature (for two-point control). Should only be called from control().
Definition at line 239 of file water_heater.h.
| void esphome::water_heater::WaterHeater::set_visual_max_temperature_override | ( | float | max_temperature_override | ) |
Definition at line 234 of file water_heater.cpp.
| void esphome::water_heater::WaterHeater::set_visual_min_temperature_override | ( | float | min_temperature_override | ) |
Definition at line 231 of file water_heater.cpp.
| void esphome::water_heater::WaterHeater::set_visual_target_temperature_step_override | ( | float | visual_target_temperature_step_override | ) |
Definition at line 237 of file water_heater.cpp.
|
protectedpure virtual |
Implemented in esphome::template_::TemplateWaterHeater.
|
protected |
Definition at line 258 of file water_heater.h.
|
protected |
Definition at line 257 of file water_heater.h.
|
protected |
Definition at line 270 of file water_heater.h.
|
protected |
Definition at line 262 of file water_heater.h.
|
protected |
Definition at line 259 of file water_heater.h.
|
protected |
Definition at line 261 of file water_heater.h.
|
protected |
Definition at line 260 of file water_heater.h.
|
protected |
Definition at line 266 of file water_heater.h.
|
protected |
Definition at line 265 of file water_heater.h.
|
protected |
Definition at line 267 of file water_heater.h.