ESPHome  2024.4.0
Public Member Functions | Protected Member Functions | Protected Attributes
esphome::bang_bang::BangBangClimate Class Reference

#include <bang_bang_climate.h>

Inheritance diagram for esphome::bang_bang::BangBangClimate:
esphome::climate::Climate esphome::Component esphome::EntityBase

Public Member Functions

 BangBangClimate ()
 
void setup () override
 
void dump_config () override
 
void set_sensor (sensor::Sensor *sensor)
 
void set_humidity_sensor (sensor::Sensor *humidity_sensor)
 
Triggerget_idle_trigger () const
 
Triggerget_cool_trigger () const
 
void set_supports_cool (bool supports_cool)
 
Triggerget_heat_trigger () const
 
void set_supports_heat (bool supports_heat)
 
void set_normal_config (const BangBangClimateTargetTempConfig &normal_config)
 
void set_away_config (const BangBangClimateTargetTempConfig &away_config)
 
- 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. More...
 
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. More...
 
ClimateCall make_call ()
 Make a climate device control call, this is used to control the climate device, see the ClimateCall description for more info. More...
 
void publish_state ()
 Publish the state of the climate device, to be called from integrations. More...
 
ClimateTraits get_traits ()
 Get the traits of this climate device with all overrides applied. More...
 
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)
 
- Public Member Functions inherited from esphome::EntityBase
const StringRefget_name () const
 
void set_name (const char *name)
 
bool has_own_name () const
 
std::string get_object_id () const
 
void set_object_id (const char *object_id)
 
uint32_t get_object_id_hash ()
 
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)
 
std::string get_icon () const
 
void set_icon (const char *icon)
 
- Public Member Functions inherited from esphome::Component
virtual void loop ()
 This method will be called repeatedly. More...
 
virtual float get_setup_priority () const
 priority of setup(). More...
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed ()
 
bool is_ready ()
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message="unspecified")
 
void status_set_error (const char *message="unspecified")
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 

Protected Member Functions

void control (const climate::ClimateCall &call) override
 Override control to change settings of the climate device. More...
 
void change_away_ (bool away)
 Change the away setting, will reset target temperatures to defaults. More...
 
climate::ClimateTraits traits () override
 Return the traits of this controller. More...
 
void compute_state_ ()
 Re-compute the state of this climate controller. More...
 
void switch_to_action_ (climate::ClimateAction action)
 Switch the climate device to the given climate mode. More...
 
- 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. More...
 
bool set_custom_fan_mode_ (const std::string &mode)
 Set custom fan mode. Reset primary fan mode. Return true if fan mode has been changed. More...
 
bool set_preset_ (ClimatePreset preset)
 Set preset. Reset custom preset. Return true if preset has been changed. More...
 
bool set_custom_preset_ (const std::string &preset)
 Set custom preset. Reset primary preset. Return true if preset has been changed. More...
 
optional< ClimateDeviceRestoreStaterestore_state_ ()
 Restore the state of the climate device, call this from your setup() method. More...
 
void save_state_ ()
 Internal method to save the state of the climate device to recover memory. More...
 
void dump_traits_ (const char *tag)
 
- Protected Member Functions inherited from esphome::EntityBase
virtual uint32_t hash_base ()
 The hash_base() function has been deprecated. More...
 
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_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name. More...
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 

Protected Attributes

sensor::Sensorsensor_ {nullptr}
 The sensor used for getting the current temperature. More...
 
sensor::Sensorhumidity_sensor_ {nullptr}
 The sensor used for getting the current humidity. More...
 
Triggeridle_trigger_
 The trigger to call when the controller should switch to idle mode. More...
 
Triggercool_trigger_
 The trigger to call when the controller should switch to cooling mode. More...
 
bool supports_cool_ {false}
 Whether the controller supports cooling. More...
 
Triggerheat_trigger_ {nullptr}
 The trigger to call when the controller should switch to heating mode. More...
 
bool supports_heat_ {false}
 
Triggerprev_trigger_ {nullptr}
 A reference to the trigger that was previously active. More...
 
BangBangClimateTargetTempConfig normal_config_ {}
 
bool supports_away_ {false}
 
BangBangClimateTargetTempConfig away_config_ {}
 
- Protected Attributes inherited from esphome::climate::Climate
friend ClimateCall
 
CallbackManager< void(Climate &)> state_callback_ {}
 
CallbackManager< void(ClimateCall &)> control_callback_ {}
 
ESPPreferenceObject rtc_
 
optional< float > visual_min_temperature_override_ {}
 
optional< float > visual_max_temperature_override_ {}
 
optional< float > visual_target_temperature_step_override_ {}
 
optional< float > visual_current_temperature_step_override_ {}
 
optional< float > visual_min_humidity_override_ {}
 
optional< float > visual_max_humidity_override_ {}
 
- Protected Attributes inherited from esphome::EntityBase
StringRef name_
 
const char * object_id_c_str_ {nullptr}
 
const char * icon_c_str_ {nullptr}
 
uint32_t object_id_hash_
 
bool has_own_name_ {false}
 
bool internal_ {false}
 
bool disabled_by_default_ {false}
 
EntityCategory entity_category_ {ENTITY_CATEGORY_NONE}
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 

Additional Inherited Members

- Data Fields inherited from esphome::climate::Climate
ClimateMode mode {CLIMATE_MODE_OFF}
 The active mode of the climate device. More...
 
ClimateAction action {CLIMATE_ACTION_OFF}
 The active state of the climate device. More...
 
float current_temperature {NAN}
 The current temperature of the climate device, as reported from the integration. More...
 
float current_humidity {NAN}
 The current humidity of the climate device, as reported from the integration. More...
 
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. More...
 
optional< ClimateFanModefan_mode
 The active fan mode of the climate device. More...
 
ClimateSwingMode swing_mode
 The active swing mode of the climate device. More...
 
optional< std::string > custom_fan_mode
 The active custom fan mode of the climate device. More...
 
optional< ClimatePresetpreset
 The active preset of the climate device. More...
 
optional< std::string > custom_preset
 The active custom preset mode of the climate device. More...
 

Detailed Description

Definition at line 20 of file bang_bang_climate.h.

Constructor & Destructor Documentation

◆ BangBangClimate()

esphome::bang_bang::BangBangClimate::BangBangClimate ( )

Definition at line 183 of file bang_bang_climate.cpp.

Member Function Documentation

◆ change_away_()

void esphome::bang_bang::BangBangClimate::change_away_ ( bool  away)
protected

Change the away setting, will reset target temperatures to defaults.

Definition at line 166 of file bang_bang_climate.cpp.

◆ compute_state_()

void esphome::bang_bang::BangBangClimate::compute_state_ ( )
protected

Re-compute the state of this climate controller.

Definition at line 81 of file bang_bang_climate.cpp.

◆ control()

void esphome::bang_bang::BangBangClimate::control ( const climate::ClimateCall call)
overrideprotectedvirtual

Override control to change settings of the climate device.

Implements esphome::climate::Climate.

Definition at line 44 of file bang_bang_climate.cpp.

◆ dump_config()

void esphome::bang_bang::BangBangClimate::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 192 of file bang_bang_climate.cpp.

◆ get_cool_trigger()

Trigger * esphome::bang_bang::BangBangClimate::get_cool_trigger ( ) const

Definition at line 188 of file bang_bang_climate.cpp.

◆ get_heat_trigger()

Trigger * esphome::bang_bang::BangBangClimate::get_heat_trigger ( ) const

Definition at line 190 of file bang_bang_climate.cpp.

◆ get_idle_trigger()

Trigger * esphome::bang_bang::BangBangClimate::get_idle_trigger ( ) const

Definition at line 187 of file bang_bang_climate.cpp.

◆ set_away_config()

void esphome::bang_bang::BangBangClimate::set_away_config ( const BangBangClimateTargetTempConfig away_config)

Definition at line 179 of file bang_bang_climate.cpp.

◆ set_humidity_sensor()

void esphome::bang_bang::BangBangClimate::set_humidity_sensor ( sensor::Sensor humidity_sensor)

Definition at line 186 of file bang_bang_climate.cpp.

◆ set_normal_config()

void esphome::bang_bang::BangBangClimate::set_normal_config ( const BangBangClimateTargetTempConfig normal_config)

Definition at line 176 of file bang_bang_climate.cpp.

◆ set_sensor()

void esphome::bang_bang::BangBangClimate::set_sensor ( sensor::Sensor sensor)

Definition at line 185 of file bang_bang_climate.cpp.

◆ set_supports_cool()

void esphome::bang_bang::BangBangClimate::set_supports_cool ( bool  supports_cool)

Definition at line 189 of file bang_bang_climate.cpp.

◆ set_supports_heat()

void esphome::bang_bang::BangBangClimate::set_supports_heat ( bool  supports_heat)

Definition at line 191 of file bang_bang_climate.cpp.

◆ setup()

void esphome::bang_bang::BangBangClimate::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 9 of file bang_bang_climate.cpp.

◆ switch_to_action_()

void esphome::bang_bang::BangBangClimate::switch_to_action_ ( climate::ClimateAction  action)
protected

Switch the climate device to the given climate mode.

Definition at line 125 of file bang_bang_climate.cpp.

◆ traits()

climate::ClimateTraits esphome::bang_bang::BangBangClimate::traits ( )
overrideprotectedvirtual

Return the traits of this controller.

Implements esphome::climate::Climate.

Definition at line 57 of file bang_bang_climate.cpp.

Field Documentation

◆ away_config_

BangBangClimateTargetTempConfig esphome::bang_bang::BangBangClimate::away_config_ {}
protected

Definition at line 85 of file bang_bang_climate.h.

◆ cool_trigger_

Trigger* esphome::bang_bang::BangBangClimate::cool_trigger_
protected

The trigger to call when the controller should switch to cooling mode.

Definition at line 62 of file bang_bang_climate.h.

◆ heat_trigger_

Trigger* esphome::bang_bang::BangBangClimate::heat_trigger_ {nullptr}
protected

The trigger to call when the controller should switch to heating mode.

A null value for this attribute means that the controller has no heating action For example window blinds, where only cooling (blinds closed) and not-cooling (blinds open) is possible.

Definition at line 75 of file bang_bang_climate.h.

◆ humidity_sensor_

sensor::Sensor* esphome::bang_bang::BangBangClimate::humidity_sensor_ {nullptr}
protected

The sensor used for getting the current humidity.

Definition at line 53 of file bang_bang_climate.h.

◆ idle_trigger_

Trigger* esphome::bang_bang::BangBangClimate::idle_trigger_
protected

The trigger to call when the controller should switch to idle mode.

In idle mode, the controller is assumed to have both heating and cooling disabled.

Definition at line 59 of file bang_bang_climate.h.

◆ normal_config_

BangBangClimateTargetTempConfig esphome::bang_bang::BangBangClimate::normal_config_ {}
protected

Definition at line 83 of file bang_bang_climate.h.

◆ prev_trigger_

Trigger* esphome::bang_bang::BangBangClimate::prev_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.

Definition at line 81 of file bang_bang_climate.h.

◆ sensor_

sensor::Sensor* esphome::bang_bang::BangBangClimate::sensor_ {nullptr}
protected

The sensor used for getting the current temperature.

Definition at line 51 of file bang_bang_climate.h.

◆ supports_away_

bool esphome::bang_bang::BangBangClimate::supports_away_ {false}
protected

Definition at line 84 of file bang_bang_climate.h.

◆ supports_cool_

bool esphome::bang_bang::BangBangClimate::supports_cool_ {false}
protected

Whether the controller supports cooling.

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

Definition at line 68 of file bang_bang_climate.h.

◆ supports_heat_

bool esphome::bang_bang::BangBangClimate::supports_heat_ {false}
protected

Definition at line 76 of file bang_bang_climate.h.


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