13struct WaterHeaterCallInternal;
16#define LOG_WATER_HEATER(prefix, type, obj) log_water_heater(TAG, prefix, LOG_STR_LITERAL(type), obj)
200#ifdef USE_WATER_HEATER_VISUAL_OVERRIDES
207 void setup()
override;
247#ifdef USE_WATER_HEATER_VISUAL_OVERRIDES
BedjetMode mode
BedJet operating mode.
constexpr size_t count(ValueType value) const
Check if the set contains a specific value (std::set compatibility) Returns 1 if present,...
WaterHeaterCall & set_away(bool away)
WaterHeaterCall & set_target_temperature_high(float temperature)
uint32_t get_state() const
Get state flags value.
WaterHeaterCall & set_mode(WaterHeaterMode mode)
WaterHeaterCall & set_target_temperature_low(float temperature)
WaterHeaterCall & set_on(bool on)
float get_target_temperature_high() const
float get_target_temperature_low() const
float target_temperature_low_
float target_temperature_high_
float target_temperature_
optional< WaterHeaterMode > mode_
const optional< WaterHeaterMode > & get_mode() const
WaterHeaterCall & set_target_temperature(float temperature)
float get_target_temperature() const
float visual_target_temperature_step_override_
ESPPreferenceObject pref_
uint32_t get_state() const
Get the current state flags bitmask.
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_mode_(WaterHeaterMode mode)
Set the mode of the water heater. Should only be called from control().
void set_visual_min_temperature_override(float min_temperature_override)
virtual void publish_state()
virtual void control(const WaterHeaterCall &call)=0
float visual_max_temperature_override_
void set_visual_target_temperature_step_override(float visual_target_temperature_step_override)
float target_temperature_low_
float visual_min_temperature_override_
void set_state_flag_(uint32_t flag, bool value)
Set or clear a state flag. Should only be called from control().
float get_target_temperature_low() const
void set_visual_max_temperature_override(float max_temperature_override)
void set_state_(uint32_t state)
Set the state flags. 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().
float get_target_temperature() const
bool is_on() const
Check if the water heater is on.
float get_current_temperature() const
bool is_away() const
Check if away mode is currently active.
void set_target_temperature_(float target_temperature)
Set the target temperature of the water heater. Should only be called from control().
virtual WaterHeaterCallInternal make_call()=0
float target_temperature_
WaterHeaterMode get_mode() const
float current_temperature_
void dump_traits_(const char *tag)
Log the traits of this water heater for dump_config().
virtual WaterHeaterTraits get_traits()
float target_temperature_high_
virtual WaterHeaterTraits traits()=0
void set_current_temperature(float current_temperature)
float get_target_temperature_high() const
optional< WaterHeaterCall > restore_state()
void set_supported_modes(WaterHeaterModeMask modes)
bool get_supports_two_point_target_temperature() const
float get_target_temperature_step() const
uint32_t get_feature_flags() const
const WaterHeaterModeMask & get_supported_modes() const
void clear_feature_flags(uint32_t flags)
bool get_supports_current_temperature() const
void add_feature_flags(uint32_t flags)
Get/set feature flags (see WaterHeaterFeature enum)
WaterHeaterModeMask supported_modes_
bool supports_mode(WaterHeaterMode mode) const
float get_min_temperature() const
void set_supports_current_temperature(bool supports)
float target_temperature_step_
void set_min_temperature(float min_temperature)
bool get_supports_away_mode() const
void set_supports_two_point_target_temperature(bool supports)
bool has_feature_flags(uint32_t flags) const
void set_target_temperature_step(float target_temperature_step)
float get_max_temperature() const
void set_max_temperature(float max_temperature)
void set_supports_away_mode(bool supports)
float target_temperature_high
float target_temperature_low
void log_water_heater(const char *tag, const char *prefix, const char *type, WaterHeater *obj)
@ WATER_HEATER_MODE_ELECTRIC
@ WATER_HEATER_MODE_HIGH_DEMAND
@ WATER_HEATER_MODE_HEAT_PUMP
@ WATER_HEATER_MODE_PERFORMANCE
WaterHeaterStateFlag
State flags for water heater current state (bitmask)
@ WATER_HEATER_STATE_ON
Water heater is on (not in standby)
@ WATER_HEATER_STATE_AWAY
Away/vacation mode is currently active.
WaterHeaterFeature
Feature flags for water heater capabilities (matches Home Assistant WaterHeaterEntityFeature)
@ 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_ON_OFF
The water heater can be turned on/off.
@ WATER_HEATER_SUPPORTS_AWAY_MODE
The water heater supports an away/vacation mode.
@ WATER_HEATER_SUPPORTS_CURRENT_TEMPERATURE
The water heater supports reporting the current temperature.
@ WATER_HEATER_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE
The water heater supports two-point target temperature (low/high range).
const LogString * water_heater_mode_to_string(WaterHeaterMode mode)
Convert the given WaterHeaterMode to a human-readable string for logging.
class esphome::water_heater::WaterHeaterCall __attribute__
struct esphome::water_heater::SavedWaterHeaterState::@167::@168 __attribute__
float target_temperature_low
float target_temperature_high
WaterHeaterCallInternal(WaterHeater *parent)
WaterHeaterCallInternal & set_from_restore(const WaterHeaterCall &restore)