Added meter multipliers to config file (#971)

This commit is contained in:
Gunnar Skjold
2025-06-05 07:42:12 +02:00
committed by GitHub
parent e5eab82d68
commit fddecaab39
2 changed files with 20 additions and 0 deletions

View File

@@ -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) {

View File

@@ -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();