diff --git a/src/HAP.cpp b/src/HAP.cpp index a3cab86..e7df1f8 100644 --- a/src/HAP.cpp +++ b/src/HAP.cpp @@ -1253,7 +1253,52 @@ int HAPClient::getStatusURL(){ response+="Up Time:" + String(uptime) + "\n"; response+="Current Time:" + String(clocktime) + "\n"; response+="Boot Time:" + String(homeSpan.webLog.bootTime) + "\n"; - response+="Reset Reason Code:" + String(esp_reset_reason()) + "\n"; + + response+="Reset Reason Code:" + String(esp_reset_reason()) + " - "; + switch(esp_reset_reason()) { + case ESP_RST_UNKNOWN: + response += "Reset reason can not be determined."; + break; + case ESP_RST_POWERON: + response += "Reset due to power-on event."; + break; + case ESP_RST_EXT: + response += "Reset by external pin (not applicable for ESP32)."; + break; + case ESP_RST_SW: + response += "Software reset via esp_restart."; + break; + case ESP_RST_PANIC: + response += "Software reset due to exception/panic."; + break; + case ESP_RST_INT_WDT: + response += "Reset (software or hardware) due to interrupt watchdog."; + break; + case ESP_RST_TASK_WDT: + response += "Reset due to task watchdog."; + break; + case ESP_RST_WDT: + response += "Reset due to other watchdogs."; + break; + case ESP_RST_DEEPSLEEP: + response += "Reset after exiting deep sleep mode."; + break; + case ESP_RST_BROWNOUT: + response += "Brownout reset (software or hardware)."; + break; + case ESP_RST_SDIO: + response += "Reset over SDIO."; + break; + /* HomeSpan not yet upgraded to support this one.. + case ESP_RST_USB: + response += "Reset by USB peripheral."; + break; + */ + default: + response += "No description available, contact HomeSpan maintainers."; + } + response+="\n"; + response+="WiFi Disconnects:" + String(homeSpan.connected/2) + "\n"; response+="WiFi Signal:" + String(WiFi.RSSI()) + " dBm\n"; response+="WiFi Gateway:" + WiFi.gatewayIP().toString() + "\n";