|
ESPHome 2025.12.0-dev
|
#include <bang_bang_climate.h>
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) |
| void | set_supports_cool (bool supports_cool) |
| void | set_supports_heat (bool supports_heat) |
| void | set_normal_config (const BangBangClimateTargetTempConfig &normal_config) |
| void | set_away_config (const BangBangClimateTargetTempConfig &away_config) |
| Trigger * | get_idle_trigger () const |
| Trigger * | get_cool_trigger () const |
| Trigger * | get_heat_trigger () const |
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. | |
| const char * | get_custom_fan_mode () const |
| Get the active custom fan mode (read-only access). | |
| const char * | get_custom_preset () const |
| Get the active custom preset (read-only access). | |
Public Member Functions inherited from esphome::EntityBase | |
| const StringRef & | get_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) |
| 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) |
| bool | has_state () const |
| void | set_has_state (bool state) |
| uint32_t | get_preference_hash () |
| Get a unique hash for storing preferences/settings for this entity. | |
Public Member Functions inherited from esphome::Component | |
| virtual void | loop () |
| This method will be called repeatedly. | |
| 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. | |
| void | mark_failed (const char *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 (const char *message=nullptr) |
| 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 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) |
Protected Member Functions | |
| void | control (const climate::ClimateCall &call) override |
| Override control to change settings of the climate device. | |
| void | change_away_ (bool away) |
| Change the away setting, will reset target temperatures to defaults. | |
| climate::ClimateTraits | traits () override |
| Return the traits of this controller. | |
| void | compute_state_ () |
| Re-compute the state of this climate controller. | |
| void | switch_to_action_ (climate::ClimateAction action) |
| Switch the climate device to the given climate mode. | |
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. | |
| 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. | |
| 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_preset_ (const char *custom_preset) |
| Find and return the matching custom preset pointer from traits, or nullptr if not found. | |
| optional< ClimateDeviceRestoreState > | restore_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 | |
| StringRef | get_object_id_ref_for_api_ () const |
| void | calc_object_id_ () |
| bool | is_object_id_dynamic_ () const |
| Check if the object_id is dynamic (changes with MAC suffix) | |
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 (const std::string &name, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a unique name. | |
| void | set_interval (const char *name, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a const char* name. | |
| void | set_interval (uint32_t interval, std::function< void()> &&f) |
| bool | cancel_interval (const std::string &name) |
| Cancel an interval function. | |
| bool | cancel_interval (const char *name) |
| 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. | |
| 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. | |
| void | set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a unique name. | |
| void | set_timeout (const char *name, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a const char* name. | |
| void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
| bool | cancel_timeout (const std::string &name) |
| Cancel a timeout function. | |
| bool | cancel_timeout (const char *name) |
| void | defer (const std::string &name, std::function< void()> &&f) |
| Defer a callback to the next loop() call. | |
| void | defer (const char *name, std::function< void()> &&f) |
| Defer a callback to the next loop() call with a const char* name. | |
| void | defer (std::function< void()> &&f) |
| Defer a callback to the next loop() call. | |
| bool | cancel_defer (const std::string &name) |
| Cancel a defer callback using the specified name, name must not be empty. | |
Protected Attributes | |
| sensor::Sensor * | sensor_ {nullptr} |
| The sensor used for getting the current temperature. | |
| sensor::Sensor * | humidity_sensor_ {nullptr} |
| The sensor used for getting the current humidity. | |
| Trigger * | idle_trigger_ {nullptr} |
| The trigger to call when the controller should switch to idle mode. | |
| Trigger * | cool_trigger_ {nullptr} |
| The trigger to call when the controller should switch to cooling mode. | |
| Trigger * | heat_trigger_ {nullptr} |
| The trigger to call when the controller should switch to heating mode. | |
| Trigger * | prev_trigger_ {nullptr} |
| A reference to the trigger that was previously active. | |
| bool | supports_cool_ {false} |
| Whether the controller supports cooling/heating. | |
| bool | supports_heat_ {false} |
| bool | supports_away_ {false} |
| BangBangClimateTargetTempConfig | normal_config_ {} |
| 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_ {} |
| Device * | device_ {} |
| struct esphome::EntityBase::EntityFlags | flags_ |
Protected Attributes inherited from esphome::Component | |
| 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. | |
Additional Inherited Members | ||
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< ClimateFanMode > | fan_mode | |
| The active fan mode of the climate device. | ||
| optional< ClimatePreset > | preset | |
| 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. | ||
Definition at line 20 of file bang_bang_climate.h.
| esphome::bang_bang::BangBangClimate::BangBangClimate | ( | ) |
Definition at line 9 of file bang_bang_climate.cpp.
|
protected |
Change the away setting, will reset target temperatures to defaults.
Definition at line 184 of file bang_bang_climate.cpp.
|
protected |
Re-compute the state of this climate controller.
Definition at line 94 of file bang_bang_climate.cpp.
|
overrideprotectedvirtual |
Override control to change settings of the climate device.
Implements esphome::climate::Climate.
Definition at line 48 of file bang_bang_climate.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 214 of file bang_bang_climate.cpp.
| Trigger * esphome::bang_bang::BangBangClimate::get_cool_trigger | ( | ) | const |
Definition at line 208 of file bang_bang_climate.cpp.
| Trigger * esphome::bang_bang::BangBangClimate::get_heat_trigger | ( | ) | const |
Definition at line 209 of file bang_bang_climate.cpp.
| Trigger * esphome::bang_bang::BangBangClimate::get_idle_trigger | ( | ) | const |
Definition at line 207 of file bang_bang_climate.cpp.
| void esphome::bang_bang::BangBangClimate::set_away_config | ( | const BangBangClimateTargetTempConfig & | away_config | ) |
Definition at line 199 of file bang_bang_climate.cpp.
| void esphome::bang_bang::BangBangClimate::set_humidity_sensor | ( | sensor::Sensor * | humidity_sensor | ) |
Definition at line 205 of file bang_bang_climate.cpp.
| void esphome::bang_bang::BangBangClimate::set_normal_config | ( | const BangBangClimateTargetTempConfig & | normal_config | ) |
Definition at line 195 of file bang_bang_climate.cpp.
| void esphome::bang_bang::BangBangClimate::set_sensor | ( | sensor::Sensor * | sensor | ) |
Definition at line 204 of file bang_bang_climate.cpp.
| void esphome::bang_bang::BangBangClimate::set_supports_cool | ( | bool | supports_cool | ) |
Definition at line 211 of file bang_bang_climate.cpp.
| void esphome::bang_bang::BangBangClimate::set_supports_heat | ( | bool | supports_heat | ) |
Definition at line 212 of file bang_bang_climate.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 12 of file bang_bang_climate.cpp.
|
protected |
Switch the climate device to the given climate mode.
Definition at line 139 of file bang_bang_climate.cpp.
|
overrideprotectedvirtual |
Return the traits of this controller.
Implements esphome::climate::Climate.
Definition at line 66 of file bang_bang_climate.cpp.
|
protected |
Definition at line 88 of file bang_bang_climate.h.
|
protected |
The trigger to call when the controller should switch to cooling mode.
Definition at line 63 of file bang_bang_climate.h.
|
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 70 of file bang_bang_climate.h.
|
protected |
The sensor used for getting the current humidity.
Definition at line 54 of file bang_bang_climate.h.
|
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 60 of file bang_bang_climate.h.
|
protected |
Definition at line 87 of file bang_bang_climate.h.
|
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 75 of file bang_bang_climate.h.
|
protected |
The sensor used for getting the current temperature.
Definition at line 52 of file bang_bang_climate.h.
|
protected |
Definition at line 85 of file bang_bang_climate.h.
|
protected |
Whether the controller supports cooling/heating.
A false value for this attribute means that the controller has no respective action (for example a thermostat, where only heating and not-heating is possible).
Definition at line 82 of file bang_bang_climate.h.
|
protected |
Definition at line 83 of file bang_bang_climate.h.