Update support_tasmota.ino

This commit is contained in:
gemu2015 2021-02-13 07:52:21 +01:00
parent 74912e7cc2
commit c5df7ed1ae

View File

@ -1043,6 +1043,7 @@ void Every250mSeconds(void)
if (ota_retry_counter) {
char ota_url[TOPSZ];
strlcpy(TasmotaGlobal.mqtt_data, GetOtaUrl(ota_url, sizeof(ota_url)), sizeof(TasmotaGlobal.mqtt_data));
#ifdef ESP8266
#ifndef FIRMWARE_MINIMAL
if (RtcSettings.ota_loader) {
// OTA File too large so try OTA minimal version
@ -1077,6 +1078,14 @@ void Every250mSeconds(void)
snprintf_P(TasmotaGlobal.mqtt_data, sizeof(TasmotaGlobal.mqtt_data), PSTR("%s-" D_JSON_MINIMAL "%s"), TasmotaGlobal.mqtt_data, ota_url_type); // Minimal filename must be filename-minimal
}
#endif // FIRMWARE_MINIMAL
if (ota_retry_counter < OTA_ATTEMPTS / 2) {
if (!strcasecmp_P(TasmotaGlobal.mqtt_data, PSTR(".gz"))) {
ota_retry_counter = 1;
} else {
strcat_P(TasmotaGlobal.mqtt_data, PSTR(".gz"));
}
}
#endif // ESP8266
AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_UPLOAD "%s"), TasmotaGlobal.mqtt_data);
WiFiClient OTAclient;
ota_result = (HTTP_UPDATE_FAILED != ESPhttpUpdate.update(OTAclient, TasmotaGlobal.mqtt_data));
@ -1084,9 +1093,11 @@ void Every250mSeconds(void)
#ifndef FIRMWARE_MINIMAL
int ota_error = ESPhttpUpdate.getLastError();
DEBUG_CORE_LOG(PSTR("OTA: Error %d"), ota_error);
#ifdef ESP8266
if ((HTTP_UE_TOO_LESS_SPACE == ota_error) || (HTTP_UE_BIN_FOR_WRONG_FLASH == ota_error)) {
RtcSettings.ota_loader = 1; // Try minimal image next
}
#endif // ESP8266
#endif // FIRMWARE_MINIMAL
TasmotaGlobal.ota_state_flag = 2; // Upgrade failed - retry
}