mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-12 19:24:27 +05:00
added interval for forced set temperatures
This commit is contained in:
@@ -116,7 +116,7 @@ protected:
|
|||||||
//
|
//
|
||||||
// Температура ГВС
|
// Температура ГВС
|
||||||
byte newDHWTemp = settings.dhw.target;
|
byte newDHWTemp = settings.dhw.target;
|
||||||
if (settings.opentherm.dhwPresent && settings.dhw.enable && newDHWTemp != currentDHWTemp) {
|
if (settings.opentherm.dhwPresent && settings.dhw.enable && (needSetDhwTemp() || newDHWTemp != currentDHWTemp)) {
|
||||||
if (newDHWTemp < vars.parameters.dhwMinTemp || newDHWTemp > vars.parameters.dhwMaxTemp) {
|
if (newDHWTemp < vars.parameters.dhwMinTemp || newDHWTemp > vars.parameters.dhwMaxTemp) {
|
||||||
newDHWTemp = constrain(newDHWTemp, vars.parameters.dhwMinTemp, vars.parameters.dhwMaxTemp);
|
newDHWTemp = constrain(newDHWTemp, vars.parameters.dhwMinTemp, vars.parameters.dhwMaxTemp);
|
||||||
}
|
}
|
||||||
@@ -126,6 +126,7 @@ protected:
|
|||||||
// Записываем заданную температуру ГВС
|
// Записываем заданную температуру ГВС
|
||||||
if (ot->setDHWSetpoint(newDHWTemp)) {
|
if (ot->setDHWSetpoint(newDHWTemp)) {
|
||||||
currentDHWTemp = newDHWTemp;
|
currentDHWTemp = newDHWTemp;
|
||||||
|
dhwSetTempTime = millis();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
WARN("Failed set DHW temp");
|
WARN("Failed set DHW temp");
|
||||||
@@ -134,12 +135,13 @@ protected:
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Температура отопления
|
// Температура отопления
|
||||||
if (heatingEnabled && fabs(vars.parameters.heatingSetpoint - currentHeatingTemp) > 0.0001) {
|
if (heatingEnabled && (needSetHeatingTemp() || fabs(vars.parameters.heatingSetpoint - currentHeatingTemp) > 0.0001)) {
|
||||||
INFO_F("Setting heating temp = %u \n", vars.parameters.heatingSetpoint);
|
INFO_F("Setting heating temp = %u \n", vars.parameters.heatingSetpoint);
|
||||||
|
|
||||||
// Записываем заданную температуру
|
// Записываем заданную температуру
|
||||||
if (ot->setBoilerTemperature(vars.parameters.heatingSetpoint)) {
|
if (ot->setBoilerTemperature(vars.parameters.heatingSetpoint)) {
|
||||||
currentHeatingTemp = vars.parameters.heatingSetpoint;
|
currentHeatingTemp = vars.parameters.heatingSetpoint;
|
||||||
|
heatingSetTempTime = millis();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
WARN("Failed set heating temp");
|
WARN("Failed set heating temp");
|
||||||
@@ -203,13 +205,27 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
unsigned short readyTime = 60000;
|
||||||
|
unsigned short dhwSetTempInterval = 60000;
|
||||||
|
unsigned short heatingSetTempInterval = 60000;
|
||||||
|
|
||||||
bool pump = true;
|
bool pump = true;
|
||||||
unsigned long prevUpdateNonEssentialVars = 0;
|
unsigned long prevUpdateNonEssentialVars = 0;
|
||||||
unsigned long startupTime = millis();
|
unsigned long startupTime = millis();
|
||||||
|
unsigned long dhwSetTempTime = 0;
|
||||||
|
unsigned long heatingSetTempTime = 0;
|
||||||
|
|
||||||
|
|
||||||
bool isReady() {
|
bool isReady() {
|
||||||
return millis() - startupTime > 60000;
|
return millis() - startupTime > readyTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool needSetDhwTemp() {
|
||||||
|
return millis() - dhwSetTempTime > dhwSetTempInterval;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool needSetHeatingTemp() {
|
||||||
|
return millis() - heatingSetTempTime > heatingSetTempInterval;
|
||||||
}
|
}
|
||||||
|
|
||||||
void static printRequestDetail(OpenThermMessageID id, OpenThermResponseStatus status, unsigned long request, unsigned long response, byte attempt) {
|
void static printRequestDetail(OpenThermMessageID id, OpenThermResponseStatus status, unsigned long request, unsigned long response, byte attempt) {
|
||||||
|
|||||||
Reference in New Issue
Block a user