Remove currentValue from MeterConfig and related factory reset logic

This commit is contained in:
2026-06-24 00:15:17 +02:00
parent 9fb424fd68
commit 0bf7c3a463
2 changed files with 1 additions and 15 deletions
-1
View File
@@ -229,7 +229,6 @@ Config is stored as JSON in LittleFS at `/config.json`.
{
"pin": 4,
"maxD": 72.5,
"current": 45.0,
"name": "Solar",
"unit": "W",
"rangeMin": 0.0,
+1 -14
View File
@@ -89,7 +89,6 @@ static void loadConfig() {
JsonObject m = arr[i];
meters[i].pin = m["pin"] | 0;
meters[i].maxDuty = m["maxD"] | 0.0f;
meters[i].currentValue = m["current"] | 0.0f;
strlcpy(meters[i].name, m["name"] | "", sizeof(meters[i].name));
strlcpy(meters[i].unit, m["unit"] | "", sizeof(meters[i].unit));
meters[i].rangeMin = m["rangeMin"] | m["range"] | 0.0f;
@@ -119,7 +118,6 @@ static void saveConfig() {
JsonObject m = arr.add<JsonObject>();
m["pin"] = meters[i].pin;
m["maxD"] = meters[i].maxDuty;
m["current"] = meters[i].currentValue;
m["name"] = meters[i].name;
m["unit"] = meters[i].unit;
m["rangeMin"] = meters[i].rangeMin;
@@ -622,11 +620,9 @@ static void factoryReset() {
int count = meterCount;
int pins[MAX_METERS];
float maxD[MAX_METERS];
float cur[MAX_METERS];
for (int i = 0; i < count; i++) {
pins[i] = meters[i].pin;
maxD[i] = meters[i].maxDuty;
cur[i] = meters[i].currentValue;
}
// Reset hostname, auth, MQTT, meter metadata
@@ -653,11 +649,10 @@ static void factoryReset() {
meters[i].rangeMax = 100.0;
}
// Restore pins, calibration, current state
// Restore pins and calibration
for (int i = 0; i < count; i++) {
meters[i].pin = pins[i];
meters[i].maxDuty = maxD[i];
meters[i].currentValue = cur[i];
}
saveConfig();
@@ -685,14 +680,6 @@ static void factoryReset() {
}
}
// Restore current values
for (int i = 0; i < count && i < 8; i++) {
if (meters[i].pin > 0 && meters[i].maxDuty > 0) {
float pct = cur[i] / 100.0f * meters[i].maxDuty / 100.0f;
ledcWrite(i, constrain((int)(pct * 1023), 0, 1023));
}
}
Serial.println("[BOOT] factory reset complete, restarting...");
delay(200);
ESP.restart();