diff --git a/lib/SvelteUi/src/AmsWebServer.cpp b/lib/SvelteUi/src/AmsWebServer.cpp index a4243a8f..63fb42ad 100644 --- a/lib/SvelteUi/src/AmsWebServer.cpp +++ b/lib/SvelteUi/src/AmsWebServer.cpp @@ -2283,6 +2283,14 @@ void AmsWebServer::configFileDownload() { if(meter.encryptionKey[0] != 0x00) server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("meterEncryptionKey %s\n"), toHex(meter.encryptionKey, 16).c_str())); if(meter.authenticationKey[0] != 0x00) server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("meterAuthenticationKey %s\n"), toHex(meter.authenticationKey, 16).c_str())); } + if(meter.wattageMultiplier != 1.0 && meter.wattageMultiplier != 0.0) + server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("meterWattageMultiplier %.3f\n"), meter.wattageMultiplier / 1000.0)); + if(meter.voltageMultiplier != 1.0 && meter.voltageMultiplier != 0.0) + server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("meterVoltageMultiplier %.3f\n"), meter.voltageMultiplier / 1000.0)); + if(meter.amperageMultiplier != 1.0 && meter.amperageMultiplier != 0.0) + server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("meterAmperageMultiplier %.3f\n"), meter.amperageMultiplier / 1000.0)); + if(meter.accumulatedMultiplier != 1.0 && meter.accumulatedMultiplier != 0.0) + server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("meterAccumulatedMultiplier %.3f\n"), meter.accumulatedMultiplier / 1000.0)); } if(includeGpio) { diff --git a/src/AmsToMqttBridge.cpp b/src/AmsToMqttBridge.cpp index 68127a62..e69f397d 100644 --- a/src/AmsToMqttBridge.cpp +++ b/src/AmsToMqttBridge.cpp @@ -1719,6 +1719,18 @@ void configFileParse() { } else if(strncmp_P(buf, PSTR("meterAuthenticationKey "), 23) == 0) { if(!lMeter) { config.getMeterConfig(meter); lMeter = true; }; fromHex(meter.authenticationKey, String(buf+23), 16); + } else if(strncmp_P(buf, PSTR("meterWattageMultiplier "), 23) == 0) { + if(!lMeter) { config.getMeterConfig(meter); lMeter = true; }; + meter.wattageMultiplier = String(buf+23).toDouble() * 1000; + } else if(strncmp_P(buf, PSTR("meterVoltageMultiplier "), 23) == 0) { + if(!lMeter) { config.getMeterConfig(meter); lMeter = true; }; + meter.voltageMultiplier = String(buf+23).toDouble() * 1000; + } else if(strncmp_P(buf, PSTR("meterAmperageMultiplier "), 24) == 0) { + if(!lMeter) { config.getMeterConfig(meter); lMeter = true; }; + meter.amperageMultiplier = String(buf+24).toDouble() * 1000; + } else if(strncmp_P(buf, PSTR("meterAccumulatedMultiplier "), 27) == 0) { + if(!lMeter) { config.getMeterConfig(meter); lMeter = true; }; + meter.accumulatedMultiplier = String(buf+27).toDouble() * 1000; } else if(strncmp_P(buf, PSTR("gpioHanPin "), 11) == 0) { if(!lMeter) { config.getMeterConfig(meter); lMeter = true; }; meter.rxPin = String(buf+11).toInt();