This commit is contained in:
Yurii
2023-11-22 23:29:31 +03:00
parent c556c38cbc
commit b5a0550c72
4 changed files with 23 additions and 12 deletions

View File

@@ -551,9 +551,9 @@ protected:
doc["heating"]["turbo"] = settings.heating.turbo; doc["heating"]["turbo"] = settings.heating.turbo;
doc["heating"]["target"] = settings.heating.target; doc["heating"]["target"] = settings.heating.target;
doc["heating"]["hysteresis"] = settings.heating.hysteresis; doc["heating"]["hysteresis"] = settings.heating.hysteresis;
doc["heating"]["maxModulation"] = settings.heating.maxModulation;
doc["heating"]["minTemp"] = settings.heating.minTemp; doc["heating"]["minTemp"] = settings.heating.minTemp;
doc["heating"]["maxTemp"] = settings.heating.maxTemp; doc["heating"]["maxTemp"] = settings.heating.maxTemp;
doc["heating"]["maxModulation"] = settings.heating.maxModulation;
doc["dhw"]["enable"] = settings.dhw.enable; doc["dhw"]["enable"] = settings.dhw.enable;
doc["dhw"]["target"] = settings.dhw.target; doc["dhw"]["target"] = settings.dhw.target;

View File

@@ -95,11 +95,13 @@ protected:
if (updateMinMaxDhwTemp()) { if (updateMinMaxDhwTemp()) {
if (settings.dhw.minTemp < vars.parameters.dhwMinTemp) { if (settings.dhw.minTemp < vars.parameters.dhwMinTemp) {
settings.dhw.minTemp = vars.parameters.dhwMinTemp; settings.dhw.minTemp = vars.parameters.dhwMinTemp;
eeSettings.update();
Log.snoticeln("OT.DHW", "Updated min temp: %d", settings.dhw.minTemp); Log.snoticeln("OT.DHW", "Updated min temp: %d", settings.dhw.minTemp);
} }
if (settings.dhw.maxTemp > vars.parameters.dhwMaxTemp) { if (settings.dhw.maxTemp > vars.parameters.dhwMaxTemp) {
settings.dhw.maxTemp = vars.parameters.dhwMaxTemp; settings.dhw.maxTemp = vars.parameters.dhwMaxTemp;
eeSettings.update();
Log.snoticeln("OT.DHW", "Updated max temp: %d", settings.dhw.maxTemp); Log.snoticeln("OT.DHW", "Updated max temp: %d", settings.dhw.maxTemp);
} }
@@ -110,6 +112,7 @@ protected:
if (settings.dhw.minTemp >= settings.dhw.maxTemp) { if (settings.dhw.minTemp >= settings.dhw.maxTemp) {
settings.dhw.minTemp = 30; settings.dhw.minTemp = 30;
settings.dhw.maxTemp = 60; settings.dhw.maxTemp = 60;
eeSettings.update();
} }
} }
@@ -118,11 +121,13 @@ protected:
if (updateMinMaxHeatingTemp()) { if (updateMinMaxHeatingTemp()) {
if (settings.heating.minTemp < vars.parameters.heatingMinTemp) { if (settings.heating.minTemp < vars.parameters.heatingMinTemp) {
settings.heating.minTemp = vars.parameters.heatingMinTemp; settings.heating.minTemp = vars.parameters.heatingMinTemp;
eeSettings.update();
Log.snoticeln("OT.HEATING", "Updated min temp: %d", settings.heating.minTemp); Log.snoticeln("OT.HEATING", "Updated min temp: %d", settings.heating.minTemp);
} }
if (settings.heating.maxTemp > vars.parameters.heatingMaxTemp) { if (settings.heating.maxTemp > vars.parameters.heatingMaxTemp) {
settings.heating.maxTemp = vars.parameters.heatingMaxTemp; settings.heating.maxTemp = vars.parameters.heatingMaxTemp;
eeSettings.update();
Log.snoticeln("OT.HEATING", "Updated max temp: %d", settings.heating.maxTemp); Log.snoticeln("OT.HEATING", "Updated max temp: %d", settings.heating.maxTemp);
} }
@@ -133,6 +138,7 @@ protected:
if (settings.heating.minTemp >= settings.heating.maxTemp) { if (settings.heating.minTemp >= settings.heating.maxTemp) {
settings.heating.minTemp = 20; settings.heating.minTemp = 20;
settings.heating.maxTemp = 90; settings.heating.maxTemp = 90;
eeSettings.update();
} }
// force // force

View File

@@ -32,16 +32,16 @@ struct Settings {
bool turbo = false; bool turbo = false;
float target = 40.0f; float target = 40.0f;
float hysteresis = 0.5f; float hysteresis = 0.5f;
byte minTemp = 20.0f; byte minTemp = DEFAULT_HEATING_MIN_TEMP;
byte maxTemp = 90.0f; byte maxTemp = DEFAULT_HEATING_MAX_TEMP;
byte maxModulation = 100; byte maxModulation = 100;
} heating; } heating;
struct { struct {
bool enable = true; bool enable = true;
byte target = 40; byte target = 40;
byte minTemp = 30.0f; byte minTemp = DEFAULT_DHW_MIN_TEMP;
byte maxTemp = 60.0f; byte maxTemp = DEFAULT_DHW_MAX_TEMP;
} dhw; } dhw;
struct { struct {
@@ -49,8 +49,8 @@ struct Settings {
float p_factor = 3; float p_factor = 3;
float i_factor = 0.2f; float i_factor = 0.2f;
float d_factor = 0; float d_factor = 0;
byte minTemp = 0.0f; byte minTemp = 0;
byte maxTemp = 90.0f; byte maxTemp = DEFAULT_HEATING_MAX_TEMP;
} pid; } pid;
struct { struct {
@@ -111,11 +111,11 @@ struct Variables {
struct { struct {
bool heatingEnabled = false; bool heatingEnabled = false;
byte heatingMinTemp = 20; byte heatingMinTemp = DEFAULT_HEATING_MIN_TEMP;
byte heatingMaxTemp = 90; byte heatingMaxTemp = DEFAULT_HEATING_MAX_TEMP;
byte heatingSetpoint = 0.0f; byte heatingSetpoint = 0;
byte dhwMinTemp = 30; byte dhwMinTemp = DEFAULT_DHW_MIN_TEMP;
byte dhwMaxTemp = 60; byte dhwMaxTemp = DEFAULT_DHW_MAX_TEMP;
uint8_t slaveMemberIdCode; uint8_t slaveMemberIdCode;
uint8_t slaveType; uint8_t slaveType;
uint8_t slaveVersion; uint8_t slaveVersion;

View File

@@ -16,6 +16,11 @@
#define CONFIG_URL "http://%s/" #define CONFIG_URL "http://%s/"
#define SETTINGS_VALID_VALUE "stvalid" // only 8 chars! #define SETTINGS_VALID_VALUE "stvalid" // only 8 chars!
#define DEFAULT_HEATING_MIN_TEMP 20
#define DEFAULT_HEATING_MAX_TEMP 90
#define DEFAULT_DHW_MIN_TEMP 30
#define DEFAULT_DHW_MAX_TEMP 60
#ifndef WM_DEBUG_MODE #ifndef WM_DEBUG_MODE
#define WM_DEBUG_MODE WM_DEBUG_NOTIFY #define WM_DEBUG_MODE WM_DEBUG_NOTIFY