From 58b0c184487dcbcbe0594586399981c20a690401 Mon Sep 17 00:00:00 2001 From: Yurii Date: Fri, 20 Jun 2025 02:46:25 +0300 Subject: [PATCH] fix: added C/F temperature conversion in overheating protection --- src/OpenThermTask.h | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/src/OpenThermTask.h b/src/OpenThermTask.h index fc9336a..801e6e7 100644 --- a/src/OpenThermTask.h +++ b/src/OpenThermTask.h @@ -1320,11 +1320,15 @@ protected: // Heating overheat control if (settings.heating.overheatHighTemp > 0 && settings.heating.overheatLowTemp > 0) { - float highTemp = max({ - vars.slave.heating.currentTemp, - vars.slave.heating.returnTemp, - vars.slave.heatExchangerTemp - }); + float highTemp = convertTemp( + max({ + vars.slave.heating.currentTemp, + vars.slave.heating.returnTemp, + vars.slave.heatExchangerTemp + }), + settings.opentherm.unitSystem, + settings.system.unitSystem + ); if (vars.master.heating.overheat) { if ((float) settings.heating.overheatLowTemp - highTemp + 0.0001f >= 0.0f) { @@ -1353,14 +1357,18 @@ protected: // DHW overheat control if (settings.dhw.overheatHighTemp > 0 && settings.dhw.overheatLowTemp > 0) { - float highTemp = max({ - vars.slave.heating.currentTemp, - vars.slave.heating.returnTemp, - vars.slave.heatExchangerTemp, - vars.slave.dhw.currentTemp, - vars.slave.dhw.currentTemp2, - vars.slave.dhw.returnTemp - }); + float highTemp = convertTemp( + max({ + vars.slave.heating.currentTemp, + vars.slave.heating.returnTemp, + vars.slave.heatExchangerTemp, + vars.slave.dhw.currentTemp, + vars.slave.dhw.currentTemp2, + vars.slave.dhw.returnTemp + }), + settings.opentherm.unitSystem, + settings.system.unitSystem + ); if (vars.master.dhw.overheat) { if ((float) settings.dhw.overheatLowTemp - highTemp + 0.0001f >= 0.0f) {