ESPHome 2025.6.3
|
#include <pid_climate.h>
Public Member Functions | |
PIDClimate ()=default | |
void | setup () override |
void | dump_config () override |
void | set_sensor (sensor::Sensor *sensor) |
void | set_humidity_sensor (sensor::Sensor *sensor) |
void | set_cool_output (output::FloatOutput *cool_output) |
void | set_heat_output (output::FloatOutput *heat_output) |
void | set_kp (float kp) |
void | set_ki (float ki) |
void | set_kd (float kd) |
void | set_min_integral (float min_integral) |
void | set_max_integral (float max_integral) |
void | set_output_samples (int in) |
void | set_derivative_samples (int in) |
void | set_threshold_low (float in) |
void | set_threshold_high (float in) |
void | set_kp_multiplier (float in) |
void | set_ki_multiplier (float in) |
void | set_kd_multiplier (float in) |
void | set_starting_integral_term (float in) |
void | set_deadband_output_samples (int in) |
float | get_output_value () const |
float | get_error_value () const |
float | get_kp () |
float | get_ki () |
float | get_kd () |
float | get_min_integral () |
float | get_max_integral () |
float | get_proportional_term () const |
float | get_integral_term () const |
float | get_derivative_term () const |
int | get_output_samples () |
int | get_derivative_samples () |
float | get_threshold_low () |
float | get_threshold_high () |
float | get_kp_multiplier () |
float | get_ki_multiplier () |
float | get_kd_multiplier () |
int | get_deadband_output_samples () |
bool | in_deadband () |
void | add_on_pid_computed_callback (std::function< void()> &&callback) |
void | set_default_target_temperature (float default_target_temperature) |
void | start_autotune (std::unique_ptr< PIDAutotuner > &&autotune) |
void | reset_integral_term () |
![]() | |
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) |
![]() | |
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) |
std::string | get_icon () const |
void | set_icon (const char *icon) |
bool | has_state () const |
void | set_has_state (bool state) |
![]() | |
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. | |
virtual void | mark_failed () |
Mark this component as failed. | |
void | mark_failed (const char *message) |
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="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. | |
const char * | get_component_source () const |
Get the integration where this component was declared as a string. | |
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. | |
climate::ClimateTraits | traits () override |
Return the traits of this controller. | |
void | update_pid_ () |
bool | supports_cool_ () const |
bool | supports_heat_ () const |
void | write_output_ (float value) |
![]() | |
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 std::string &mode) |
Set custom fan mode. Reset primary fan mode. Return true if fan mode has been changed. | |
bool | set_preset_ (ClimatePreset preset) |
Set preset. Reset custom preset. Return true if preset has been changed. | |
bool | set_custom_preset_ (const std::string &preset) |
Set custom preset. Reset primary preset. Return true if preset has been changed. | |
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) |
![]() | |
virtual uint32_t | hash_base () |
The hash_base() function has been deprecated. | |
void | calc_object_id_ () |
![]() | |
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. | |
void | set_interval (uint32_t interval, std::function< void()> &&f) |
bool | cancel_interval (const std::string &name) |
Cancel an interval function. | |
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 (uint32_t timeout, std::function< void()> &&f) |
bool | cancel_timeout (const std::string &name) |
Cancel a timeout function. | |
void | defer (const std::string &name, std::function< void()> &&f) |
Defer a callback to the next loop() call. | |
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_ |
The sensor used for getting the current temperature. | |
sensor::Sensor * | humidity_sensor_ {nullptr} |
The sensor used for getting the current humidity. | |
output::FloatOutput * | cool_output_ {nullptr} |
output::FloatOutput * | heat_output_ {nullptr} |
PIDController | controller_ |
float | output_value_ |
Output value as reported by the PID controller, for PIDClimateSensor. | |
CallbackManager< void()> | pid_computed_callback_ |
float | default_target_temperature_ |
std::unique_ptr< PIDAutotuner > | autotuner_ |
bool | do_publish_ = false |
![]() | |
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_ {} |
![]() | |
StringRef | name_ |
const char * | object_id_c_str_ {nullptr} |
const char * | icon_c_str_ {nullptr} |
uint32_t | object_id_hash_ {} |
struct esphome::EntityBase::EntityFlags | flags_ |
![]() | |
uint8_t | component_state_ {0x00} |
State of this component - each bit has a purpose: Bits 0-1: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED) Bit 2: STATUS_LED_WARNING Bit 3: STATUS_LED_ERROR Bits 4-7: Unused - reserved for future expansion (50% of the bits are free) | |
float | setup_priority_override_ {NAN} |
const char * | component_source_ {nullptr} |
uint16_t | warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS} |
Warn if blocked for this many ms (max 65.5s) | |
std::string | error_message_ {} |
Additional Inherited Members | ||
![]() | ||
ClimateMode | mode {CLIMATE_MODE_OFF} | |
The active mode of the climate device. | ||
ClimateAction | action {CLIMATE_ACTION_OFF} | |
The active state of the climate device. | ||
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. | ||
ClimateSwingMode | swing_mode | |
The active swing mode of the climate device. | ||
optional< std::string > | custom_fan_mode | |
The active custom fan mode of the climate device. | ||
optional< ClimatePreset > | preset | |
The active preset of the climate device. | ||
optional< std::string > | custom_preset | |
The active custom preset mode of the climate device. | ||
Definition at line 15 of file pid_climate.h.
|
default |
|
inline |
Definition at line 67 of file pid_climate.h.
|
overrideprotectedvirtual |
Override control to change settings of the climate device.
Implements esphome::climate::Climate.
Definition at line 43 of file pid_climate.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 74 of file pid_climate.cpp.
|
inline |
Definition at line 60 of file pid_climate.h.
|
inline |
Definition at line 53 of file pid_climate.h.
|
inline |
Definition at line 51 of file pid_climate.h.
|
inline |
Definition at line 43 of file pid_climate.h.
|
inline |
Definition at line 50 of file pid_climate.h.
|
inline |
Definition at line 46 of file pid_climate.h.
|
inline |
Definition at line 59 of file pid_climate.h.
|
inline |
Definition at line 45 of file pid_climate.h.
|
inline |
Definition at line 58 of file pid_climate.h.
|
inline |
Definition at line 44 of file pid_climate.h.
|
inline |
Definition at line 57 of file pid_climate.h.
|
inline |
Definition at line 48 of file pid_climate.h.
|
inline |
Definition at line 47 of file pid_climate.h.
|
inline |
Definition at line 52 of file pid_climate.h.
|
inline |
Definition at line 42 of file pid_climate.h.
|
inline |
Definition at line 49 of file pid_climate.h.
|
inline |
Definition at line 56 of file pid_climate.h.
|
inline |
Definition at line 55 of file pid_climate.h.
|
inline |
Definition at line 61 of file pid_climate.h.
void esphome::pid::PIDClimate::reset_integral_term | ( | ) |
Definition at line 187 of file pid_climate.cpp.
|
inline |
Definition at line 23 of file pid_climate.h.
|
inline |
Definition at line 40 of file pid_climate.h.
|
inline |
Definition at line 70 of file pid_climate.h.
|
inline |
Definition at line 31 of file pid_climate.h.
|
inline |
Definition at line 24 of file pid_climate.h.
|
inline |
Definition at line 22 of file pid_climate.h.
|
inline |
Definition at line 27 of file pid_climate.h.
|
inline |
Definition at line 37 of file pid_climate.h.
|
inline |
Definition at line 26 of file pid_climate.h.
|
inline |
Definition at line 36 of file pid_climate.h.
|
inline |
Definition at line 25 of file pid_climate.h.
|
inline |
Definition at line 35 of file pid_climate.h.
|
inline |
Definition at line 29 of file pid_climate.h.
|
inline |
Definition at line 28 of file pid_climate.h.
|
inline |
Definition at line 30 of file pid_climate.h.
|
inline |
Definition at line 21 of file pid_climate.h.
|
inline |
Definition at line 38 of file pid_climate.h.
|
inline |
Definition at line 34 of file pid_climate.h.
|
inline |
Definition at line 33 of file pid_climate.h.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 9 of file pid_climate.cpp.
void esphome::pid::PIDClimate::start_autotune | ( | std::unique_ptr< PIDAutotuner > && | autotune | ) |
Definition at line 162 of file pid_climate.cpp.
|
inlineprotected |
Definition at line 84 of file pid_climate.h.
|
inlineprotected |
Definition at line 85 of file pid_climate.h.
|
overrideprotectedvirtual |
Return the traits of this controller.
Implements esphome::climate::Climate.
Definition at line 55 of file pid_climate.cpp.
|
protected |
Definition at line 129 of file pid_climate.cpp.
|
protected |
Definition at line 96 of file pid_climate.cpp.
|
protected |
Definition at line 100 of file pid_climate.h.
|
protected |
Definition at line 95 of file pid_climate.h.
|
protected |
Definition at line 93 of file pid_climate.h.
|
protected |
Definition at line 99 of file pid_climate.h.
|
protected |
Definition at line 101 of file pid_climate.h.
|
protected |
Definition at line 94 of file pid_climate.h.
|
protected |
The sensor used for getting the current humidity.
Definition at line 92 of file pid_climate.h.
|
protected |
Output value as reported by the PID controller, for PIDClimateSensor.
Definition at line 97 of file pid_climate.h.
|
protected |
Definition at line 98 of file pid_climate.h.
|
protected |
The sensor used for getting the current temperature.
Definition at line 90 of file pid_climate.h.