3 Commits

Author SHA1 Message Date
Yurii
f4af237472 chore: bump version to 1.4.6 2024-11-16 14:19:40 +03:00
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
2 changed files with 16 additions and 17 deletions

View File

@@ -14,7 +14,7 @@ extra_configs = secrets.default.ini
core_dir = .pio core_dir = .pio
[env] [env]
version = 1.4.5 version = 1.4.6
framework = arduino framework = arduino
lib_deps = lib_deps =
bblanchon/ArduinoJson@^7.1.0 bblanchon/ArduinoJson@^7.1.0

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;
} }
} }