Files
esphome-lsm6ds/esphome/components/pid/sensor/pid_climate_sensor.h
T
Otto Winter a6d31f05ee PID Climate (#885)
* PID Climate

* Add sensor for debugging PID output value

* Add dump_config, use percent

* Add more observable values

* Update

* Set target temperature

* Add autotuner

* Add algorithm explanation

* Add autotuner action, update controller

* Add simulator

* Format

* Change defaults

* Updates
2020-01-04 12:43:11 +01:00

35 lines
755 B
C++

#pragma once
#include "esphome/core/component.h"
#include "esphome/components/pid/pid_climate.h"
namespace esphome {
namespace pid {
enum PIDClimateSensorType {
PID_SENSOR_TYPE_RESULT,
PID_SENSOR_TYPE_ERROR,
PID_SENSOR_TYPE_PROPORTIONAL,
PID_SENSOR_TYPE_INTEGRAL,
PID_SENSOR_TYPE_DERIVATIVE,
PID_SENSOR_TYPE_HEAT,
PID_SENSOR_TYPE_COOL,
};
class PIDClimateSensor : public sensor::Sensor, public Component {
public:
void setup() override;
void set_parent(PIDClimate *parent) { parent_ = parent; }
void set_type(PIDClimateSensorType type) { type_ = type; }
void dump_config() override;
protected:
void update_from_parent_();
PIDClimate *parent_;
PIDClimateSensorType type_;
};
} // namespace pid
} // namespace esphome