diff --git a/src/AmsConfiguration.cpp b/src/AmsConfiguration.cpp index 03ce2204..f587508b 100644 --- a/src/AmsConfiguration.cpp +++ b/src/AmsConfiguration.cpp @@ -220,6 +220,7 @@ bool AmsConfiguration::getDebugConfig(DebugConfig& config) { EEPROM.end(); return true; } else { + clearDebug(config); return false; } } @@ -232,6 +233,12 @@ bool AmsConfiguration::setDebugConfig(DebugConfig& config) { return ret; } +void AmsConfiguration::clearDebug(DebugConfig& config) { + config.level = 5; + config.telnet = false; + config.serial = false; +} + bool AmsConfiguration::getDomoticzConfig(DomoticzConfig& config) { if(hasConfig()) { EEPROM.begin(EEPROM_SIZE); diff --git a/src/AmsConfiguration.h b/src/AmsConfiguration.h index b7f4620c..dc873aef 100644 --- a/src/AmsConfiguration.h +++ b/src/AmsConfiguration.h @@ -286,6 +286,7 @@ public: bool getDebugConfig(DebugConfig&); bool setDebugConfig(DebugConfig&); + void clearDebug(DebugConfig&); bool pinUsed(uint8_t, GpioConfig&); diff --git a/src/web/AmsWebServer.cpp b/src/web/AmsWebServer.cpp index 961489de..21be35ec 100644 --- a/src/web/AmsWebServer.cpp +++ b/src/web/AmsWebServer.cpp @@ -741,6 +741,9 @@ void AmsWebServer::handleSetup() { } else { SystemConfig sys { server.arg("board").toInt() }; + DebugConfig debugConfig; + config->getDebugConfig(debugConfig); + config->clear(); config->clearGpio(*gpioConfig); @@ -882,6 +885,8 @@ void AmsWebServer::handleSetup() { success = false; } + config->setDebugConfig(debugConfig); + if(success && config->save()) { performRestart = true; server.sendHeader("Location","/restart-wait");