2 Commits

Author SHA1 Message Date
Yurii
c3d0d94806 fix; fix typo 2024-11-01 12:49:35 +03:00
Yurii
e4211c872c fix: hysteresis with native heating control has been fixed 2024-11-01 12:47:32 +03:00

View File

@@ -605,7 +605,7 @@ protected:
float indoorTemp = 0.0f; float indoorTemp = 0.0f;
float convertedTemp = 0.0f; float convertedTemp = 0.0f;
if (!vars.sensors.indoor.connected) { if (vars.sensors.indoor.connected) {
indoorTemp = vars.temperatures.indoor; indoorTemp = vars.temperatures.indoor;
convertedTemp = convertTemp(indoorTemp, settings.system.unitSystem, settings.opentherm.unitSystem); convertedTemp = convertTemp(indoorTemp, settings.system.unitSystem, settings.opentherm.unitSystem);
} }
@@ -667,26 +667,25 @@ protected:
} }
} }
} }
}
// Hysteresis
// Only if enabled PID or/and Equitherm or Native heating control via OT
bool useHyst = false;
if (settings.heating.hysteresis > 0.01f && vars.sensors.indoor.connected) {
useHyst = settings.equitherm.enable || settings.pid.enable || settings.opentherm.nativeHeatingControl;
}
// Hysteresis if (useHyst) {
// Only if enabled PID or/and Equitherm or Native heating control via OT if (!this->heatingBlocking && vars.temperatures.indoor - settings.heating.target + 0.0001f >= settings.heating.hysteresis) {
bool useHyst = false; this->heatingBlocking = true;
if (settings.heating.hysteresis > 0.01f && vars.sensors.indoor.connected) {
useHyst = settings.equitherm.enable || settings.pid.enable || settings.opentherm.nativeHeatingControl;
}
if (useHyst) { } else if (this->heatingBlocking && vars.temperatures.indoor - settings.heating.target - 0.0001f <= -(settings.heating.hysteresis)) {
if (!this->heatingBlocking && vars.temperatures.indoor - settings.heating.target + 0.0001f >= settings.heating.hysteresis) {
this->heatingBlocking = true;
} else if (this->heatingBlocking && vars.temperatures.indoor - settings.heating.target - 0.0001f <= -(settings.heating.hysteresis)) {
this->heatingBlocking = false;
}
} else if (this->heatingBlocking) {
this->heatingBlocking = false; this->heatingBlocking = false;
} }
} else if (this->heatingBlocking) {
this->heatingBlocking = false;
} }
} }