mirror of
https://github.com/esphome/esphome.git
synced 2026-09-28 23:40:25 +00:00
[pid] Pid climate add set deadband parameters action (#14730)
Co-authored-by: J. Nick Koston <nick@koston.org> Co-authored-by: J. Nick Koston <nick@home-assistant.io>
This commit is contained in:
co-authored by
J. Nick Koston
J. Nick Koston
parent
f6e97b7ada
commit
cf3552b46e
@@ -0,0 +1,41 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "esphome/components/pid/pid_climate.h"
|
||||
|
||||
namespace esphome::pid {
|
||||
|
||||
TEST(PIDClimateDeadbandThresholds, InvalidThresholdsDoNotChangeController) {
|
||||
PIDClimate climate;
|
||||
climate.set_threshold_low(-1.0f);
|
||||
climate.set_threshold_high(1.0f);
|
||||
|
||||
EXPECT_FALSE(climate.set_deadband_thresholds(2.0f, 1.0f));
|
||||
|
||||
EXPECT_FLOAT_EQ(climate.get_threshold_low(), -1.0f);
|
||||
EXPECT_FLOAT_EQ(climate.get_threshold_high(), 1.0f);
|
||||
}
|
||||
|
||||
TEST(PIDClimateDeadbandThresholds, ValidThresholdsChangeController) {
|
||||
PIDClimate climate;
|
||||
climate.set_threshold_low(-1.0f);
|
||||
climate.set_threshold_high(1.0f);
|
||||
|
||||
EXPECT_TRUE(climate.set_deadband_thresholds(-2.0f, 0.5f));
|
||||
|
||||
EXPECT_FLOAT_EQ(climate.get_threshold_low(), -2.0f);
|
||||
EXPECT_FLOAT_EQ(climate.get_threshold_high(), 0.5f);
|
||||
}
|
||||
|
||||
TEST(PIDClimateDeadbandThresholds, EqualThresholdsDisableDeadband) {
|
||||
PIDClimate climate;
|
||||
climate.set_threshold_low(-1.0f);
|
||||
climate.set_threshold_high(1.0f);
|
||||
|
||||
EXPECT_TRUE(climate.set_deadband_thresholds(0.0f, 0.0f));
|
||||
|
||||
EXPECT_FLOAT_EQ(climate.get_threshold_low(), 0.0f);
|
||||
EXPECT_FLOAT_EQ(climate.get_threshold_high(), 0.0f);
|
||||
EXPECT_FALSE(climate.in_deadband());
|
||||
}
|
||||
|
||||
} // namespace esphome::pid
|
||||
Reference in New Issue
Block a user