From 3c0f84633542de87384aa35528142f22265ea172 Mon Sep 17 00:00:00 2001 From: Yurii Date: Tue, 23 Apr 2024 08:13:03 +0300 Subject: [PATCH] fix: added set target indoor temp to CH2 for native heating control #58 --- lib/CustomOpenTherm/CustomOpenTherm.h | 10 ++++++++++ src/OpenThermTask.h | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/CustomOpenTherm/CustomOpenTherm.h b/lib/CustomOpenTherm/CustomOpenTherm.h index e491326..5c16962 100644 --- a/lib/CustomOpenTherm/CustomOpenTherm.h +++ b/lib/CustomOpenTherm/CustomOpenTherm.h @@ -136,6 +136,16 @@ public: return isValidResponse(response); } + bool setRoomSetpointCh2(float temperature) { + unsigned long response = this->sendRequest(buildRequest( + OpenThermMessageType::WRITE_DATA, + OpenThermMessageID::TrSetCH2, + temperatureToData(temperature) + )); + + return isValidResponse(response); + } + bool setRoomTemp(float temperature) { unsigned long response = this->sendRequest(buildRequest( OpenThermMessageType::WRITE_DATA, diff --git a/src/OpenThermTask.h b/src/OpenThermTask.h index cf3f400..a283d8b 100644 --- a/src/OpenThermTask.h +++ b/src/OpenThermTask.h @@ -144,7 +144,7 @@ protected: heatingEnabled, settings.opentherm.dhwPresent && settings.dhw.enable, false, - false, + settings.opentherm.nativeHeatingControl, heatingCh2Enabled, settings.opentherm.summerWinterMode, settings.opentherm.dhwBlocking @@ -402,6 +402,13 @@ protected: } else { Log.swarningln(FPSTR(L_OT_HEATING), F("Failed set target indoor temp")); } + + // Set target temp to CH2 + if (settings.opentherm.heatingCh1ToCh2) { + if (!this->instance->setRoomSetpointCh2(convertedTemp)) { + Log.swarningln(FPSTR(L_OT_HEATING), F("Failed set target indoor temp to CH2")); + } + } } // force enable pump