mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-02-06 08:36:15 +00:00
Merge branch 'master' into dev-v2.1.0
This commit is contained in:
@@ -562,8 +562,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)
|
||||
@@ -708,7 +710,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) {
|
||||
@@ -980,7 +981,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...
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -458,9 +458,6 @@ void AmsWebServer::configMeterHtml() {
|
||||
html.replace("{d" + String(i) + "}", meterConfig->distributionSystem == i ? "selected" : "");
|
||||
}
|
||||
html.replace("{f}", String(meterConfig->mainFuse));
|
||||
for(int i = 0; i<64; i++) {
|
||||
html.replace("{f" + String(i) + "}", meterConfig->mainFuse == i ? "selected" : "");
|
||||
}
|
||||
html.replace("{p}", String(meterConfig->productionCapacity));
|
||||
|
||||
if(meterConfig->encryptionKey[0] != 0x00) {
|
||||
@@ -1135,6 +1132,7 @@ void AmsWebServer::handleSave() {
|
||||
meterConfig->distributionSystem = server.arg("d").toInt();
|
||||
meterConfig->mainFuse = server.arg("f").toInt();
|
||||
meterConfig->productionCapacity = server.arg("p").toInt();
|
||||
maxPwr = 0;
|
||||
|
||||
String encryptionKeyHex = server.arg("e");
|
||||
if(!encryptionKeyHex.isEmpty()) {
|
||||
@@ -1609,6 +1607,7 @@ void AmsWebServer::firmwareDownload() {
|
||||
printI("Downloading firmware...");
|
||||
HTTPClient httpClient;
|
||||
httpClient.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
|
||||
httpClient.setTimeout(20000);
|
||||
httpClient.addHeader("User-Agent", "ams2mqtt/" + String(VERSION));
|
||||
|
||||
#if defined(ESP8266)
|
||||
@@ -1627,6 +1626,13 @@ void AmsWebServer::firmwareDownload() {
|
||||
if(status == HTTP_CODE_OK) {
|
||||
printD("Received OK from server");
|
||||
if(LittleFS.begin()) {
|
||||
#if defined(ESP32)
|
||||
esp_task_wdt_delete(NULL);
|
||||
esp_task_wdt_deinit();
|
||||
#elif defined(ESP8266)
|
||||
ESP.wdtDisable();
|
||||
#endif
|
||||
|
||||
printI("Downloading firmware to LittleFS");
|
||||
file = LittleFS.open(FILE_FIRMWARE, "w");
|
||||
int len = httpClient.writeToStream(&file);
|
||||
|
||||
Reference in New Issue
Block a user