Check for firmware every 5 minutes
This commit is contained in:
parent
9f4ce708b1
commit
4a9bd52092
22
src/main.cpp
22
src/main.cpp
|
@ -55,7 +55,7 @@ extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MAX_MAC_ADDRESSES 50
|
#define MAX_MAC_ADDRESSES 50
|
||||||
#define CHECK_FOR_UPDATES_MILI 100000
|
#define CHECK_FOR_UPDATES_INTERVAL 5 * 60
|
||||||
|
|
||||||
WiFiClient espClient;
|
WiFiClient espClient;
|
||||||
AsyncMqttClient mqttClient;
|
AsyncMqttClient mqttClient;
|
||||||
|
@ -439,23 +439,21 @@ void setClock()
|
||||||
log_i(F("NTP synced, current time: %s"), asctime(&timeinfo));
|
log_i(F("NTP synced, current time: %s"), asctime(&timeinfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
void firmwareUpdate(void)
|
void firmwareUpdate()
|
||||||
{
|
{
|
||||||
#ifdef VERSION
|
#ifdef VERSION
|
||||||
static long lastFirmwareCheck;
|
static long lastFirmwareCheck;
|
||||||
if (millis() - lastFirmwareCheck < CHECK_FOR_UPDATES_MILI)
|
long uptime = CalculateUptimeSeconds();
|
||||||
|
if (uptime - lastFirmwareCheck < CHECK_FOR_UPDATES_INTERVAL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
lastFirmwareCheck = millis();
|
lastFirmwareCheck = uptime;
|
||||||
|
|
||||||
|
HTTPClient http;
|
||||||
WiFiClientSecure client;
|
WiFiClientSecure client;
|
||||||
client.setInsecure();
|
client.setInsecure();
|
||||||
|
|
||||||
httpUpdate.setLedPin(LED_BUILTIN, LED_BUILTIN_ON);
|
|
||||||
httpUpdate.setFollowRedirects(HTTPC_FORCE_FOLLOW_REDIRECTS);
|
|
||||||
String firmwareUrl = Sprintf("https://github.com/DTTerastar/ESP32-mqtt-room/releases/latest/download/%s.bin", FIRMWARE);
|
String firmwareUrl = Sprintf("https://github.com/DTTerastar/ESP32-mqtt-room/releases/latest/download/%s.bin", FIRMWARE);
|
||||||
|
|
||||||
HTTPClient http;
|
|
||||||
if (!http.begin(client, firmwareUrl))
|
if (!http.begin(client, firmwareUrl))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -470,20 +468,22 @@ void firmwareUpdate(void)
|
||||||
Serial.printf("Updating from %s\n", firmwareUrl.c_str());
|
Serial.printf("Updating from %s\n", firmwareUrl.c_str());
|
||||||
mqttClient.disconnect(true);
|
mqttClient.disconnect(true);
|
||||||
|
|
||||||
|
httpUpdate.setLedPin(LED_BUILTIN, LED_BUILTIN_ON);
|
||||||
|
httpUpdate.setFollowRedirects(HTTPC_FORCE_FOLLOW_REDIRECTS);
|
||||||
t_httpUpdate_return ret = httpUpdate.update(client, firmwareUrl);
|
t_httpUpdate_return ret = httpUpdate.update(client, firmwareUrl);
|
||||||
|
|
||||||
switch (ret)
|
switch (ret)
|
||||||
{
|
{
|
||||||
case HTTP_UPDATE_FAILED:
|
case HTTP_UPDATE_FAILED:
|
||||||
Serial.printf("HTTP_UPDATE_FAILD Error (%d): %s\n", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str());
|
log_e("Http Update Failed (Error=%d): %s", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HTTP_UPDATE_NO_UPDATES:
|
case HTTP_UPDATE_NO_UPDATES:
|
||||||
Serial.println("HTTP_UPDATE_NO_UPDATES");
|
log_i("No Update!");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HTTP_UPDATE_OK:
|
case HTTP_UPDATE_OK:
|
||||||
Serial.println("HTTP_UPDATE_OK");
|
log_w("Update OK!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue