diff --git a/src/WebApi_Huawei.cpp b/src/WebApi_Huawei.cpp index 77d96a1a..c9cd1df4 100644 --- a/src/WebApi_Huawei.cpp +++ b/src/WebApi_Huawei.cpp @@ -261,11 +261,8 @@ void WebApiHuaweiClass::onAdminPost(AsyncWebServerRequest* request) config.Huawei.Auto_Power_Enable_Voltage_Limit = root["enable_voltage_limit"].as(); config.Huawei.Auto_Power_Lower_Power_Limit = root["lower_power_limit"].as(); config.Huawei.Auto_Power_Upper_Power_Limit = root["upper_power_limit"].as(); - Configuration.write(); - - retMsg["type"] = "success"; - retMsg["message"] = "Settings saved!"; - retMsg["code"] = WebApiError::GenericSuccess; + + WebApi.writeConfig(retMsg); response->setLength(); request->send(response); diff --git a/src/WebApi_battery.cpp b/src/WebApi_battery.cpp index b8be0562..f7b5ade3 100644 --- a/src/WebApi_battery.cpp +++ b/src/WebApi_battery.cpp @@ -108,11 +108,8 @@ void WebApiBatteryClass::onAdminPost(AsyncWebServerRequest* request) config.Battery.JkBmsInterface = root["jkbms_interface"].as(); config.Battery.JkBmsPollingInterval = root["jkbms_polling_interval"].as(); strlcpy(config.Battery.MqttTopic, root["mqtt_topic"].as().c_str(), sizeof(config.Battery.MqttTopic)); - Configuration.write(); - - retMsg["type"] = "success"; - retMsg["message"] = "Settings saved!"; - retMsg["code"] = WebApiError::GenericSuccess; + + WebApi.writeConfig(retMsg); response->setLength(); request->send(response); diff --git a/src/WebApi_powerlimiter.cpp b/src/WebApi_powerlimiter.cpp index b566ccd4..c2c6456b 100644 --- a/src/WebApi_powerlimiter.cpp +++ b/src/WebApi_powerlimiter.cpp @@ -149,15 +149,10 @@ void WebApiPowerLimiterClass::onAdminPost(AsyncWebServerRequest* request) config.PowerLimiter.FullSolarPassThroughStartVoltage = static_cast(root["full_solar_passthrough_start_voltage"].as() * 100) / 100.0; config.PowerLimiter.FullSolarPassThroughStopVoltage = static_cast(root["full_solar_passthrough_stop_voltage"].as() * 100) / 100.0; - - - Configuration.write(); - - PowerLimiter.calcNextInverterRestart(); - - retMsg["type"] = "success"; - retMsg["message"] = "Settings saved!"; + WebApi.writeConfig(retMsg); response->setLength(); request->send(response); + + PowerLimiter.calcNextInverterRestart(); } diff --git a/src/WebApi_powermeter.cpp b/src/WebApi_powermeter.cpp index 9009198b..ee8f893c 100644 --- a/src/WebApi_powermeter.cpp +++ b/src/WebApi_powermeter.cpp @@ -195,10 +195,7 @@ void WebApiPowerMeterClass::onAdminPost(AsyncWebServerRequest* request) strlcpy(config.PowerMeter.Http_Phase[i].JsonPath, phase["json_path"].as().c_str(), sizeof(config.PowerMeter.Http_Phase[i].JsonPath)); } - Configuration.write(); - - retMsg["type"] = "success"; - retMsg["message"] = "Settings saved!"; + WebApi.writeConfig(retMsg); response->setLength(); request->send(response); diff --git a/src/WebApi_vedirect.cpp b/src/WebApi_vedirect.cpp index 4303cc06..b2276687 100644 --- a/src/WebApi_vedirect.cpp +++ b/src/WebApi_vedirect.cpp @@ -115,14 +115,11 @@ void WebApiVedirectClass::onVedirectAdminPost(AsyncWebServerRequest* request) config.Vedirect.Enabled = root["vedirect_enabled"].as(); config.Vedirect.VerboseLogging = root["verbose_logging"].as(); config.Vedirect.UpdatesOnly = root["vedirect_updatesonly"].as(); - Configuration.write(); - VictronMppt.updateSettings(); - - retMsg["type"] = "success"; - retMsg["message"] = "Settings saved!"; - retMsg["code"] = WebApiError::GenericSuccess; + WebApi.writeConfig(retMsg); response->setLength(); request->send(response); + + VictronMppt.updateSettings(); }