18 void setup()
override;
142 auto kp = this->kp_.value(
x...);
143 auto ki = this->ki_.value(
x...);
144 auto kd = this->kd_.value(
x...);
146 this->parent_->set_kp(kp);
147 this->parent_->set_ki(ki);
148 this->parent_->set_kd(kd);
This class is used to encode all control actions on a climate device.
ClimateDevice - This is the base class for all climate integrations.
This class contains all static data for climate devices.
Base class for all output components that can output a variable level, like PWM.
void set_noiseband(float noiseband)
void set_negative_output(float negative_output)
PIDAutotuneAction(PIDClimate *parent)
void set_positive_output(float positive_output)
void set_humidity_sensor(sensor::Sensor *sensor)
void set_kp_multiplier(float in)
void start_autotune(std::unique_ptr< PIDAutotuner > &&autotune)
void add_on_pid_computed_callback(std::function< void()> &&callback)
PIDController controller_
output::FloatOutput * cool_output_
sensor::Sensor * sensor_
The sensor used for getting the current temperature.
void set_threshold_high(float in)
void set_min_integral(float min_integral)
float get_proportional_term() const
float get_threshold_high()
int get_derivative_samples()
void dump_config() override
bool supports_cool_() const
void write_output_(float value)
void set_sensor(sensor::Sensor *sensor)
float default_target_temperature_
void reset_integral_term()
int get_deadband_output_samples()
void set_default_target_temperature(float default_target_temperature)
void set_derivative_samples(int in)
void set_heat_output(output::FloatOutput *heat_output)
std::unique_ptr< PIDAutotuner > autotuner_
void set_max_integral(float max_integral)
void set_output_samples(int in)
float get_error_value() const
float get_derivative_term() const
float get_kd_multiplier()
void control(const climate::ClimateCall &call) override
Override control to change settings of the climate device.
void set_deadband_output_samples(int in)
float get_integral_term() const
CallbackManager< void()> pid_computed_callback_
float output_value_
Output value as reported by the PID controller, for PIDClimateSensor.
sensor::Sensor * humidity_sensor_
The sensor used for getting the current humidity.
float get_threshold_low()
climate::ClimateTraits traits() override
Return the traits of this controller.
void set_cool_output(output::FloatOutput *cool_output)
float get_kp_multiplier()
void set_starting_integral_term(float in)
float get_ki_multiplier()
bool supports_heat_() const
void set_threshold_low(float in)
float get_output_value() const
void set_ki_multiplier(float in)
output::FloatOutput * heat_output_
void set_kd_multiplier(float in)
PIDResetIntegralTermAction(PIDClimate *parent)
TEMPLATABLE_VALUE(float, kp) TEMPLATABLE_VALUE(float
PIDSetControlParametersAction(PIDClimate *parent)
Base-class for all sensors.
Providing packet encoding functions for exchanging data with a remote host.
std::unique_ptr< T > make_unique(Args &&...args)
void set_starting_integral_term(float in)