diff --git a/lib/SvelteUi/include/AmsWebHeaders.h b/lib/SvelteUi/include/AmsWebHeaders.h index a025c5d3..7989525d 100644 --- a/lib/SvelteUi/include/AmsWebHeaders.h +++ b/lib/SvelteUi/include/AmsWebHeaders.h @@ -33,4 +33,3 @@ static const char MIME_CSS[] PROGMEM = "text/css"; static const char MIME_JS[] PROGMEM = "text/javascript"; static const char ORIGIN_AMSLESER_CLOUD[] PROGMEM = "https://www.amsleser.cloud"; -static const char FSTR_TRUE[] PROGMEM = "true"; \ No newline at end of file diff --git a/lib/SvelteUi/src/AmsWebServer.cpp b/lib/SvelteUi/src/AmsWebServer.cpp index 70b7a5b1..ab27be13 100644 --- a/lib/SvelteUi/src/AmsWebServer.cpp +++ b/lib/SvelteUi/src/AmsWebServer.cpp @@ -474,7 +474,7 @@ void AmsWebServer::sysinfoJson() { ea->getCostLastMonth(), ea->getProducedLastMonth(), ea->getIncomeLastMonth(), - tz == NULL ? 0 : (tz->toLocal(now)-now)/3600, + (uint16_t) (tz == NULL ? 0 : (tz->toLocal(now)-now)/3600), features.c_str() ); @@ -1174,10 +1174,10 @@ void AmsWebServer::handleSave() { return; bool success = true; - if(server.hasArg(F("v")) && server.arg(F("v")) == FSTR_TRUE) { + if(server.hasArg(F("v")) && server.arg(F("v")) == F("true")) { int boardType = server.arg(F("vb")).toInt(); int hanPin = server.arg(F("vh")).toInt(); - if(server.hasArg(F("vr")) && server.arg(F("vr")) == FSTR_TRUE) { + if(server.hasArg(F("vr")) && server.arg(F("vr")) == F("true")) { config->clear(); } @@ -1197,7 +1197,7 @@ void AmsWebServer::handleSave() { } } - if(server.hasArg(F("s")) && server.arg(F("s")) == FSTR_TRUE) { + if(server.hasArg(F("s")) && server.arg(F("s")) == F("true")) { SystemConfig sys; config->getSystemConfig(sys); MeterConfig meterConfig; @@ -1269,25 +1269,25 @@ void AmsWebServer::handleSave() { } else if(server.hasArg(F("sf")) && !server.arg(F("sf")).isEmpty()) { SystemConfig sys; config->getSystemConfig(sys); - sys.dataCollectionConsent = server.hasArg(F("sf")) && (server.arg(F("sf")) == FSTR_TRUE || server.arg(F("sf")) == F("1")) ? 1 : 2; + sys.dataCollectionConsent = server.hasArg(F("sf")) && (server.arg(F("sf")) == F("true") || server.arg(F("sf")) == F("1")) ? 1 : 2; config->setSystemConfig(sys); } - if(server.hasArg(F("m")) && server.arg(F("m")) == FSTR_TRUE) { + if(server.hasArg(F("m")) && server.arg(F("m")) == F("true")) { MeterConfig meterConfig; config->getMeterConfig(meterConfig); meterConfig.source = server.arg(F("mo")).toInt(); meterConfig.parser = server.arg(F("ma")).toInt(); meterConfig.baud = server.arg(F("mb")).toInt(); meterConfig.parity = server.arg(F("mp")).toInt(); - meterConfig.invert = server.hasArg(F("mi")) && server.arg(F("mi")) == FSTR_TRUE; + meterConfig.invert = server.hasArg(F("mi")) && server.arg(F("mi")) == F("true"); meterConfig.distributionSystem = server.arg(F("md")).toInt(); meterConfig.mainFuse = server.arg(F("mf")).toInt(); meterConfig.productionCapacity = server.arg(F("mr")).toInt(); meterConfig.bufferSize = min((double) 64, ceil((server.arg(F("ms")).toInt()) / 64)); maxPwr = 0; - if(server.hasArg(F("me")) && server.arg(F("me")) == FSTR_TRUE) { + if(server.hasArg(F("me")) && server.arg(F("me")) == F("true")) { String encryptionKeyHex = server.arg(F("mek")); if(!encryptionKeyHex.isEmpty()) { encryptionKeyHex.replace(F("0x"), F("")); @@ -1315,7 +1315,7 @@ void AmsWebServer::handleSave() { config->setMeterConfig(meterConfig); } - if(server.hasArg(F("w")) && server.arg(F("w")) == FSTR_TRUE) { + if(server.hasArg(F("w")) && server.arg(F("w")) == F("true")) { long mode = server.arg(F("nc")).toInt(); if(mode > 0 && mode < 3) { NetworkConfig network; @@ -1328,7 +1328,7 @@ void AmsWebServer::handleSave() { } network.power = server.arg(F("ww")).toFloat() * 10; network.sleep = server.arg(F("wz")).toInt(); - network.use11b = server.hasArg(F("wb")) && server.arg(F("wb")) == FSTR_TRUE; + network.use11b = server.hasArg(F("wb")) && server.arg(F("wb")) == F("true"); if(server.hasArg(F("nm"))) { if(server.arg(F("nm")) == "static") { @@ -1345,23 +1345,23 @@ void AmsWebServer::handleSave() { strcpy(network.dns2, ""); } } - network.ipv6 = server.hasArg(F("nx")) && server.arg(F("nx")) == FSTR_TRUE; - network.mdns = server.hasArg(F("nd")) && server.arg(F("nd")) == FSTR_TRUE; + network.ipv6 = server.hasArg(F("nx")) && server.arg(F("nx")) == F("true"); + network.mdns = server.hasArg(F("nd")) && server.arg(F("nd")) == F("true"); config->setNetworkConfig(network); } } - if(server.hasArg(F("ntp")) && server.arg(F("ntp")) == FSTR_TRUE) { + if(server.hasArg(F("ntp")) && server.arg(F("ntp")) == F("true")) { NtpConfig ntp; config->getNtpConfig(ntp); ntp.enable = true; - ntp.dhcp = server.hasArg(F("ntpd")) && server.arg(F("ntpd")) == FSTR_TRUE; + ntp.dhcp = server.hasArg(F("ntpd")) && server.arg(F("ntpd")) == F("true"); strcpy(ntp.server, server.arg(F("ntph")).c_str()); config->setNtpConfig(ntp); } - if(server.hasArg(F("q")) && server.arg(F("q")) == FSTR_TRUE) { + if(server.hasArg(F("q")) && server.arg(F("q")) == F("true")) { MqttConfig mqtt; config->getMqttConfig(mqtt); if(server.hasArg(F("qh")) && !server.arg(F("qh")).isEmpty()) { @@ -1378,7 +1378,7 @@ void AmsWebServer::handleSave() { #if defined(ESP8266) mqtt.ssl = false; #else - mqtt.ssl = server.arg(F("qs")) == FSTR_TRUE; + mqtt.ssl = server.arg(F("qs")) == F("true"); #endif mqtt.port = server.arg(F("qp")).toInt(); @@ -1394,7 +1394,7 @@ void AmsWebServer::handleSave() { config->setMqttConfig(mqtt); } - if(server.hasArg(F("o")) && server.arg(F("o")) == FSTR_TRUE) { + if(server.hasArg(F("o")) && server.arg(F("o")) == F("true")) { DomoticzConfig domo { static_cast(server.arg(F("oe")).toInt()), static_cast(server.arg(F("ou1")).toInt()), @@ -1405,7 +1405,7 @@ void AmsWebServer::handleSave() { config->setDomoticzConfig(domo); } - if(server.hasArg(F("h")) && server.arg(F("h")) == FSTR_TRUE) { + if(server.hasArg(F("h")) && server.arg(F("h")) == F("true")) { HomeAssistantConfig haconf; config->getHomeAssistantConfig(haconf); strcpy(haconf.discoveryPrefix, server.arg(F("ht")).c_str()); @@ -1414,7 +1414,7 @@ void AmsWebServer::handleSave() { config->setHomeAssistantConfig(haconf); } - if(server.hasArg(F("g")) && server.arg(F("g")) == FSTR_TRUE) { + if(server.hasArg(F("g")) && server.arg(F("g")) == F("true")) { webConfig.security = server.arg(F("gs")).toInt(); if(webConfig.security > 0) { strcpy(webConfig.username, server.arg(F("gu")).c_str()); @@ -1448,20 +1448,20 @@ void AmsWebServer::handleSave() { config->setNtpConfig(ntp); } - if(server.hasArg(F("i")) && server.arg(F("i")) == FSTR_TRUE) { + if(server.hasArg(F("i")) && server.arg(F("i")) == F("true")) { MeterConfig meterConfig; config->getMeterConfig(meterConfig); meterConfig.rxPin = server.hasArg(F("ihp")) && !server.arg(F("ihp")).isEmpty() ? server.arg(F("ihp")).toInt() : 3; - meterConfig.rxPinPullup = server.hasArg(F("ihu")) && server.arg(F("ihu")) == FSTR_TRUE; + meterConfig.rxPinPullup = server.hasArg(F("ihu")) && server.arg(F("ihu")) == F("true"); meterConfig.txPin = server.hasArg(F("iht")) && !server.arg(F("iht")).isEmpty() ? server.arg(F("iht")).toInt() : 1; config->setMeterConfig(meterConfig); gpioConfig->ledPin = server.hasArg(F("ilp")) && !server.arg(F("ilp")).isEmpty() ? server.arg(F("ilp")).toInt() : 0xFF; - gpioConfig->ledInverted = server.hasArg(F("ili")) && server.arg(F("ili")) == FSTR_TRUE; + gpioConfig->ledInverted = server.hasArg(F("ili")) && server.arg(F("ili")) == F("true"); gpioConfig->ledPinRed = server.hasArg(F("irr")) && !server.arg(F("irr")).isEmpty() ? server.arg(F("irr")).toInt() : 0xFF; gpioConfig->ledPinGreen = server.hasArg(F("irg")) && !server.arg(F("irg")).isEmpty() ? server.arg(F("irg")).toInt() : 0xFF; gpioConfig->ledPinBlue = server.hasArg(F("irb")) && !server.arg(F("irb")).isEmpty() ? server.arg(F("irb")).toInt() : 0xFF; - gpioConfig->ledRgbInverted = server.hasArg(F("iri")) && server.arg(F("iri")) == FSTR_TRUE; + gpioConfig->ledRgbInverted = server.hasArg(F("iri")) && server.arg(F("iri")) == F("true"); gpioConfig->apPin = server.hasArg(F("ia")) && !server.arg(F("ia")).isEmpty() ? server.arg(F("ia")).toInt() : 0xFF; gpioConfig->tempSensorPin = server.hasArg(F("itd")) && !server.arg(F("itd")).isEmpty() ?server.arg(F("itd")).toInt() : 0xFF; gpioConfig->tempAnalogSensorPin = server.hasArg(F("ita")) && !server.arg(F("ita")).isEmpty() ?server.arg(F("ita")).toInt() : 0xFF; @@ -1477,20 +1477,20 @@ void AmsWebServer::handleSave() { config->setGpioConfig(*gpioConfig); } - if(server.hasArg(F("iv")) && server.arg(F("iv")) == FSTR_TRUE) { + if(server.hasArg(F("iv")) && server.arg(F("iv")) == F("true")) { gpioConfig->vccOffset = server.hasArg(F("ivo")) && !server.arg(F("ivo")).isEmpty() ? server.arg(F("ivo")).toFloat() * 100 : 0; gpioConfig->vccMultiplier = server.hasArg(F("ivm")) && !server.arg(F("ivm")).isEmpty() ? server.arg(F("ivm")).toFloat() * 1000 : 1000; gpioConfig->vccBootLimit = server.hasArg(F("ivb")) && !server.arg(F("ivb")).isEmpty() ? server.arg(F("ivb")).toFloat() * 10 : 0; config->setGpioConfig(*gpioConfig); } - if(server.hasArg(F("d")) && server.arg(F("d")) == FSTR_TRUE) { + if(server.hasArg(F("d")) && server.arg(F("d")) == F("true")) { DebugConfig debug; config->getDebugConfig(debug); bool active = debug.serial || debug.telnet; - debug.telnet = server.hasArg(F("dt")) && server.arg(F("dt")) == FSTR_TRUE; - debug.serial = server.hasArg(F("ds")) && server.arg(F("ds")) == FSTR_TRUE; + debug.telnet = server.hasArg(F("dt")) && server.arg(F("dt")) == F("true"); + debug.serial = server.hasArg(F("ds")) && server.arg(F("ds")) == F("true"); debug.level = server.arg(F("dl")).toInt(); #if defined(AMS_REMOTE_DEBUG) @@ -1515,7 +1515,7 @@ void AmsWebServer::handleSave() { config->setDebugConfig(debug); } - if(server.hasArg(F("u")) && server.arg(F("u")) == FSTR_TRUE) { + if(server.hasArg(F("u")) && server.arg(F("u")) == F("true")) { UiConfig ui; config->getUiConfig(ui); ui.showImport = server.arg(F("ui")).toInt(); @@ -1537,18 +1537,18 @@ void AmsWebServer::handleSave() { config->setUiConfig(ui); } - if(server.hasArg(F("p")) && server.arg(F("p")) == FSTR_TRUE) { + if(server.hasArg(F("p")) && server.arg(F("p")) == F("true")) { priceRegion = server.arg(F("pr")); PriceServiceConfig price; - price.enabled = server.hasArg(F("pe")) && server.arg(F("pe")) == FSTR_TRUE; + price.enabled = server.hasArg(F("pe")) && server.arg(F("pe")) == F("true"); strcpy(price.entsoeToken, server.arg(F("pt")).c_str()); strcpy(price.area, priceRegion.c_str()); strcpy(price.currency, server.arg(F("pc")).c_str()); config->setPriceServiceConfig(price); } - if(server.hasArg(F("t")) && server.arg(F("t")) == FSTR_TRUE) { + if(server.hasArg(F("t")) && server.arg(F("t")) == F("true")) { EnergyAccountingConfig eac; eac.thresholds[0] = server.arg(F("t0")).toInt(); eac.thresholds[1] = server.arg(F("t1")).toInt(); @@ -1563,19 +1563,19 @@ void AmsWebServer::handleSave() { config->setEnergyAccountingConfig(eac); } - if(server.hasArg(F("c")) && server.arg(F("c")) == FSTR_TRUE) { + if(server.hasArg(F("c")) && server.arg(F("c")) == F("true")) { SystemConfig sys; config->getSystemConfig(sys); - sys.energyspeedometer = server.hasArg(F("ces")) && server.arg(F("ces")) == FSTR_TRUE ? 7 : 0; + sys.energyspeedometer = server.hasArg(F("ces")) && server.arg(F("ces")) == F("true") ? 7 : 0; config->setSystemConfig(sys); CloudConfig cloud; config->getCloudConfig(cloud); - cloud.enabled = server.hasArg(F("ce")) && server.arg(F("ce")) == FSTR_TRUE; + cloud.enabled = server.hasArg(F("ce")) && server.arg(F("ce")) == F("true"); config->setCloudConfig(cloud); } - if(server.hasArg(F("r")) && server.arg(F("r")) == FSTR_TRUE) { + if(server.hasArg(F("r")) && server.arg(F("r")) == F("true")) { if(ps != NULL) { uint8_t count = server.arg(F("rc")).toInt(); for(uint8_t i = 0; i < count; i++) { @@ -1948,7 +1948,7 @@ void AmsWebServer::factoryResetPost() { return; bool success = false; - if(server.hasArg(F("perform")) && server.arg(F("perform")) == FSTR_TRUE) { + if(server.hasArg(F("perform")) && server.arg(F("perform")) == F("true")) { LittleFS.format(); config->clear(); @@ -2177,16 +2177,16 @@ void AmsWebServer::configFileDownload() { if(!checkSecurity(1)) return; - bool includeSecrets = server.hasArg(F("ic")) && server.arg(F("ic")) == FSTR_TRUE; - bool includeWifi = server.hasArg(F("iw")) && server.arg(F("iw")) == FSTR_TRUE; - bool includeMqtt = server.hasArg(F("im")) && server.arg(F("im")) == FSTR_TRUE; - bool includeWeb = server.hasArg(F("ie")) && server.arg(F("ie")) == FSTR_TRUE; - bool includeMeter = server.hasArg(F("it")) && server.arg(F("it")) == FSTR_TRUE; - bool includeGpio = server.hasArg(F("ig")) && server.arg(F("ig")) == FSTR_TRUE; - bool includeNtp = server.hasArg(F("in")) && server.arg(F("in")) == FSTR_TRUE; - bool includePrice = server.hasArg(F("is")) && server.arg(F("is")) == FSTR_TRUE; - bool includeThresholds = server.hasArg(F("ih")) && server.arg(F("ih")) == FSTR_TRUE; - + bool includeSecrets = server.hasArg(F("ic")) && server.arg(F("ic")) == F("true"); + bool includeWifi = server.hasArg(F("iw")) && server.arg(F("iw")) == F("true"); + bool includeMqtt = server.hasArg(F("im")) && server.arg(F("im")) == F("true"); + bool includeWeb = server.hasArg(F("ie")) && server.arg(F("ie")) == F("true"); + bool includeMeter = server.hasArg(F("it")) && server.arg(F("it")) == F("true"); + bool includeGpio = server.hasArg(F("ig")) && server.arg(F("ig")) == F("true"); + bool includeNtp = server.hasArg(F("in")) && server.arg(F("in")) == F("true"); + bool includePrice = server.hasArg(F("is")) && server.arg(F("is")) == F("true"); + bool includeThresholds = server.hasArg(F("ih")) && server.arg(F("ih")) == F("true"); + SystemConfig sys; config->getSystemConfig(sys); @@ -2248,7 +2248,7 @@ void AmsWebServer::configFileDownload() { } } } - + if(includeWeb && includeSecrets) { WebConfig web; config->getWebConfig(web); @@ -2258,7 +2258,7 @@ void AmsWebServer::configFileDownload() { server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("webPassword %s\n"), web.password)); } } - + if(includeMeter) { MeterConfig meter; config->getMeterConfig(meter); @@ -2291,7 +2291,7 @@ void AmsWebServer::configFileDownload() { if(meter.authenticationKey[0] != 0x00) server.sendContent(buf, snprintf_P(buf, BufferSize, PSTR("meterAuthenticationKey %s\n"), toHex(meter.authenticationKey, 16).c_str())); } } - + if(includeGpio) { MeterConfig meter; config->getMeterConfig(meter); @@ -2635,7 +2635,7 @@ void AmsWebServer::addConditionalCloudHeaders() { server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD); String req = server.header(HEADER_ACCESS_CONTROL_REQUEST_PRIVATE_NETWORK); - if(!req.equalsIgnoreCase(FSTR_TRUE)) { + if(!req.equalsIgnoreCase(F("true"))) { return; } @@ -2669,7 +2669,7 @@ void AmsWebServer::addConditionalCloudHeaders() { sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); - server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_PRIVATE_NETWORK, FSTR_TRUE); + server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_PRIVATE_NETWORK, F("true")); server.sendHeader(F("Private-Network-Access-Name"), networkConfig.hostname); server.sendHeader(F("Private-Network-Access-ID"), macStr); }