diff --git a/src/AmsToMqttBridge.ino b/src/AmsToMqttBridge.ino index f057bbdd..eaad50c1 100644 --- a/src/AmsToMqttBridge.ino +++ b/src/AmsToMqttBridge.ino @@ -559,8 +559,10 @@ void setupHanPort(uint8_t pin, uint32_t baud, uint8_t parityOrdinal, bool invert #if defined(ESP32) hwSerial->begin(baud, serialConfig, -1, -1, invert); + hwSerial->setRxBufferSize(768); #else hwSerial->begin(baud, serialConfig, SERIAL_FULL, 1, invert); + hwSerial->setRxBufferSize(768); #endif #if defined(ESP8266) @@ -705,7 +707,6 @@ bool readHanPort() { while(hanSerial->available() && pos == HDLC_FRAME_INCOMPLETE) { buf[len++] = hanSerial->read(); pos = HDLC_validate((uint8_t *) buf, len, hc, ×tamp); - delay(1); } if(len > 0) { if(len >= BUF_SIZE) { @@ -973,7 +974,9 @@ void WiFi_connect() { } else if(dns1.toString().isEmpty()) { dns2.fromString("208.67.220.220"); // Add OpenDNS as second by default if nothing is configured } - WiFi.config(ip, gw, sn, dns1, dns2); + if(!WiFi.config(ip, gw, sn, dns1, dns2)) { + debugE("Static IP configuration is invalid, not using"); + } } else { #if defined(ESP32) // This trick does not work anymore... diff --git a/src/entsoe/EntsoeApi.cpp b/src/entsoe/EntsoeApi.cpp index c0ccf25a..bcea36fb 100644 --- a/src/entsoe/EntsoeApi.cpp +++ b/src/entsoe/EntsoeApi.cpp @@ -13,7 +13,7 @@ EntsoeApi::EntsoeApi(RemoteDebug* Debug) { client.setInsecure(); https.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS); - https.setTimeout(5000); + https.setTimeout(20000); // Entso-E uses CET/CEST TimeChangeRule CEST = {"CEST", Last, Sun, Mar, 2, 120}; @@ -270,7 +270,9 @@ float EntsoeApi::getCurrencyMultiplier(const char* from, const char* to) { return 1.00; uint64_t now = millis64(); - if(lastCurrencyFetch < midnightMillis) { + if(now > lastCurrencyFetch && (now - lastCurrencyFetch) < 900000) { + lastCurrencyFetch = now; + char url[256]; DnbCurrParser p; diff --git a/webui2.png b/webui2.png new file mode 100644 index 00000000..71bdb478 Binary files /dev/null and b/webui2.png differ