ESPHome 2026.2.3
Loading...
Searching...
No Matches
esphome::thermostat::ThermostatClimate Class Reference

#include <thermostat_climate.h>

Inheritance diagram for esphome::thermostat::ThermostatClimate:
esphome::climate::Climate esphome::Component esphome::EntityBase

Public Types

using PresetEntry = ThermostatPresetEntry
 
using CustomPresetEntry = ThermostatCustomPresetEntry
 

Public Member Functions

 ThermostatClimate ()
 
void setup () override
 
void dump_config () override
 
void loop () override
 
void set_default_preset (const char *custom_preset)
 
void set_default_preset (climate::ClimatePreset preset)
 
void set_on_boot_restore_from (OnBootRestoreFrom on_boot_restore_from)
 
void set_set_point_minimum_differential (float differential)
 
void set_cool_deadband (float deadband)
 
void set_cool_overrun (float overrun)
 
void set_heat_deadband (float deadband)
 
void set_heat_overrun (float overrun)
 
void set_supplemental_cool_delta (float delta)
 
void set_supplemental_heat_delta (float delta)
 
void set_cooling_maximum_run_time_in_sec (uint32_t time)
 
void set_heating_maximum_run_time_in_sec (uint32_t time)
 
void set_cooling_minimum_off_time_in_sec (uint32_t time)
 
void set_cooling_minimum_run_time_in_sec (uint32_t time)
 
void set_fan_mode_minimum_switching_time_in_sec (uint32_t time)
 
void set_fanning_minimum_off_time_in_sec (uint32_t time)
 
void set_fanning_minimum_run_time_in_sec (uint32_t time)
 
void set_heating_minimum_off_time_in_sec (uint32_t time)
 
void set_heating_minimum_run_time_in_sec (uint32_t time)
 
void set_idle_minimum_time_in_sec (uint32_t time)
 
void set_sensor (sensor::Sensor *sensor)
 
void set_humidity_sensor (sensor::Sensor *humidity_sensor)
 
void set_humidity_hysteresis (float humidity_hysteresis)
 
void set_use_startup_delay (bool use_startup_delay)
 
void set_supports_auto (bool supports_auto)
 
void set_supports_heat_cool (bool supports_heat_cool)
 
void set_supports_cool (bool supports_cool)
 
void set_supports_dry (bool supports_dry)
 
void set_supports_fan_only (bool supports_fan_only)
 
void set_supports_fan_only_action_uses_fan_mode_timer (bool fan_only_action_uses_fan_mode_timer)
 
void set_supports_fan_only_cooling (bool supports_fan_only_cooling)
 
void set_supports_fan_with_cooling (bool supports_fan_with_cooling)
 
void set_supports_fan_with_heating (bool supports_fan_with_heating)
 
void set_supports_heat (bool supports_heat)
 
void set_supports_fan_mode_on (bool supports_fan_mode_on)
 
void set_supports_fan_mode_off (bool supports_fan_mode_off)
 
void set_supports_fan_mode_auto (bool supports_fan_mode_auto)
 
void set_supports_fan_mode_low (bool supports_fan_mode_low)
 
void set_supports_fan_mode_medium (bool supports_fan_mode_medium)
 
void set_supports_fan_mode_high (bool supports_fan_mode_high)
 
void set_supports_fan_mode_middle (bool supports_fan_mode_middle)
 
void set_supports_fan_mode_focus (bool supports_fan_mode_focus)
 
void set_supports_fan_mode_diffuse (bool supports_fan_mode_diffuse)
 
void set_supports_fan_mode_quiet (bool supports_fan_mode_quiet)
 
void set_supports_swing_mode_both (bool supports_swing_mode_both)
 
void set_supports_swing_mode_horizontal (bool supports_swing_mode_horizontal)
 
void set_supports_swing_mode_off (bool supports_swing_mode_off)
 
void set_supports_swing_mode_vertical (bool supports_swing_mode_vertical)
 
void set_supports_dehumidification (bool supports_dehumidification)
 
void set_supports_humidification (bool supports_humidification)
 
void set_supports_two_points (bool supports_two_points)
 
void set_preset_config (std::initializer_list< PresetEntry > presets)
 
void set_custom_preset_config (std::initializer_list< CustomPresetEntry > presets)
 
Triggerget_cool_action_trigger ()
 
Triggerget_supplemental_cool_action_trigger ()
 
Triggerget_dry_action_trigger ()
 
Triggerget_fan_only_action_trigger ()
 
Triggerget_heat_action_trigger ()
 
Triggerget_supplemental_heat_action_trigger ()
 
Triggerget_idle_action_trigger ()
 
Triggerget_auto_mode_trigger ()
 
Triggerget_cool_mode_trigger ()
 
Triggerget_dry_mode_trigger ()
 
Triggerget_fan_only_mode_trigger ()
 
Triggerget_heat_mode_trigger ()
 
Triggerget_heat_cool_mode_trigger ()
 
Triggerget_off_mode_trigger ()
 
Triggerget_fan_mode_on_trigger ()
 
Triggerget_fan_mode_off_trigger ()
 
Triggerget_fan_mode_auto_trigger ()
 
Triggerget_fan_mode_low_trigger ()
 
Triggerget_fan_mode_medium_trigger ()
 
Triggerget_fan_mode_high_trigger ()
 
Triggerget_fan_mode_middle_trigger ()
 
Triggerget_fan_mode_focus_trigger ()
 
Triggerget_fan_mode_diffuse_trigger ()
 
Triggerget_fan_mode_quiet_trigger ()
 
Triggerget_swing_mode_both_trigger ()
 
Triggerget_swing_mode_horizontal_trigger ()
 
Triggerget_swing_mode_off_trigger ()
 
Triggerget_swing_mode_vertical_trigger ()
 
Triggerget_humidity_change_trigger ()
 
Triggerget_temperature_change_trigger ()
 
Triggerget_preset_change_trigger ()
 
Triggerget_humidity_control_dehumidify_action_trigger ()
 
Triggerget_humidity_control_humidify_action_trigger ()
 
Triggerget_humidity_control_off_action_trigger ()
 
float cool_deadband ()
 Get current hysteresis values.
 
float cool_overrun ()
 
float heat_deadband ()
 
float heat_overrun ()
 
void refresh ()
 Call triggers based on updated climate states (modes/actions)
 
bool climate_action_change_delayed ()
 Returns true if a climate action/fan mode transition is being delayed.
 
bool fan_mode_change_delayed ()
 
climate::ClimateAction delayed_climate_action ()
 Returns the climate action that is being delayed (check climate_action_change_delayed(), first!)
 
climate::ClimateFanMode locked_fan_mode ()
 Returns the fan mode that is locked in (check fan_mode_change_delayed(), first!)
 
bool hysteresis_valid ()
 Set point and hysteresis validation.
 
bool humidity_hysteresis_valid ()
 
bool limit_setpoints_for_heat_cool ()
 
void validate_target_temperature ()
 
void validate_target_temperatures (bool pin_target_temperature_high)
 
void validate_target_temperature_low ()
 
void validate_target_temperature_high ()
 
void validate_target_humidity ()
 
- Public Member Functions inherited from esphome::climate::Climate
 Climate ()
 
void add_on_state_callback (std::function< void(Climate &)> &&callback)
 Add a callback for the climate device state, each time the state of the climate device is updated (using publish_state), this callback will be called.
 
void add_on_control_callback (std::function< void(ClimateCall &)> &&callback)
 Add a callback for the climate device configuration; each time the configuration parameters of a climate device is updated (using perform() of a ClimateCall), this callback will be called, before any on_state callback.
 
ClimateCall make_call ()
 Make a climate device control call, this is used to control the climate device, see the ClimateCall description for more info.
 
void publish_state ()
 Publish the state of the climate device, to be called from integrations.
 
ClimateTraits get_traits ()
 Get the traits of this climate device with all overrides applied.
 
void set_visual_min_temperature_override (float visual_min_temperature_override)
 
void set_visual_max_temperature_override (float visual_max_temperature_override)
 
void set_visual_temperature_step_override (float target, float current)
 
void set_visual_min_humidity_override (float visual_min_humidity_override)
 
void set_visual_max_humidity_override (float visual_max_humidity_override)
 
bool has_custom_fan_mode () const
 Check if a custom fan mode is currently active.
 
bool has_custom_preset () const
 Check if a custom preset is currently active.
 
StringRef get_custom_fan_mode () const
 Get the active custom fan mode (read-only access). Returns StringRef.
 
StringRef get_custom_preset () const
 Get the active custom preset (read-only access). Returns StringRef.
 
- Public Member Functions inherited from esphome::EntityBase
const StringRefget_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)
 
Deviceget_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.
 
- Public Member Functions inherited from esphome::Component
virtual float get_setup_priority () const
 priority of setup().
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop().
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
virtual bool teardown ()
 Called during teardown to allow component to gracefully finish operations.
 
virtual void on_powerdown ()
 Called after teardown is complete to power down hardware.
 
uint8_t get_component_state () const
 
void reset_to_construction_state ()
 Reset this component back to the construction state to allow setup to run again.
 
bool is_in_loop_state () const
 Check if this component has completed setup and is in the loop state.
 
bool is_idle () const
 Check if this component is idle.
 
virtual void mark_failed ()
 Mark this component as failed.
 
 ESPDEPRECATED ("Use mark_failed(LOG_STR(\"static string literal\")) instead. Do NOT use .c_str() from temporary " "strings. Will stop working in 2026.6.0", "2025.12.0") void mark_failed(const char *message)
 
void mark_failed (const LogString *message)
 
void disable_loop ()
 Disable this component's loop.
 
void enable_loop ()
 Enable this component's loop.
 
void enable_loop_soon_any_context ()
 Thread and ISR-safe version of enable_loop() that can be called from any context.
 
bool is_failed () const
 
bool is_ready () const
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message=nullptr)
 
void status_set_warning (const LogString *message)
 
void status_set_error ()
 
 ESPDEPRECATED ("Use status_set_error(LOG_STR(\"static string literal\")) instead. Do NOT use .c_str() from temporary " "strings. Will stop working in 2026.6.0", "2025.12.0") void status_set_error(const char *message)
 
void status_set_error (const LogString *message)
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const char *name, uint32_t length=5000)
 Set warning status flag and automatically clear it after a timeout.
 
void status_momentary_error (const char *name, uint32_t length=5000)
 Set error status flag and automatically clear it after a timeout.
 
bool has_overridden_loop () const
 
void set_component_source (const LogString *source)
 Set where this component was loaded from for some debug messages.
 
const LogString * get_component_log_str () const
 Get the integration where this component was declared as a LogString for logging.
 
bool should_warn_of_blocking (uint32_t blocking_time)
 

Data Fields

HumidificationAction humidification_action {THERMOSTAT_HUMIDITY_CONTROL_ACTION_NONE}
 The current humidification action.
 
- Data Fields inherited from esphome::climate::Climate
float current_temperature {NAN}
 The current temperature of the climate device, as reported from the integration.
 
float current_humidity {NAN}
 The current humidity of the climate device, as reported from the integration.
 
union { 
 
   float   target_temperature 
 The target temperature of the climate device. More...
 
   struct { 
 
      float   target_temperature_low {NAN} 
 The minimum target temperature of the climate device, for climate devices with split target temperature. More...
 
      float   target_temperature_high {NAN} 
 The maximum target temperature of the climate device, for climate devices with split target temperature. More...
 
   }  
 
};  
 
float target_humidity
 The target humidity of the climate device.
 
optional< ClimateFanModefan_mode
 The active fan mode of the climate device.
 
optional< ClimatePresetpreset
 The active preset of the climate device.
 
ClimateMode mode {CLIMATE_MODE_OFF}
 The active mode of the climate device.
 
ClimateAction action {CLIMATE_ACTION_OFF}
 The active state of the climate device.
 
ClimateSwingMode swing_mode {CLIMATE_SWING_OFF}
 The active swing mode of the climate device.
 

Protected Member Functions

void control (const climate::ClimateCall &call) override
 Override control to change settings of the climate device.
 
void change_preset_ (climate::ClimatePreset preset)
 Change to a provided preset setting; will reset temperature, mode, fan, and swing modes accordingly.
 
void change_custom_preset_ (const char *custom_preset)
 Change to a provided custom preset setting; will reset temperature, mode, fan, and swing modes accordingly.
 
void change_custom_preset_ (const char *custom_preset, size_t len)
 
void change_custom_preset_ (StringRef custom_preset)
 
bool change_preset_internal_ (const ThermostatClimateTargetTempConfig &config)
 Applies the temperature, mode, fan, and swing modes of the provided config.
 
climate::ClimateTraits traits () override
 Return the traits of this controller.
 
climate::ClimateAction compute_action_ (bool ignore_timers=false)
 Re-compute the required action of this climate controller.
 
climate::ClimateAction compute_supplemental_action_ ()
 
HumidificationAction compute_humidity_control_action_ ()
 
void switch_to_action_ (climate::ClimateAction action, bool publish_state=true)
 Switch the climate device to the given climate action.
 
void switch_to_supplemental_action_ (climate::ClimateAction action)
 
void trigger_supplemental_action_ ()
 
void switch_to_humidity_control_action_ (HumidificationAction action)
 
void switch_to_fan_mode_ (climate::ClimateFanMode fan_mode, bool publish_state=true)
 Switch the climate device to the given climate fan mode.
 
void switch_to_mode_ (climate::ClimateMode mode, bool publish_state=true)
 Switch the climate device to the given climate mode.
 
void switch_to_swing_mode_ (climate::ClimateSwingMode swing_mode, bool publish_state=true)
 Switch the climate device to the given climate swing mode.
 
void check_humidity_change_trigger_ ()
 Check if the humidity change trigger should be called.
 
void check_temperature_change_trigger_ ()
 Check if the temperature change trigger should be called.
 
bool idle_action_ready_ ()
 Is the action ready to be called? Returns true if so.
 
bool cooling_action_ready_ ()
 
bool drying_action_ready_ ()
 
bool fan_mode_ready_ ()
 
bool fanning_action_ready_ ()
 
bool heating_action_ready_ ()
 
void start_timer_ (ThermostatClimateTimerIndex timer_index)
 Start/cancel/get status of climate action timer.
 
bool cancel_timer_ (ThermostatClimateTimerIndex timer_index)
 
bool timer_active_ (ThermostatClimateTimerIndex timer_index)
 
uint32_t timer_duration_ (ThermostatClimateTimerIndex timer_index)
 
void call_timer_callback_ (ThermostatClimateTimerIndex timer_index)
 Call the appropriate timer callback based on timer index.
 
void set_timer_duration_in_sec_ (ThermostatClimateTimerIndex timer_index, uint32_t time)
 Enhanced timer duration setter with running timer adjustment.
 
void cooling_max_run_time_timer_callback_ ()
 set_timeout() callbacks for various actions (see above)
 
void cooling_off_timer_callback_ ()
 
void cooling_on_timer_callback_ ()
 
void fan_mode_timer_callback_ ()
 
void fanning_off_timer_callback_ ()
 
void fanning_on_timer_callback_ ()
 
void heating_max_run_time_timer_callback_ ()
 
void heating_off_timer_callback_ ()
 
void heating_on_timer_callback_ ()
 
void idle_on_timer_callback_ ()
 
bool cooling_required_ ()
 Check if cooling/fanning/heating actions are required; returns true if so.
 
bool fanning_required_ ()
 
bool heating_required_ ()
 
bool supplemental_cooling_required_ ()
 
bool supplemental_heating_required_ ()
 
bool dehumidification_required_ ()
 
bool humidification_required_ ()
 
void dump_preset_config_ (const char *preset_name, const ThermostatClimateTargetTempConfig &config)
 
- Protected Member Functions inherited from esphome::climate::Climate
bool set_fan_mode_ (ClimateFanMode mode)
 Set fan mode. Reset custom fan mode. Return true if fan mode has been changed.
 
bool set_custom_fan_mode_ (const char *mode)
 Set custom fan mode. Reset primary fan mode. Return true if fan mode has been changed.
 
bool set_custom_fan_mode_ (const char *mode, size_t len)
 
bool set_custom_fan_mode_ (StringRef mode)
 
void clear_custom_fan_mode_ ()
 Clear custom fan mode.
 
bool set_preset_ (ClimatePreset preset)
 Set preset. Reset custom preset. Return true if preset has been changed.
 
bool set_custom_preset_ (const char *preset)
 Set custom preset. Reset primary preset. Return true if preset has been changed.
 
bool set_custom_preset_ (const char *preset, size_t len)
 
bool set_custom_preset_ (StringRef preset)
 
void clear_custom_preset_ ()
 Clear custom preset.
 
const char * find_custom_fan_mode_ (const char *custom_fan_mode)
 Find and return the matching custom fan mode pointer from traits, or nullptr if not found.
 
const char * find_custom_fan_mode_ (const char *custom_fan_mode, size_t len)
 
const char * find_custom_preset_ (const char *custom_preset)
 Find and return the matching custom preset pointer from traits, or nullptr if not found.
 
const char * find_custom_preset_ (const char *custom_preset, size_t len)
 
optional< ClimateDeviceRestoreStaterestore_state_ ()
 Restore the state of the climate device, call this from your setup() method.
 
void save_state_ ()
 Internal method to save the state of the climate device to recover memory.
 
void dump_traits_ (const char *tag)
 
- 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 Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_setup ()
 
virtual void call_dump_config ()
 
void set_component_state_ (uint8_t state)
 Helper to set component state (clears state bits and sets new state)
 
void set_interval (uint32_t id, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a numeric ID (zero heap allocation).
 
void set_interval (InternalSchedulerID id, uint32_t interval, std::function< void()> &&f)
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (uint32_t id)
 
bool cancel_interval (InternalSchedulerID id)
 
ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std ESPDEPRECATED ("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const char *name
 
 ESPDEPRECATED ("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(uint32_t id
 
 ESPDEPRECATED ("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(uint32_t initial_wait_time
 
ESPDEPRECATED("cancel_retry is deprecated and will be removed in 2026.8.0.", "2026.2.0") bool cancel_retry(const std ESPDEPRECATED ("cancel_retry is deprecated and will be removed in 2026.8.0.", "2026.2.0") bool cancel_retry(const char *name)
 
 ESPDEPRECATED ("cancel_retry is deprecated and will be removed in 2026.8.0.", "2026.2.0") bool cancel_retry(uint32_t id)
 
void set_timeout (uint32_t id, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a numeric ID (zero heap allocation).
 
void set_timeout (InternalSchedulerID id, uint32_t timeout, std::function< void()> &&f)
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (uint32_t id)
 
bool cancel_timeout (InternalSchedulerID id)
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call.
 
void defer (uint32_t id, std::function< void()> &&f)
 Defer a callback with a numeric ID (zero heap allocation)
 
bool cancel_defer (uint32_t id)
 

Protected Attributes

const uint8_t min_timer_duration_ {1}
 Minimum allowable duration in seconds for action timers.
 
climate::ClimateFanMode prev_fan_mode_ {climate::CLIMATE_FAN_ON}
 Store previously-known states.
 
climate::ClimateMode prev_mode_ {climate::CLIMATE_MODE_OFF}
 
climate::ClimateSwingMode prev_swing_mode_ {climate::CLIMATE_SWING_OFF}
 
climate::ClimateAction supplemental_action_ {climate::CLIMATE_ACTION_OFF}
 The current supplemental action.
 
climate::ClimatePreset default_preset_ {}
 Default standard preset to use on start up.
 
OnBootRestoreFrom on_boot_restore_from_ {OnBootRestoreFrom::MEMORY}
 If set to DEFAULT_PRESET then the default preset is always used.
 
bool supports_auto_ {false}
 Whether the controller supports auto/cooling/drying/fanning/heating.
 
bool supports_heat_cool_ {false}
 
bool supports_cool_ {false}
 
bool supports_dry_ {false}
 
bool supports_fan_only_ {false}
 
bool supports_heat_ {false}
 
bool supports_fan_only_action_uses_fan_mode_timer_ {false}
 Special flag – enables fan_modes to share timer with fan_only climate action.
 
bool supports_fan_only_cooling_ {false}
 Special flag – enables fan to be switched based on target_temperature_high.
 
bool supports_fan_with_cooling_ {false}
 Special flags – enables fan_only action to be called with cooling/heating actions.
 
bool supports_fan_with_heating_ {false}
 
bool supports_fan_mode_on_ {false}
 Whether the controller supports turning on or off just the fan.
 
bool supports_fan_mode_off_ {false}
 
bool supports_fan_mode_auto_ {false}
 Whether the controller supports fan auto mode.
 
bool supports_fan_mode_low_ {false}
 Whether the controller supports various fan speeds and/or positions.
 
bool supports_fan_mode_medium_ {false}
 
bool supports_fan_mode_high_ {false}
 
bool supports_fan_mode_middle_ {false}
 
bool supports_fan_mode_focus_ {false}
 
bool supports_fan_mode_diffuse_ {false}
 
bool supports_fan_mode_quiet_ {false}
 
bool supports_swing_mode_both_ {false}
 Whether the controller supports various swing modes.
 
bool supports_swing_mode_off_ {false}
 
bool supports_swing_mode_horizontal_ {false}
 
bool supports_swing_mode_vertical_ {false}
 
bool supports_two_points_ {false}
 Whether the controller supports two set points.
 
bool supports_dehumidification_ {false}
 Whether the controller supports dehumidification and/or humidification.
 
bool supports_humidification_ {false}
 
bool cooling_max_runtime_exceeded_ {false}
 Flags indicating if maximum allowable run time was exceeded.
 
bool heating_max_runtime_exceeded_ {false}
 
bool use_startup_delay_ {false}
 Used to start "off" delay timers at boot.
 
bool setup_complete_ {false}
 setup_complete_ blocks modifying/resetting the temps immediately after boot
 
float prev_target_humidity_ {NAN}
 Store previously-known humidity and temperatures.
 
float prev_target_temperature_ {NAN}
 
float prev_target_temperature_low_ {NAN}
 
float prev_target_temperature_high_ {NAN}
 
float set_point_minimum_differential_ {0}
 Minimum differential required between set points.
 
float cooling_deadband_ {0}
 Hysteresis values used for computing climate actions.
 
float cooling_overrun_ {0}
 
float heating_deadband_ {0}
 
float heating_overrun_ {0}
 
float humidity_hysteresis_ {0}
 Hysteresis values used for computing humidification action.
 
float supplemental_cool_delta_ {0}
 Maximum allowable temperature deltas before engaging supplemental cooling/heating actions.
 
float supplemental_heat_delta_ {0}
 
sensor::Sensorsensor_ {nullptr}
 The sensor used for getting the current temperature.
 
sensor::Sensorhumidity_sensor_ {nullptr}
 The sensor used for getting the current humidity.
 
Trigger cool_action_trigger_
 Trigger for cooling action/mode.
 
Trigger supplemental_cool_action_trigger_
 
Trigger cool_mode_trigger_
 
Trigger dry_action_trigger_
 Trigger for dry (dehumidification) mode.
 
Trigger dry_mode_trigger_
 
Trigger heat_action_trigger_
 Trigger for heating action/mode.
 
Trigger supplemental_heat_action_trigger_
 
Trigger heat_mode_trigger_
 
Trigger heat_cool_mode_trigger_
 Trigger for heat/cool mode.
 
Trigger auto_mode_trigger_
 Trigger for auto mode.
 
Trigger idle_action_trigger_
 Trigger for idle action/off mode.
 
Trigger off_mode_trigger_
 
Trigger fan_only_action_trigger_
 Trigger for fan-only action/mode.
 
Trigger fan_only_mode_trigger_
 
Trigger fan_mode_on_trigger_
 Fan mode triggers.
 
Trigger fan_mode_off_trigger_
 
Trigger fan_mode_auto_trigger_
 
Trigger fan_mode_low_trigger_
 
Trigger fan_mode_medium_trigger_
 
Trigger fan_mode_high_trigger_
 
Trigger fan_mode_middle_trigger_
 
Trigger fan_mode_focus_trigger_
 
Trigger fan_mode_diffuse_trigger_
 
Trigger fan_mode_quiet_trigger_
 
Trigger swing_mode_both_trigger_
 Swing mode triggers.
 
Trigger swing_mode_off_trigger_
 
Trigger swing_mode_horizontal_trigger_
 
Trigger swing_mode_vertical_trigger_
 
Trigger humidity_change_trigger_
 Trigger for target humidity changes.
 
Trigger temperature_change_trigger_
 Trigger for target temperature changes.
 
Trigger preset_change_trigger_
 Trigger for preset mode changes.
 
Trigger humidity_control_dehumidify_action_trigger_
 Humidity control triggers.
 
Trigger humidity_control_humidify_action_trigger_
 
Trigger humidity_control_off_action_trigger_
 
Triggerprev_action_trigger_ {nullptr}
 A reference to the trigger that was previously active.
 
Triggerprev_fan_mode_trigger_ {nullptr}
 
Triggerprev_mode_trigger_ {nullptr}
 
Triggerprev_swing_mode_trigger_ {nullptr}
 
Triggerprev_humidity_control_trigger_ {nullptr}
 
std::array< ThermostatClimateTimer, THERMOSTAT_TIMER_COUNTtimer_ {}
 Climate action timers.
 
FixedVector< PresetEntrypreset_config_ {}
 The set of standard preset configurations this thermostat supports (Eg. AWAY, ECO, etc)
 
FixedVector< CustomPresetEntrycustom_preset_config_ {}
 The set of custom preset configurations this thermostat supports (eg. "My Custom Preset")
 
- Protected Attributes inherited from esphome::climate::Climate
friend ClimateCall
 
LazyCallbackManager< void(Climate &)> state_callback_ {}
 
LazyCallbackManager< void(ClimateCall &)> control_callback_ {}
 
ESPPreferenceObject rtc_
 
float visual_min_temperature_override_ {NAN}
 
float visual_max_temperature_override_ {NAN}
 
float visual_target_temperature_step_override_ {NAN}
 
float visual_current_temperature_step_override_ {NAN}
 
float visual_min_humidity_override_ {NAN}
 
float visual_max_humidity_override_ {NAN}
 
- Protected Attributes inherited from esphome::EntityBase
StringRef name_
 
const char * icon_c_str_ {nullptr}
 
uint32_t object_id_hash_ {}
 
Devicedevice_ {}
 
struct esphome::EntityBase::EntityFlags flags_
 
- Protected Attributes inherited from esphome::Component
ESPDEPRECATED("Use const char* or uint32_t overload instead. Removed in 2026.7.0", "2026.1.0") void set_interval(const std voi set_interval )(const char *name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name.
 
ESPDEPRECATED("Use const char* or uint32_t overload instead. Removed in 2026.7.0", "2026.1.0") bool cancel_interval(const std boo cancel_interval )(const char *name)
 Cancel an interval function.
 
ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t initial_wait_time
 
ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t uint8_t max_attempts
 
ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t uint8_t std::function< RetryResult(uint8_t)> && f
 
ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t uint8_t std::function< RetryResult(uint8_t)> float backoff_increase_factor = 1.0f)
 
uint32_t initial_wait_time
 
uint32_t uint8_t max_attempts
 
uint32_t uint8_t std::function< RetryResult(uint8_t)> && f
 
uint32_t uint8_t std::function< RetryResult(uint8_t)> float backoff_increase_factor = 1.0f)
 
uint8_t max_attempts
 
uint8_t std::function< RetryResult(uint8_t)> && f
 
uint8_t std::function< RetryResult(uint8_t)> float backoff_increase_factor = 1.0f)
 
ESPDEPRECATED("Use const char* or uint32_t overload instead. Removed in 2026.7.0", "2026.1.0") void set_timeout(const std voi set_timeout )(const char *name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name.
 
ESPDEPRECATED("Use const char* or uint32_t overload instead. Removed in 2026.7.0", "2026.1.0") bool cancel_timeout(const std boo cancel_timeout )(const char *name)
 Cancel a timeout function.
 
ESPDEPRECATED("Use const char* overload instead. Removed in 2026.7.0", "2026.1.0") void defer(const std voi defer )(const char *name, std::function< void()> &&f)
 Defer a callback to the next loop() call.
 
ESPDEPRECATED("Use const char* overload instead. Removed in 2026.7.0", "2026.1.0") bool cancel_defer(const std boo cancel_defer )(const char *name)
 Cancel a defer callback using the specified name, name must not be empty.
 
const LogString * component_source_ {nullptr}
 
uint16_t warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS}
 Warn if blocked for this many ms (max 65.5s)
 
uint8_t component_state_ {0x00}
 State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bits 5-7: Unused - reserved for future expansion.
 
volatile bool pending_enable_loop_ {false}
 ISR-safe flag for enable_loop_soon_any_context.
 

Detailed Description

Definition at line 84 of file thermostat_climate.h.

Member Typedef Documentation

◆ CustomPresetEntry

◆ PresetEntry

Constructor & Destructor Documentation

◆ ThermostatClimate()

esphome::thermostat::ThermostatClimate::ThermostatClimate ( )
default

Member Function Documentation

◆ call_timer_callback_()

void esphome::thermostat::ThermostatClimate::call_timer_callback_ ( ThermostatClimateTimerIndex timer_index)
protected

Call the appropriate timer callback based on timer index.

Definition at line 910 of file thermostat_climate.cpp.

◆ cancel_timer_()

bool esphome::thermostat::ThermostatClimate::cancel_timer_ ( ThermostatClimateTimerIndex timer_index)
protected

Definition at line 896 of file thermostat_climate.cpp.

◆ change_custom_preset_() [1/3]

void esphome::thermostat::ThermostatClimate::change_custom_preset_ ( const char * custom_preset)
inlineprotected

Change to a provided custom preset setting; will reset temperature, mode, fan, and swing modes accordingly.

Definition at line 217 of file thermostat_climate.h.

◆ change_custom_preset_() [2/3]

void esphome::thermostat::ThermostatClimate::change_custom_preset_ ( const char * custom_preset,
size_t len )
protected

Definition at line 1206 of file thermostat_climate.cpp.

◆ change_custom_preset_() [3/3]

void esphome::thermostat::ThermostatClimate::change_custom_preset_ ( StringRef custom_preset)
inlineprotected

Definition at line 221 of file thermostat_climate.h.

◆ change_preset_()

void esphome::thermostat::ThermostatClimate::change_preset_ ( climate::ClimatePreset preset)
protected

Change to a provided preset setting; will reset temperature, mode, fan, and swing modes accordingly.

Definition at line 1178 of file thermostat_climate.cpp.

◆ change_preset_internal_()

bool esphome::thermostat::ThermostatClimate::change_preset_internal_ ( const ThermostatClimateTargetTempConfig & config)
protected

Applies the temperature, mode, fan, and swing modes of the provided config.

This is agnostic of custom vs built in preset Returns true if something was changed

Definition at line 1240 of file thermostat_climate.cpp.

◆ check_humidity_change_trigger_()

void esphome::thermostat::ThermostatClimate::check_humidity_change_trigger_ ( )
protected

Check if the humidity change trigger should be called.

Definition at line 1009 of file thermostat_climate.cpp.

◆ check_temperature_change_trigger_()

void esphome::thermostat::ThermostatClimate::check_temperature_change_trigger_ ( )
protected

Check if the temperature change trigger should be called.

Definition at line 1021 of file thermostat_climate.cpp.

◆ climate_action_change_delayed()

bool esphome::thermostat::ThermostatClimate::climate_action_change_delayed ( )

Returns true if a climate action/fan mode transition is being delayed.

Definition at line 95 of file thermostat_climate.cpp.

◆ compute_action_()

climate::ClimateAction esphome::thermostat::ThermostatClimate::compute_action_ ( bool ignore_timers = false)
protected

Re-compute the required action of this climate controller.

Definition at line 340 of file thermostat_climate.cpp.

◆ compute_humidity_control_action_()

HumidificationAction esphome::thermostat::ThermostatClimate::compute_humidity_control_action_ ( )
protected

Definition at line 461 of file thermostat_climate.cpp.

◆ compute_supplemental_action_()

climate::ClimateAction esphome::thermostat::ThermostatClimate::compute_supplemental_action_ ( )
protected

Definition at line 419 of file thermostat_climate.cpp.

◆ control()

void esphome::thermostat::ThermostatClimate::control ( const climate::ClimateCall & call)
overrideprotectedvirtual

Override control to change settings of the climate device.

Implements esphome::climate::Climate.

Definition at line 211 of file thermostat_climate.cpp.

◆ cool_deadband()

float esphome::thermostat::ThermostatClimate::cool_deadband ( )

Get current hysteresis values.

Definition at line 78 of file thermostat_climate.cpp.

◆ cool_overrun()

float esphome::thermostat::ThermostatClimate::cool_overrun ( )

Definition at line 79 of file thermostat_climate.cpp.

◆ cooling_action_ready_()

bool esphome::thermostat::ThermostatClimate::cooling_action_ready_ ( )
protected

Definition at line 858 of file thermostat_climate.cpp.

◆ cooling_max_run_time_timer_callback_()

void esphome::thermostat::ThermostatClimate::cooling_max_run_time_timer_callback_ ( )
protected

set_timeout() callbacks for various actions (see above)

Definition at line 948 of file thermostat_climate.cpp.

◆ cooling_off_timer_callback_()

void esphome::thermostat::ThermostatClimate::cooling_off_timer_callback_ ( )
protected

Definition at line 955 of file thermostat_climate.cpp.

◆ cooling_on_timer_callback_()

void esphome::thermostat::ThermostatClimate::cooling_on_timer_callback_ ( )
protected

Definition at line 961 of file thermostat_climate.cpp.

◆ cooling_required_()

bool esphome::thermostat::ThermostatClimate::cooling_required_ ( )
protected

Check if cooling/fanning/heating actions are required; returns true if so.

Definition at line 1045 of file thermostat_climate.cpp.

◆ dehumidification_required_()

bool esphome::thermostat::ThermostatClimate::dehumidification_required_ ( )
protected

Definition at line 1129 of file thermostat_climate.cpp.

◆ delayed_climate_action()

climate::ClimateAction esphome::thermostat::ThermostatClimate::delayed_climate_action ( )

Returns the climate action that is being delayed (check climate_action_change_delayed(), first!)

Definition at line 121 of file thermostat_climate.cpp.

◆ drying_action_ready_()

bool esphome::thermostat::ThermostatClimate::drying_action_ready_ ( )
protected

Definition at line 865 of file thermostat_climate.cpp.

◆ dump_config()

void esphome::thermostat::ThermostatClimate::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 1509 of file thermostat_climate.cpp.

◆ dump_preset_config_()

void esphome::thermostat::ThermostatClimate::dump_preset_config_ ( const char * preset_name,
const ThermostatClimateTargetTempConfig & config )
protected

Definition at line 1155 of file thermostat_climate.cpp.

◆ fan_mode_change_delayed()

bool esphome::thermostat::ThermostatClimate::fan_mode_change_delayed ( )

Definition at line 116 of file thermostat_climate.cpp.

◆ fan_mode_ready_()

bool esphome::thermostat::ThermostatClimate::fan_mode_ready_ ( )
protected

Definition at line 872 of file thermostat_climate.cpp.

◆ fan_mode_timer_callback_()

void esphome::thermostat::ThermostatClimate::fan_mode_timer_callback_ ( )
protected

Definition at line 967 of file thermostat_climate.cpp.

◆ fanning_action_ready_()

bool esphome::thermostat::ThermostatClimate::fanning_action_ready_ ( )
protected

Definition at line 874 of file thermostat_climate.cpp.

◆ fanning_off_timer_callback_()

void esphome::thermostat::ThermostatClimate::fanning_off_timer_callback_ ( )
protected

Definition at line 974 of file thermostat_climate.cpp.

◆ fanning_on_timer_callback_()

void esphome::thermostat::ThermostatClimate::fanning_on_timer_callback_ ( )
protected

Definition at line 979 of file thermostat_climate.cpp.

◆ fanning_required_()

bool esphome::thermostat::ThermostatClimate::fanning_required_ ( )
protected

Definition at line 1065 of file thermostat_climate.cpp.

◆ get_auto_mode_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_auto_mode_trigger ( )

Definition at line 1475 of file thermostat_climate.cpp.

◆ get_cool_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_cool_action_trigger ( )

Definition at line 1464 of file thermostat_climate.cpp.

◆ get_cool_mode_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_cool_mode_trigger ( )

Definition at line 1476 of file thermostat_climate.cpp.

◆ get_dry_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_dry_action_trigger ( )

Definition at line 1468 of file thermostat_climate.cpp.

◆ get_dry_mode_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_dry_mode_trigger ( )

Definition at line 1477 of file thermostat_climate.cpp.

◆ get_fan_mode_auto_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_auto_trigger ( )

Definition at line 1484 of file thermostat_climate.cpp.

◆ get_fan_mode_diffuse_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_diffuse_trigger ( )

Definition at line 1490 of file thermostat_climate.cpp.

◆ get_fan_mode_focus_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_focus_trigger ( )

Definition at line 1489 of file thermostat_climate.cpp.

◆ get_fan_mode_high_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_high_trigger ( )

Definition at line 1487 of file thermostat_climate.cpp.

◆ get_fan_mode_low_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_low_trigger ( )

Definition at line 1485 of file thermostat_climate.cpp.

◆ get_fan_mode_medium_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_medium_trigger ( )

Definition at line 1486 of file thermostat_climate.cpp.

◆ get_fan_mode_middle_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_middle_trigger ( )

Definition at line 1488 of file thermostat_climate.cpp.

◆ get_fan_mode_off_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_off_trigger ( )

Definition at line 1483 of file thermostat_climate.cpp.

◆ get_fan_mode_on_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_on_trigger ( )

Definition at line 1482 of file thermostat_climate.cpp.

◆ get_fan_mode_quiet_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_mode_quiet_trigger ( )

Definition at line 1491 of file thermostat_climate.cpp.

◆ get_fan_only_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_only_action_trigger ( )

Definition at line 1469 of file thermostat_climate.cpp.

◆ get_fan_only_mode_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_fan_only_mode_trigger ( )

Definition at line 1478 of file thermostat_climate.cpp.

◆ get_heat_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_heat_action_trigger ( )

Definition at line 1470 of file thermostat_climate.cpp.

◆ get_heat_cool_mode_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_heat_cool_mode_trigger ( )

Definition at line 1480 of file thermostat_climate.cpp.

◆ get_heat_mode_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_heat_mode_trigger ( )

Definition at line 1479 of file thermostat_climate.cpp.

◆ get_humidity_change_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_humidity_change_trigger ( )

Definition at line 1496 of file thermostat_climate.cpp.

◆ get_humidity_control_dehumidify_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_humidity_control_dehumidify_action_trigger ( )

Definition at line 1499 of file thermostat_climate.cpp.

◆ get_humidity_control_humidify_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_humidity_control_humidify_action_trigger ( )

Definition at line 1502 of file thermostat_climate.cpp.

◆ get_humidity_control_off_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_humidity_control_off_action_trigger ( )

Definition at line 1505 of file thermostat_climate.cpp.

◆ get_idle_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_idle_action_trigger ( )

Definition at line 1474 of file thermostat_climate.cpp.

◆ get_off_mode_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_off_mode_trigger ( )

Definition at line 1481 of file thermostat_climate.cpp.

◆ get_preset_change_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_preset_change_trigger ( )

Definition at line 1498 of file thermostat_climate.cpp.

◆ get_supplemental_cool_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_supplemental_cool_action_trigger ( )

Definition at line 1465 of file thermostat_climate.cpp.

◆ get_supplemental_heat_action_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_supplemental_heat_action_trigger ( )

Definition at line 1471 of file thermostat_climate.cpp.

◆ get_swing_mode_both_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_swing_mode_both_trigger ( )

Definition at line 1492 of file thermostat_climate.cpp.

◆ get_swing_mode_horizontal_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_swing_mode_horizontal_trigger ( )

Definition at line 1494 of file thermostat_climate.cpp.

◆ get_swing_mode_off_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_swing_mode_off_trigger ( )

Definition at line 1493 of file thermostat_climate.cpp.

◆ get_swing_mode_vertical_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_swing_mode_vertical_trigger ( )

Definition at line 1495 of file thermostat_climate.cpp.

◆ get_temperature_change_trigger()

Trigger * esphome::thermostat::ThermostatClimate::get_temperature_change_trigger ( )

Definition at line 1497 of file thermostat_climate.cpp.

◆ heat_deadband()

float esphome::thermostat::ThermostatClimate::heat_deadband ( )

Definition at line 80 of file thermostat_climate.cpp.

◆ heat_overrun()

float esphome::thermostat::ThermostatClimate::heat_overrun ( )

Definition at line 81 of file thermostat_climate.cpp.

◆ heating_action_ready_()

bool esphome::thermostat::ThermostatClimate::heating_action_ready_ ( )
protected

Definition at line 882 of file thermostat_climate.cpp.

◆ heating_max_run_time_timer_callback_()

void esphome::thermostat::ThermostatClimate::heating_max_run_time_timer_callback_ ( )
protected

Definition at line 984 of file thermostat_climate.cpp.

◆ heating_off_timer_callback_()

void esphome::thermostat::ThermostatClimate::heating_off_timer_callback_ ( )
protected

Definition at line 991 of file thermostat_climate.cpp.

◆ heating_on_timer_callback_()

void esphome::thermostat::ThermostatClimate::heating_on_timer_callback_ ( )
protected

Definition at line 997 of file thermostat_climate.cpp.

◆ heating_required_()

bool esphome::thermostat::ThermostatClimate::heating_required_ ( )
protected

Definition at line 1088 of file thermostat_climate.cpp.

◆ humidification_required_()

bool esphome::thermostat::ThermostatClimate::humidification_required_ ( )
protected

Definition at line 1142 of file thermostat_climate.cpp.

◆ humidity_hysteresis_valid()

bool esphome::thermostat::ThermostatClimate::humidity_hysteresis_valid ( )

Definition at line 136 of file thermostat_climate.cpp.

◆ hysteresis_valid()

bool esphome::thermostat::ThermostatClimate::hysteresis_valid ( )

Set point and hysteresis validation.

Definition at line 125 of file thermostat_climate.cpp.

◆ idle_action_ready_()

bool esphome::thermostat::ThermostatClimate::idle_action_ready_ ( )
protected

Is the action ready to be called? Returns true if so.

Definition at line 847 of file thermostat_climate.cpp.

◆ idle_on_timer_callback_()

void esphome::thermostat::ThermostatClimate::idle_on_timer_callback_ ( )
protected

Definition at line 1003 of file thermostat_climate.cpp.

◆ limit_setpoints_for_heat_cool()

bool esphome::thermostat::ThermostatClimate::limit_setpoints_for_heat_cool ( )

Definition at line 141 of file thermostat_climate.cpp.

◆ locked_fan_mode()

climate::ClimateFanMode esphome::thermostat::ThermostatClimate::locked_fan_mode ( )

Returns the fan mode that is locked in (check fan_mode_change_delayed(), first!)

Definition at line 123 of file thermostat_climate.cpp.

◆ loop()

void esphome::thermostat::ThermostatClimate::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 67 of file thermostat_climate.cpp.

◆ refresh()

void esphome::thermostat::ThermostatClimate::refresh ( )

Call triggers based on updated climate states (modes/actions)

Definition at line 83 of file thermostat_climate.cpp.

◆ set_cool_deadband()

void esphome::thermostat::ThermostatClimate::set_cool_deadband ( float deadband)

Definition at line 1312 of file thermostat_climate.cpp.

◆ set_cool_overrun()

void esphome::thermostat::ThermostatClimate::set_cool_overrun ( float overrun)

Definition at line 1313 of file thermostat_climate.cpp.

◆ set_cooling_maximum_run_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_cooling_maximum_run_time_in_sec ( uint32_t time)

Definition at line 1347 of file thermostat_climate.cpp.

◆ set_cooling_minimum_off_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_cooling_minimum_off_time_in_sec ( uint32_t time)

Definition at line 1350 of file thermostat_climate.cpp.

◆ set_cooling_minimum_run_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_cooling_minimum_run_time_in_sec ( uint32_t time)

Definition at line 1353 of file thermostat_climate.cpp.

◆ set_custom_preset_config()

void esphome::thermostat::ThermostatClimate::set_custom_preset_config ( std::initializer_list< CustomPresetEntry > presets)

Definition at line 1286 of file thermostat_climate.cpp.

◆ set_default_preset() [1/2]

void esphome::thermostat::ThermostatClimate::set_default_preset ( climate::ClimatePreset preset)

Definition at line 1304 of file thermostat_climate.cpp.

◆ set_default_preset() [2/2]

void esphome::thermostat::ThermostatClimate::set_default_preset ( const char * custom_preset)

Definition at line 1292 of file thermostat_climate.cpp.

◆ set_fan_mode_minimum_switching_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_fan_mode_minimum_switching_time_in_sec ( uint32_t time)

Definition at line 1356 of file thermostat_climate.cpp.

◆ set_fanning_minimum_off_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_fanning_minimum_off_time_in_sec ( uint32_t time)

Definition at line 1359 of file thermostat_climate.cpp.

◆ set_fanning_minimum_run_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_fanning_minimum_run_time_in_sec ( uint32_t time)

Definition at line 1362 of file thermostat_climate.cpp.

◆ set_heat_deadband()

void esphome::thermostat::ThermostatClimate::set_heat_deadband ( float deadband)

Definition at line 1314 of file thermostat_climate.cpp.

◆ set_heat_overrun()

void esphome::thermostat::ThermostatClimate::set_heat_overrun ( float overrun)

Definition at line 1315 of file thermostat_climate.cpp.

◆ set_heating_maximum_run_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_heating_maximum_run_time_in_sec ( uint32_t time)

Definition at line 1365 of file thermostat_climate.cpp.

◆ set_heating_minimum_off_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_heating_minimum_off_time_in_sec ( uint32_t time)

Definition at line 1368 of file thermostat_climate.cpp.

◆ set_heating_minimum_run_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_heating_minimum_run_time_in_sec ( uint32_t time)

Definition at line 1371 of file thermostat_climate.cpp.

◆ set_humidity_hysteresis()

void esphome::thermostat::ThermostatClimate::set_humidity_hysteresis ( float humidity_hysteresis)

Definition at line 1381 of file thermostat_climate.cpp.

◆ set_humidity_sensor()

void esphome::thermostat::ThermostatClimate::set_humidity_sensor ( sensor::Sensor * humidity_sensor)

Definition at line 1378 of file thermostat_climate.cpp.

◆ set_idle_minimum_time_in_sec()

void esphome::thermostat::ThermostatClimate::set_idle_minimum_time_in_sec ( uint32_t time)

Definition at line 1374 of file thermostat_climate.cpp.

◆ set_on_boot_restore_from()

void esphome::thermostat::ThermostatClimate::set_on_boot_restore_from ( thermostat::OnBootRestoreFrom on_boot_restore_from)

Definition at line 1306 of file thermostat_climate.cpp.

◆ set_preset_config()

void esphome::thermostat::ThermostatClimate::set_preset_config ( std::initializer_list< PresetEntry > presets)

Definition at line 1282 of file thermostat_climate.cpp.

◆ set_sensor()

void esphome::thermostat::ThermostatClimate::set_sensor ( sensor::Sensor * sensor)

Definition at line 1377 of file thermostat_climate.cpp.

◆ set_set_point_minimum_differential()

void esphome::thermostat::ThermostatClimate::set_set_point_minimum_differential ( float differential)

Definition at line 1309 of file thermostat_climate.cpp.

◆ set_supplemental_cool_delta()

void esphome::thermostat::ThermostatClimate::set_supplemental_cool_delta ( float delta)

Definition at line 1316 of file thermostat_climate.cpp.

◆ set_supplemental_heat_delta()

void esphome::thermostat::ThermostatClimate::set_supplemental_heat_delta ( float delta)

Definition at line 1317 of file thermostat_climate.cpp.

◆ set_supports_auto()

void esphome::thermostat::ThermostatClimate::set_supports_auto ( bool supports_auto)

Definition at line 1388 of file thermostat_climate.cpp.

◆ set_supports_cool()

void esphome::thermostat::ThermostatClimate::set_supports_cool ( bool supports_cool)

Definition at line 1389 of file thermostat_climate.cpp.

◆ set_supports_dehumidification()

void esphome::thermostat::ThermostatClimate::set_supports_dehumidification ( bool supports_dehumidification)

Definition at line 1451 of file thermostat_climate.cpp.

◆ set_supports_dry()

void esphome::thermostat::ThermostatClimate::set_supports_dry ( bool supports_dry)

Definition at line 1390 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_auto()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_auto ( bool supports_fan_mode_auto)

Definition at line 1412 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_diffuse()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_diffuse ( bool supports_fan_mode_diffuse)

Definition at line 1430 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_focus()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_focus ( bool supports_fan_mode_focus)

Definition at line 1427 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_high()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_high ( bool supports_fan_mode_high)

Definition at line 1421 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_low()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_low ( bool supports_fan_mode_low)

Definition at line 1415 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_medium()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_medium ( bool supports_fan_mode_medium)

Definition at line 1418 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_middle()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_middle ( bool supports_fan_mode_middle)

Definition at line 1424 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_off()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_off ( bool supports_fan_mode_off)

Definition at line 1409 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_on()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_on ( bool supports_fan_mode_on)

Definition at line 1406 of file thermostat_climate.cpp.

◆ set_supports_fan_mode_quiet()

void esphome::thermostat::ThermostatClimate::set_supports_fan_mode_quiet ( bool supports_fan_mode_quiet)

Definition at line 1433 of file thermostat_climate.cpp.

◆ set_supports_fan_only()

void esphome::thermostat::ThermostatClimate::set_supports_fan_only ( bool supports_fan_only)

Definition at line 1391 of file thermostat_climate.cpp.

◆ set_supports_fan_only_action_uses_fan_mode_timer()

void esphome::thermostat::ThermostatClimate::set_supports_fan_only_action_uses_fan_mode_timer ( bool fan_only_action_uses_fan_mode_timer)

Definition at line 1392 of file thermostat_climate.cpp.

◆ set_supports_fan_only_cooling()

void esphome::thermostat::ThermostatClimate::set_supports_fan_only_cooling ( bool supports_fan_only_cooling)

Definition at line 1396 of file thermostat_climate.cpp.

◆ set_supports_fan_with_cooling()

void esphome::thermostat::ThermostatClimate::set_supports_fan_with_cooling ( bool supports_fan_with_cooling)

Definition at line 1399 of file thermostat_climate.cpp.

◆ set_supports_fan_with_heating()

void esphome::thermostat::ThermostatClimate::set_supports_fan_with_heating ( bool supports_fan_with_heating)

Definition at line 1402 of file thermostat_climate.cpp.

◆ set_supports_heat()

void esphome::thermostat::ThermostatClimate::set_supports_heat ( bool supports_heat)

Definition at line 1405 of file thermostat_climate.cpp.

◆ set_supports_heat_cool()

void esphome::thermostat::ThermostatClimate::set_supports_heat_cool ( bool supports_heat_cool)

Definition at line 1385 of file thermostat_climate.cpp.

◆ set_supports_humidification()

void esphome::thermostat::ThermostatClimate::set_supports_humidification ( bool supports_humidification)

Definition at line 1457 of file thermostat_climate.cpp.

◆ set_supports_swing_mode_both()

void esphome::thermostat::ThermostatClimate::set_supports_swing_mode_both ( bool supports_swing_mode_both)

Definition at line 1436 of file thermostat_climate.cpp.

◆ set_supports_swing_mode_horizontal()

void esphome::thermostat::ThermostatClimate::set_supports_swing_mode_horizontal ( bool supports_swing_mode_horizontal)

Definition at line 1442 of file thermostat_climate.cpp.

◆ set_supports_swing_mode_off()

void esphome::thermostat::ThermostatClimate::set_supports_swing_mode_off ( bool supports_swing_mode_off)

Definition at line 1439 of file thermostat_climate.cpp.

◆ set_supports_swing_mode_vertical()

void esphome::thermostat::ThermostatClimate::set_supports_swing_mode_vertical ( bool supports_swing_mode_vertical)

Definition at line 1445 of file thermostat_climate.cpp.

◆ set_supports_two_points()

void esphome::thermostat::ThermostatClimate::set_supports_two_points ( bool supports_two_points)

Definition at line 1448 of file thermostat_climate.cpp.

◆ set_timer_duration_in_sec_()

void esphome::thermostat::ThermostatClimate::set_timer_duration_in_sec_ ( ThermostatClimateTimerIndex timer_index,
uint32_t time )
protected

Enhanced timer duration setter with running timer adjustment.

Definition at line 1319 of file thermostat_climate.cpp.

◆ set_use_startup_delay()

void esphome::thermostat::ThermostatClimate::set_use_startup_delay ( bool use_startup_delay)

Definition at line 1384 of file thermostat_climate.cpp.

◆ setup()

void esphome::thermostat::ThermostatClimate::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 10 of file thermostat_climate.cpp.

◆ start_timer_()

void esphome::thermostat::ThermostatClimate::start_timer_ ( ThermostatClimateTimerIndex timer_index)
protected

Start/cancel/get status of climate action timer.

Definition at line 889 of file thermostat_climate.cpp.

◆ supplemental_cooling_required_()

bool esphome::thermostat::ThermostatClimate::supplemental_cooling_required_ ( )
protected

Definition at line 1109 of file thermostat_climate.cpp.

◆ supplemental_heating_required_()

bool esphome::thermostat::ThermostatClimate::supplemental_heating_required_ ( )
protected

Definition at line 1119 of file thermostat_climate.cpp.

◆ switch_to_action_()

void esphome::thermostat::ThermostatClimate::switch_to_action_ ( climate::ClimateAction action,
bool publish_state = true )
protected

Switch the climate device to the given climate action.

Definition at line 483 of file thermostat_climate.cpp.

◆ switch_to_fan_mode_()

void esphome::thermostat::ThermostatClimate::switch_to_fan_mode_ ( climate::ClimateFanMode fan_mode,
bool publish_state = true )
protected

Switch the climate device to the given climate fan mode.

Definition at line 690 of file thermostat_climate.cpp.

◆ switch_to_humidity_control_action_()

void esphome::thermostat::ThermostatClimate::switch_to_humidity_control_action_ ( HumidificationAction action)
protected

Definition at line 654 of file thermostat_climate.cpp.

◆ switch_to_mode_()

void esphome::thermostat::ThermostatClimate::switch_to_mode_ ( climate::ClimateMode mode,
bool publish_state = true )
protected

Switch the climate device to the given climate mode.

Definition at line 761 of file thermostat_climate.cpp.

◆ switch_to_supplemental_action_()

void esphome::thermostat::ThermostatClimate::switch_to_supplemental_action_ ( climate::ClimateAction action)
protected

Definition at line 600 of file thermostat_climate.cpp.

◆ switch_to_swing_mode_()

void esphome::thermostat::ThermostatClimate::switch_to_swing_mode_ ( climate::ClimateSwingMode swing_mode,
bool publish_state = true )
protected

Switch the climate device to the given climate swing mode.

Definition at line 808 of file thermostat_climate.cpp.

◆ timer_active_()

bool esphome::thermostat::ThermostatClimate::timer_active_ ( ThermostatClimateTimerIndex timer_index)
protected

Definition at line 902 of file thermostat_climate.cpp.

◆ timer_duration_()

uint32_t esphome::thermostat::ThermostatClimate::timer_duration_ ( ThermostatClimateTimerIndex timer_index)
protected

Definition at line 906 of file thermostat_climate.cpp.

◆ traits()

climate::ClimateTraits esphome::thermostat::ThermostatClimate::traits ( )
overrideprotectedvirtual

Return the traits of this controller.

Implements esphome::climate::Climate.

Definition at line 266 of file thermostat_climate.cpp.

◆ trigger_supplemental_action_()

void esphome::thermostat::ThermostatClimate::trigger_supplemental_action_ ( )
protected

Definition at line 627 of file thermostat_climate.cpp.

◆ validate_target_humidity()

void esphome::thermostat::ThermostatClimate::validate_target_humidity ( )

Definition at line 201 of file thermostat_climate.cpp.

◆ validate_target_temperature()

void esphome::thermostat::ThermostatClimate::validate_target_temperature ( )

Definition at line 146 of file thermostat_climate.cpp.

◆ validate_target_temperature_high()

void esphome::thermostat::ThermostatClimate::validate_target_temperature_high ( )

Definition at line 187 of file thermostat_climate.cpp.

◆ validate_target_temperature_low()

void esphome::thermostat::ThermostatClimate::validate_target_temperature_low ( )

Definition at line 173 of file thermostat_climate.cpp.

◆ validate_target_temperatures()

void esphome::thermostat::ThermostatClimate::validate_target_temperatures ( bool pin_target_temperature_high)

Definition at line 159 of file thermostat_climate.cpp.

Field Documentation

◆ auto_mode_trigger_

Trigger esphome::thermostat::ThermostatClimate::auto_mode_trigger_
protected

Trigger for auto mode.

Definition at line 438 of file thermostat_climate.h.

◆ cool_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::cool_action_trigger_
protected

Trigger for cooling action/mode.

Definition at line 421 of file thermostat_climate.h.

◆ cool_mode_trigger_

Trigger esphome::thermostat::ThermostatClimate::cool_mode_trigger_
protected

Definition at line 423 of file thermostat_climate.h.

◆ cooling_deadband_

float esphome::thermostat::ThermostatClimate::cooling_deadband_ {0}
protected

Hysteresis values used for computing climate actions.

Definition at line 403 of file thermostat_climate.h.

◆ cooling_max_runtime_exceeded_

bool esphome::thermostat::ThermostatClimate::cooling_max_runtime_exceeded_ {false}
protected

Flags indicating if maximum allowable run time was exceeded.

Definition at line 382 of file thermostat_climate.h.

◆ cooling_overrun_

float esphome::thermostat::ThermostatClimate::cooling_overrun_ {0}
protected

Definition at line 404 of file thermostat_climate.h.

◆ custom_preset_config_

FixedVector<CustomPresetEntry> esphome::thermostat::ThermostatClimate::custom_preset_config_ {}
protected

The set of custom preset configurations this thermostat supports (eg. "My Custom Preset")

Definition at line 496 of file thermostat_climate.h.

◆ default_preset_

climate::ClimatePreset esphome::thermostat::ThermostatClimate::default_preset_ {}
protected

Default standard preset to use on start up.

Definition at line 314 of file thermostat_climate.h.

◆ dry_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::dry_action_trigger_
protected

Trigger for dry (dehumidification) mode.

Definition at line 426 of file thermostat_climate.h.

◆ dry_mode_trigger_

Trigger esphome::thermostat::ThermostatClimate::dry_mode_trigger_
protected

Definition at line 427 of file thermostat_climate.h.

◆ fan_mode_auto_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_auto_trigger_
protected

Definition at line 451 of file thermostat_climate.h.

◆ fan_mode_diffuse_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_diffuse_trigger_
protected

Definition at line 457 of file thermostat_climate.h.

◆ fan_mode_focus_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_focus_trigger_
protected

Definition at line 456 of file thermostat_climate.h.

◆ fan_mode_high_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_high_trigger_
protected

Definition at line 454 of file thermostat_climate.h.

◆ fan_mode_low_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_low_trigger_
protected

Definition at line 452 of file thermostat_climate.h.

◆ fan_mode_medium_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_medium_trigger_
protected

Definition at line 453 of file thermostat_climate.h.

◆ fan_mode_middle_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_middle_trigger_
protected

Definition at line 455 of file thermostat_climate.h.

◆ fan_mode_off_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_off_trigger_
protected

Definition at line 450 of file thermostat_climate.h.

◆ fan_mode_on_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_on_trigger_
protected

Fan mode triggers.

Definition at line 449 of file thermostat_climate.h.

◆ fan_mode_quiet_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_mode_quiet_trigger_
protected

Definition at line 458 of file thermostat_climate.h.

◆ fan_only_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_only_action_trigger_
protected

Trigger for fan-only action/mode.

Definition at line 445 of file thermostat_climate.h.

◆ fan_only_mode_trigger_

Trigger esphome::thermostat::ThermostatClimate::fan_only_mode_trigger_
protected

Definition at line 446 of file thermostat_climate.h.

◆ heat_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::heat_action_trigger_
protected

Trigger for heating action/mode.

Definition at line 430 of file thermostat_climate.h.

◆ heat_cool_mode_trigger_

Trigger esphome::thermostat::ThermostatClimate::heat_cool_mode_trigger_
protected

Trigger for heat/cool mode.

Definition at line 435 of file thermostat_climate.h.

◆ heat_mode_trigger_

Trigger esphome::thermostat::ThermostatClimate::heat_mode_trigger_
protected

Definition at line 432 of file thermostat_climate.h.

◆ heating_deadband_

float esphome::thermostat::ThermostatClimate::heating_deadband_ {0}
protected

Definition at line 405 of file thermostat_climate.h.

◆ heating_max_runtime_exceeded_

bool esphome::thermostat::ThermostatClimate::heating_max_runtime_exceeded_ {false}
protected

Definition at line 383 of file thermostat_climate.h.

◆ heating_overrun_

float esphome::thermostat::ThermostatClimate::heating_overrun_ {0}
protected

Definition at line 406 of file thermostat_climate.h.

◆ humidification_action

HumidificationAction esphome::thermostat::ThermostatClimate::humidification_action {THERMOSTAT_HUMIDITY_CONTROL_ACTION_NONE}

The current humidification action.

Definition at line 208 of file thermostat_climate.h.

◆ humidity_change_trigger_

Trigger esphome::thermostat::ThermostatClimate::humidity_change_trigger_
protected

Trigger for target humidity changes.

Definition at line 467 of file thermostat_climate.h.

◆ humidity_control_dehumidify_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::humidity_control_dehumidify_action_trigger_
protected

Humidity control triggers.

Definition at line 476 of file thermostat_climate.h.

◆ humidity_control_humidify_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::humidity_control_humidify_action_trigger_
protected

Definition at line 477 of file thermostat_climate.h.

◆ humidity_control_off_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::humidity_control_off_action_trigger_
protected

Definition at line 478 of file thermostat_climate.h.

◆ humidity_hysteresis_

float esphome::thermostat::ThermostatClimate::humidity_hysteresis_ {0}
protected

Hysteresis values used for computing humidification action.

Definition at line 409 of file thermostat_climate.h.

◆ humidity_sensor_

sensor::Sensor* esphome::thermostat::ThermostatClimate::humidity_sensor_ {nullptr}
protected

The sensor used for getting the current humidity.

Definition at line 418 of file thermostat_climate.h.

◆ idle_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::idle_action_trigger_
protected

Trigger for idle action/off mode.

Definition at line 441 of file thermostat_climate.h.

◆ min_timer_duration_

const uint8_t esphome::thermostat::ThermostatClimate::min_timer_duration_ {1}
protected

Minimum allowable duration in seconds for action timers.

Definition at line 301 of file thermostat_climate.h.

◆ off_mode_trigger_

Trigger esphome::thermostat::ThermostatClimate::off_mode_trigger_
protected

Definition at line 442 of file thermostat_climate.h.

◆ on_boot_restore_from_

OnBootRestoreFrom esphome::thermostat::ThermostatClimate::on_boot_restore_from_ {OnBootRestoreFrom::MEMORY}
protected

If set to DEFAULT_PRESET then the default preset is always used.

When MEMORY prior state will attempt to be restored if possible

Definition at line 318 of file thermostat_climate.h.

◆ preset_change_trigger_

Trigger esphome::thermostat::ThermostatClimate::preset_change_trigger_
protected

Trigger for preset mode changes.

Definition at line 473 of file thermostat_climate.h.

◆ preset_config_

FixedVector<PresetEntry> esphome::thermostat::ThermostatClimate::preset_config_ {}
protected

The set of standard preset configurations this thermostat supports (Eg. AWAY, ECO, etc)

Definition at line 494 of file thermostat_climate.h.

◆ prev_action_trigger_

Trigger* esphome::thermostat::ThermostatClimate::prev_action_trigger_ {nullptr}
protected

A reference to the trigger that was previously active.

This is so that the previous trigger can be stopped before enabling a new one for each climate category (mode, action, fan_mode, swing_mode).

Definition at line 484 of file thermostat_climate.h.

◆ prev_fan_mode_

climate::ClimateFanMode esphome::thermostat::ThermostatClimate::prev_fan_mode_ {climate::CLIMATE_FAN_ON}
protected

Store previously-known states.

These are used to determine when a trigger/action needs to be called

Definition at line 306 of file thermostat_climate.h.

◆ prev_fan_mode_trigger_

Trigger* esphome::thermostat::ThermostatClimate::prev_fan_mode_trigger_ {nullptr}
protected

Definition at line 485 of file thermostat_climate.h.

◆ prev_humidity_control_trigger_

Trigger* esphome::thermostat::ThermostatClimate::prev_humidity_control_trigger_ {nullptr}
protected

Definition at line 488 of file thermostat_climate.h.

◆ prev_mode_

climate::ClimateMode esphome::thermostat::ThermostatClimate::prev_mode_ {climate::CLIMATE_MODE_OFF}
protected

Definition at line 307 of file thermostat_climate.h.

◆ prev_mode_trigger_

Trigger* esphome::thermostat::ThermostatClimate::prev_mode_trigger_ {nullptr}
protected

Definition at line 486 of file thermostat_climate.h.

◆ prev_swing_mode_

climate::ClimateSwingMode esphome::thermostat::ThermostatClimate::prev_swing_mode_ {climate::CLIMATE_SWING_OFF}
protected

Definition at line 308 of file thermostat_climate.h.

◆ prev_swing_mode_trigger_

Trigger* esphome::thermostat::ThermostatClimate::prev_swing_mode_trigger_ {nullptr}
protected

Definition at line 487 of file thermostat_climate.h.

◆ prev_target_humidity_

float esphome::thermostat::ThermostatClimate::prev_target_humidity_ {NAN}
protected

Store previously-known humidity and temperatures.

These are used to determine when a temperature/humidity has changed

Definition at line 394 of file thermostat_climate.h.

◆ prev_target_temperature_

float esphome::thermostat::ThermostatClimate::prev_target_temperature_ {NAN}
protected

Definition at line 395 of file thermostat_climate.h.

◆ prev_target_temperature_high_

float esphome::thermostat::ThermostatClimate::prev_target_temperature_high_ {NAN}
protected

Definition at line 397 of file thermostat_climate.h.

◆ prev_target_temperature_low_

float esphome::thermostat::ThermostatClimate::prev_target_temperature_low_ {NAN}
protected

Definition at line 396 of file thermostat_climate.h.

◆ sensor_

sensor::Sensor* esphome::thermostat::ThermostatClimate::sensor_ {nullptr}
protected

The sensor used for getting the current temperature.

Definition at line 416 of file thermostat_climate.h.

◆ set_point_minimum_differential_

float esphome::thermostat::ThermostatClimate::set_point_minimum_differential_ {0}
protected

Minimum differential required between set points.

Definition at line 400 of file thermostat_climate.h.

◆ setup_complete_

bool esphome::thermostat::ThermostatClimate::setup_complete_ {false}
protected

setup_complete_ blocks modifying/resetting the temps immediately after boot

Definition at line 389 of file thermostat_climate.h.

◆ supplemental_action_

climate::ClimateAction esphome::thermostat::ThermostatClimate::supplemental_action_ {climate::CLIMATE_ACTION_OFF}
protected

The current supplemental action.

Definition at line 311 of file thermostat_climate.h.

◆ supplemental_cool_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::supplemental_cool_action_trigger_
protected

Definition at line 422 of file thermostat_climate.h.

◆ supplemental_cool_delta_

float esphome::thermostat::ThermostatClimate::supplemental_cool_delta_ {0}
protected

Maximum allowable temperature deltas before engaging supplemental cooling/heating actions.

Definition at line 412 of file thermostat_climate.h.

◆ supplemental_heat_action_trigger_

Trigger esphome::thermostat::ThermostatClimate::supplemental_heat_action_trigger_
protected

Definition at line 431 of file thermostat_climate.h.

◆ supplemental_heat_delta_

float esphome::thermostat::ThermostatClimate::supplemental_heat_delta_ {0}
protected

Definition at line 413 of file thermostat_climate.h.

◆ supports_auto_

bool esphome::thermostat::ThermostatClimate::supports_auto_ {false}
protected

Whether the controller supports auto/cooling/drying/fanning/heating.

A false value for any given attribute means that the controller has no such action (for example a thermostat, where only heating and not-heating is possible).

Definition at line 324 of file thermostat_climate.h.

◆ supports_cool_

bool esphome::thermostat::ThermostatClimate::supports_cool_ {false}
protected

Definition at line 326 of file thermostat_climate.h.

◆ supports_dehumidification_

bool esphome::thermostat::ThermostatClimate::supports_dehumidification_ {false}
protected

Whether the controller supports dehumidification and/or humidification.

A false value means that the controller has no such support.

Definition at line 378 of file thermostat_climate.h.

◆ supports_dry_

bool esphome::thermostat::ThermostatClimate::supports_dry_ {false}
protected

Definition at line 327 of file thermostat_climate.h.

◆ supports_fan_mode_auto_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_auto_ {false}
protected

Whether the controller supports fan auto mode.

A false value for this attribute means that the controller has no fan-auto action (for example a thermostat, where independent control of the fan is not possible).

Definition at line 349 of file thermostat_climate.h.

◆ supports_fan_mode_diffuse_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_diffuse_ {false}
protected

Definition at line 359 of file thermostat_climate.h.

◆ supports_fan_mode_focus_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_focus_ {false}
protected

Definition at line 358 of file thermostat_climate.h.

◆ supports_fan_mode_high_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_high_ {false}
protected

Definition at line 356 of file thermostat_climate.h.

◆ supports_fan_mode_low_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_low_ {false}
protected

Whether the controller supports various fan speeds and/or positions.

A false value for any given attribute means that the controller has no such fan action.

Definition at line 354 of file thermostat_climate.h.

◆ supports_fan_mode_medium_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_medium_ {false}
protected

Definition at line 355 of file thermostat_climate.h.

◆ supports_fan_mode_middle_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_middle_ {false}
protected

Definition at line 357 of file thermostat_climate.h.

◆ supports_fan_mode_off_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_off_ {false}
protected

Definition at line 343 of file thermostat_climate.h.

◆ supports_fan_mode_on_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_on_ {false}
protected

Whether the controller supports turning on or off just the fan.

A false value for either attribute means that the controller has no fan on/off action (for example a thermostat, where independent control of the fan is not possible).

Definition at line 342 of file thermostat_climate.h.

◆ supports_fan_mode_quiet_

bool esphome::thermostat::ThermostatClimate::supports_fan_mode_quiet_ {false}
protected

Definition at line 360 of file thermostat_climate.h.

◆ supports_fan_only_

bool esphome::thermostat::ThermostatClimate::supports_fan_only_ {false}
protected

Definition at line 328 of file thermostat_climate.h.

◆ supports_fan_only_action_uses_fan_mode_timer_

bool esphome::thermostat::ThermostatClimate::supports_fan_only_action_uses_fan_mode_timer_ {false}
protected

Special flag – enables fan_modes to share timer with fan_only climate action.

Definition at line 331 of file thermostat_climate.h.

◆ supports_fan_only_cooling_

bool esphome::thermostat::ThermostatClimate::supports_fan_only_cooling_ {false}
protected

Special flag – enables fan to be switched based on target_temperature_high.

Definition at line 333 of file thermostat_climate.h.

◆ supports_fan_with_cooling_

bool esphome::thermostat::ThermostatClimate::supports_fan_with_cooling_ {false}
protected

Special flags – enables fan_only action to be called with cooling/heating actions.

Definition at line 335 of file thermostat_climate.h.

◆ supports_fan_with_heating_

bool esphome::thermostat::ThermostatClimate::supports_fan_with_heating_ {false}
protected

Definition at line 336 of file thermostat_climate.h.

◆ supports_heat_

bool esphome::thermostat::ThermostatClimate::supports_heat_ {false}
protected

Definition at line 329 of file thermostat_climate.h.

◆ supports_heat_cool_

bool esphome::thermostat::ThermostatClimate::supports_heat_cool_ {false}
protected

Definition at line 325 of file thermostat_climate.h.

◆ supports_humidification_

bool esphome::thermostat::ThermostatClimate::supports_humidification_ {false}
protected

Definition at line 379 of file thermostat_climate.h.

◆ supports_swing_mode_both_

bool esphome::thermostat::ThermostatClimate::supports_swing_mode_both_ {false}
protected

Whether the controller supports various swing modes.

A false value for any given attribute means that the controller has no such swing mode.

Definition at line 365 of file thermostat_climate.h.

◆ supports_swing_mode_horizontal_

bool esphome::thermostat::ThermostatClimate::supports_swing_mode_horizontal_ {false}
protected

Definition at line 367 of file thermostat_climate.h.

◆ supports_swing_mode_off_

bool esphome::thermostat::ThermostatClimate::supports_swing_mode_off_ {false}
protected

Definition at line 366 of file thermostat_climate.h.

◆ supports_swing_mode_vertical_

bool esphome::thermostat::ThermostatClimate::supports_swing_mode_vertical_ {false}
protected

Definition at line 368 of file thermostat_climate.h.

◆ supports_two_points_

bool esphome::thermostat::ThermostatClimate::supports_two_points_ {false}
protected

Whether the controller supports two set points.

A false value means that the controller has no such support.

Definition at line 373 of file thermostat_climate.h.

◆ swing_mode_both_trigger_

Trigger esphome::thermostat::ThermostatClimate::swing_mode_both_trigger_
protected

Swing mode triggers.

Definition at line 461 of file thermostat_climate.h.

◆ swing_mode_horizontal_trigger_

Trigger esphome::thermostat::ThermostatClimate::swing_mode_horizontal_trigger_
protected

Definition at line 463 of file thermostat_climate.h.

◆ swing_mode_off_trigger_

Trigger esphome::thermostat::ThermostatClimate::swing_mode_off_trigger_
protected

Definition at line 462 of file thermostat_climate.h.

◆ swing_mode_vertical_trigger_

Trigger esphome::thermostat::ThermostatClimate::swing_mode_vertical_trigger_
protected

Definition at line 464 of file thermostat_climate.h.

◆ temperature_change_trigger_

Trigger esphome::thermostat::ThermostatClimate::temperature_change_trigger_
protected

Trigger for target temperature changes.

Definition at line 470 of file thermostat_climate.h.

◆ timer_

std::array<ThermostatClimateTimer, THERMOSTAT_TIMER_COUNT> esphome::thermostat::ThermostatClimate::timer_ {}
protected

Climate action timers.

Definition at line 491 of file thermostat_climate.h.

◆ use_startup_delay_

bool esphome::thermostat::ThermostatClimate::use_startup_delay_ {false}
protected

Used to start "off" delay timers at boot.

Definition at line 386 of file thermostat_climate.h.


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