ESPHome 2026.1.0-dev
Loading...
Searching...
No Matches
esphome::water_heater Namespace Reference

Data Structures

struct  SavedWaterHeaterState
 
class  WaterHeater
 
class  WaterHeaterCall
 
struct  WaterHeaterCallInternal
 
class  WaterHeaterTraits
 

Typedefs

using WaterHeaterModeMask
 

Enumerations

enum  WaterHeaterMode : uint32_t {
  WATER_HEATER_MODE_OFF = 0 , WATER_HEATER_MODE_ECO = 1 , WATER_HEATER_MODE_ELECTRIC = 2 , WATER_HEATER_MODE_PERFORMANCE = 3 ,
  WATER_HEATER_MODE_HIGH_DEMAND = 4 , WATER_HEATER_MODE_HEAT_PUMP = 5 , WATER_HEATER_MODE_GAS = 6
}
 
enum  WaterHeaterFeature : uint32_t {
  WATER_HEATER_SUPPORTS_CURRENT_TEMPERATURE = 1 << 0 , WATER_HEATER_SUPPORTS_TARGET_TEMPERATURE = 1 << 1 , WATER_HEATER_SUPPORTS_OPERATION_MODE = 1 << 2 , WATER_HEATER_SUPPORTS_AWAY_MODE = 1 << 3 ,
  WATER_HEATER_SUPPORTS_ON_OFF = 1 << 4 , WATER_HEATER_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE = 1 << 5
}
 Feature flags for water heater capabilities (matches Home Assistant WaterHeaterEntityFeature) More...
 
enum  WaterHeaterStateFlag : uint32_t { WATER_HEATER_STATE_AWAY = 1 << 0 , WATER_HEATER_STATE_ON = 1 << 1 }
 State flags for water heater current state (bitmask) More...
 

Functions

void log_water_heater (const char *tag, const char *prefix, const char *type, WaterHeater *obj)
 
const LogString * water_heater_mode_to_string (WaterHeaterMode mode)
 Convert the given WaterHeaterMode to a human-readable string for logging.
 
struct esphome::water_heater::SavedWaterHeaterState __attribute__ ((packed))
 

Variables

class esphome::water_heater::WaterHeaterCall __attribute__
 

Typedef Documentation

◆ WaterHeaterModeMask

Initial value:
FiniteSetMask<WaterHeaterMode, DefaultBitPolicy<WaterHeaterMode, WATER_HEATER_MODE_GAS + 1>>

Definition at line 30 of file water_heater.h.

Enumeration Type Documentation

◆ WaterHeaterFeature

Feature flags for water heater capabilities (matches Home Assistant WaterHeaterEntityFeature)

Enumerator
WATER_HEATER_SUPPORTS_CURRENT_TEMPERATURE 

The water heater supports reporting the current temperature.

WATER_HEATER_SUPPORTS_TARGET_TEMPERATURE 

The water heater supports a target temperature.

WATER_HEATER_SUPPORTS_OPERATION_MODE 

The water heater supports operation mode selection.

WATER_HEATER_SUPPORTS_AWAY_MODE 

The water heater supports an away/vacation mode.

WATER_HEATER_SUPPORTS_ON_OFF 

The water heater can be turned on/off.

WATER_HEATER_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE 

The water heater supports two-point target temperature (low/high range).

Definition at line 34 of file water_heater.h.

◆ WaterHeaterMode

Enumerator
WATER_HEATER_MODE_OFF 
WATER_HEATER_MODE_ECO 
WATER_HEATER_MODE_ELECTRIC 
WATER_HEATER_MODE_PERFORMANCE 
WATER_HEATER_MODE_HIGH_DEMAND 
WATER_HEATER_MODE_HEAT_PUMP 
WATER_HEATER_MODE_GAS 

Definition at line 18 of file water_heater.h.

◆ WaterHeaterStateFlag

State flags for water heater current state (bitmask)

Enumerator
WATER_HEATER_STATE_AWAY 

Away/vacation mode is currently active.

WATER_HEATER_STATE_ON 

Water heater is on (not in standby)

Definition at line 50 of file water_heater.h.

Function Documentation

◆ __attribute__()

struct esphome::water_heater::SavedWaterHeaterState esphome::water_heater::__attribute__ ( (packed) )

◆ log_water_heater()

void esphome::water_heater::log_water_heater ( const char * tag,
const char * prefix,
const char * type,
WaterHeater * obj )

Definition at line 12 of file water_heater.cpp.

◆ water_heater_mode_to_string()

const LogString * esphome::water_heater::water_heater_mode_to_string ( WaterHeaterMode mode)

Convert the given WaterHeaterMode to a human-readable string for logging.

Definition at line 236 of file water_heater.cpp.

Variable Documentation

◆ __attribute__

class esphome::water_heater::WaterHeaterCall esphome::water_heater::__attribute__