mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-05-22 21:58:29 +02:00
Allow updating pid control params (#1115)
This commit is contained in:
committed by
GitHub
parent
e6f42fa6f0
commit
351ecf9bd4
@@ -15,6 +15,9 @@ PID_CLIMATE_SENSOR_TYPES = {
|
||||
'DERIVATIVE': PIDClimateSensorType.PID_SENSOR_TYPE_DERIVATIVE,
|
||||
'HEAT': PIDClimateSensorType.PID_SENSOR_TYPE_HEAT,
|
||||
'COOL': PIDClimateSensorType.PID_SENSOR_TYPE_COOL,
|
||||
'KP': PIDClimateSensorType.PID_SENSOR_TYPE_KP,
|
||||
'KI': PIDClimateSensorType.PID_SENSOR_TYPE_KI,
|
||||
'KD': PIDClimateSensorType.PID_SENSOR_TYPE_KD,
|
||||
}
|
||||
|
||||
CONF_CLIMATE_ID = 'climate_id'
|
||||
|
||||
@@ -35,6 +35,18 @@ void PIDClimateSensor::update_from_parent_() {
|
||||
case PID_SENSOR_TYPE_COOL:
|
||||
value = clamp(-this->parent_->get_output_value(), 0.0f, 1.0f);
|
||||
break;
|
||||
case PID_SENSOR_TYPE_KP:
|
||||
value = this->parent_->get_kp();
|
||||
this->publish_state(value);
|
||||
return;
|
||||
case PID_SENSOR_TYPE_KI:
|
||||
value = this->parent_->get_ki();
|
||||
this->publish_state(value);
|
||||
return;
|
||||
case PID_SENSOR_TYPE_KD:
|
||||
value = this->parent_->get_kd();
|
||||
this->publish_state(value);
|
||||
return;
|
||||
default:
|
||||
value = NAN;
|
||||
break;
|
||||
|
||||
@@ -14,6 +14,9 @@ enum PIDClimateSensorType {
|
||||
PID_SENSOR_TYPE_DERIVATIVE,
|
||||
PID_SENSOR_TYPE_HEAT,
|
||||
PID_SENSOR_TYPE_COOL,
|
||||
PID_SENSOR_TYPE_KP,
|
||||
PID_SENSOR_TYPE_KI,
|
||||
PID_SENSOR_TYPE_KD,
|
||||
};
|
||||
|
||||
class PIDClimateSensor : public sensor::Sensor, public Component {
|
||||
|
||||
Reference in New Issue
Block a user