From b808e9ab186dbef285d83e7cae8d318bc761a74c Mon Sep 17 00:00:00 2001 From: Bernhard Kirchen Date: Mon, 1 Jul 2024 22:07:55 +0200 Subject: [PATCH] HTTP+JSON power meter: value 1 is always enabled enabling the HTTP+JSON power meter without enabling at least one value makes no sense, so value 1 has always been treated as "always enabled". while doing the power meter refactoring, however, a regression was introduced that would hide the settings for value 1 in the web UI until the power meter settings would be saved, which they cannot be due to missing settings for value 1. --- src/Configuration.cpp | 2 ++ src/WebApi_powermeter.cpp | 1 - webapp/src/views/PowerMeterAdminView.vue | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Configuration.cpp b/src/Configuration.cpp index 0aa9bb29..97f95bfa 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -338,6 +338,8 @@ void ConfigurationClass::deserializePowerMeterHttpJsonConfig(JsonObject const& s t.PowerUnit = s["unit"] | PowerMeterHttpJsonValue::Unit::Watts; t.SignInverted = s["sign_inverted"] | false; } + + target.Values[0].Enabled = true; } void ConfigurationClass::deserializePowerMeterHttpSmlConfig(JsonObject const& source, PowerMeterHttpSmlConfig& target) diff --git a/src/WebApi_powermeter.cpp b/src/WebApi_powermeter.cpp index b0e2bbcd..b3276d4f 100644 --- a/src/WebApi_powermeter.cpp +++ b/src/WebApi_powermeter.cpp @@ -160,7 +160,6 @@ void WebApiPowerMeterClass::onAdminPost(AsyncWebServerRequest* request) Configuration.deserializePowerMeterHttpJsonConfig(root["http_json"].as(), config.PowerMeter.HttpJson); - config.PowerMeter.HttpJson.Values[0].Enabled = true; Configuration.deserializePowerMeterHttpSmlConfig(root["http_sml"].as(), config.PowerMeter.HttpSml); diff --git a/webapp/src/views/PowerMeterAdminView.vue b/webapp/src/views/PowerMeterAdminView.vue index 65af7b08..f819463e 100644 --- a/webapp/src/views/PowerMeterAdminView.vue +++ b/webapp/src/views/PowerMeterAdminView.vue @@ -144,7 +144,7 @@ v-model="httpJson.enabled" type="checkbox" wide /> -
+