diff --git a/src/MqttTask.h b/src/MqttTask.h index aa257b0..0899e40 100644 --- a/src/MqttTask.h +++ b/src/MqttTask.h @@ -551,9 +551,9 @@ protected: doc["heating"]["turbo"] = settings.heating.turbo; doc["heating"]["target"] = settings.heating.target; doc["heating"]["hysteresis"] = settings.heating.hysteresis; - doc["heating"]["maxModulation"] = settings.heating.maxModulation; doc["heating"]["minTemp"] = settings.heating.minTemp; doc["heating"]["maxTemp"] = settings.heating.maxTemp; + doc["heating"]["maxModulation"] = settings.heating.maxModulation; doc["dhw"]["enable"] = settings.dhw.enable; doc["dhw"]["target"] = settings.dhw.target; diff --git a/src/OpenThermTask.h b/src/OpenThermTask.h index f194b37..7e94821 100644 --- a/src/OpenThermTask.h +++ b/src/OpenThermTask.h @@ -95,11 +95,13 @@ protected: if (updateMinMaxDhwTemp()) { if (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); } if (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); } @@ -110,6 +112,7 @@ protected: if (settings.dhw.minTemp >= settings.dhw.maxTemp) { settings.dhw.minTemp = 30; settings.dhw.maxTemp = 60; + eeSettings.update(); } } @@ -118,11 +121,13 @@ protected: if (updateMinMaxHeatingTemp()) { if (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); } if (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); } @@ -133,6 +138,7 @@ protected: if (settings.heating.minTemp >= settings.heating.maxTemp) { settings.heating.minTemp = 20; settings.heating.maxTemp = 90; + eeSettings.update(); } // force diff --git a/src/Settings.h b/src/Settings.h index 34d1870..af988e2 100644 --- a/src/Settings.h +++ b/src/Settings.h @@ -32,16 +32,16 @@ struct Settings { bool turbo = false; float target = 40.0f; float hysteresis = 0.5f; - byte minTemp = 20.0f; - byte maxTemp = 90.0f; + byte minTemp = DEFAULT_HEATING_MIN_TEMP; + byte maxTemp = DEFAULT_HEATING_MAX_TEMP; byte maxModulation = 100; } heating; struct { bool enable = true; byte target = 40; - byte minTemp = 30.0f; - byte maxTemp = 60.0f; + byte minTemp = DEFAULT_DHW_MIN_TEMP; + byte maxTemp = DEFAULT_DHW_MAX_TEMP; } dhw; struct { @@ -49,8 +49,8 @@ struct Settings { float p_factor = 3; float i_factor = 0.2f; float d_factor = 0; - byte minTemp = 0.0f; - byte maxTemp = 90.0f; + byte minTemp = 0; + byte maxTemp = DEFAULT_HEATING_MAX_TEMP; } pid; struct { @@ -111,11 +111,11 @@ struct Variables { struct { bool heatingEnabled = false; - byte heatingMinTemp = 20; - byte heatingMaxTemp = 90; - byte heatingSetpoint = 0.0f; - byte dhwMinTemp = 30; - byte dhwMaxTemp = 60; + byte heatingMinTemp = DEFAULT_HEATING_MIN_TEMP; + byte heatingMaxTemp = DEFAULT_HEATING_MAX_TEMP; + byte heatingSetpoint = 0; + byte dhwMinTemp = DEFAULT_DHW_MIN_TEMP; + byte dhwMaxTemp = DEFAULT_DHW_MAX_TEMP; uint8_t slaveMemberIdCode; uint8_t slaveType; uint8_t slaveVersion; diff --git a/src/defines.h b/src/defines.h index 5d6c33e..dd3087b 100644 --- a/src/defines.h +++ b/src/defines.h @@ -16,6 +16,11 @@ #define CONFIG_URL "http://%s/" #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 #define WM_DEBUG_MODE WM_DEBUG_NOTIFY