       total += count;
       if ((total == FileSize) && otaReturnSuccess())
       {
-        debugPrintln("LCD OTA: success, wrote " + String(total) + " of " + String(FileSize) + " bytes.");
+        debugPrintln(String(F("LCD OTA: success, wrote ")) + String(total) + " of " + String(FileSize) + " bytes.");
         delay(2000);
         ESP.reset();
+        delay(5000);
       }
       else
       {
-        debugPrintln("LCD OTA: failure");
+        debugPrintln(F("LCD OTA: failure"));
       }
     }
   }
   else
   {
-    debugPrintln("LCD OTA: HTTP GET failed, error code " + http.errorToString(httpCode));
+    debugPrintln(String(F("LCD OTA: HTTP GET failed, error code ")) + http.errorToString(httpCode));
   }
   http.end();
 }

  Serial1.print("get " + hmi_attribute);
  Serial1.write(nextionSuffix, sizeof(nextionSuffix));
  Serial1.flush();
  debugPrintln("HMI OUT:  'get " + hmi_attribute + "'");
  processNextionInput();
}


    // Example: 0x66 0x02 0xFF 0xFF 0xFF
    // Meaning: page 2
    String nextionPage = String(nextionReturnBuffer[1]);
    debugPrintln(String(F("HMI IN:   [sendme Page] '")) + nextionPage + "'");
    if (nextionActivePage != nextionPage.toInt())
    {
      nextionActivePage = nextionPage.toInt();
      String mqttPageTopic = mqttStateTopic + "/page";
      debugPrintln(String(F("MQTT OUT: '")) + mqttPageTopic + "' : '" + nextionPage + "'");
      mqttClient.publish(mqttPageTopic, nextionPage);
    }
  }
