diff --git a/src/WebServer.ino b/src/WebServer.ino index b5c7ca3f59..c9c4cfec72 100644 --- a/src/WebServer.ino +++ b/src/WebServer.ino @@ -4013,7 +4013,7 @@ void handle_rules() { //******************************************************************************** -// Web Interface root page +// Web Interface sysinfo page //******************************************************************************** void handle_sysinfo() { if (!isLoggedIn()) return; @@ -4027,19 +4027,19 @@ void handle_sysinfo() { reply += printWebString; reply += F("
"); - reply += F("
System Info"); + reply += F(""); + + reply += F(""); + if (WiFi.status() == WL_CONNECTED) { - reply += F(""); + + reply += F(""); + + reply += F("
System Info"); - reply += F("
Unit:"); + reply += F("
Unit"); reply += Settings.Unit; if (Settings.UseNTP) { - reply += F("
Local Time:"); + reply += F("
Local Time"); reply += getDateTimeString('-', ':', ' '); } - reply += F("
Uptime:"); + reply += F("
Uptime"); char strUpTime[40]; int minutes = wdcounter / 2; int days = minutes / 1440; @@ -4049,7 +4049,7 @@ void handle_sysinfo() { sprintf_P(strUpTime, PSTR("%d days %d hours %d minutes"), days, hrs, minutes); reply += strUpTime; - reply += F("
Load:"); + reply += F("
Load"); if (wdcounter > 0) { reply += 100 - (100 * loopCounterLast / loopCounterMax); @@ -4058,7 +4058,7 @@ void handle_sysinfo() { reply += F(")"); } - reply += F("
Free Mem:"); + reply += F("
Free Mem"); reply += freeMem; reply += F(" ("); reply += lowestRAM; @@ -4066,12 +4066,56 @@ void handle_sysinfo() { reply += lowestRAMfunction; reply += F(")"); + reply += F("
Boot"); + switch (lastBootCause) + { + case BOOT_CAUSE_MANUAL_REBOOT: + reply += F("Manual reboot"); + break; + case BOOT_CAUSE_DEEP_SLEEP: //nobody should ever see this, since it should sleep again right away. + reply += F("Deep sleep"); + break; + case BOOT_CAUSE_COLD_BOOT: + reply += F("Cold boot"); + break; + case BOOT_CAUSE_EXT_WD: + reply += F("External Watchdog"); + break; + } + reply += F(" ("); + reply += RTC.bootCounter; + reply += F(")"); + + reply += F("

Storage

Flash Size"); + #if defined(ESP8266) + reply += ESP.getFlashChipRealSize() / 1024; //ESP.getFlashChipSize(); + #endif + #if defined(ESP32) + reply += ESP.getFlashChipSize() / 1024; + #endif + reply += F(" kB"); + + reply += F("
Flash Writes"); + reply += RTC.flashDayCounter; + reply += F(" daily / "); + reply += RTC.flashCounter; + reply += F(" boot"); + + reply += F("
Sketch Size"); + #if defined(ESP8266) + reply += ESP.getSketchSize() / 1024; + reply += F(" kB ("); + reply += ESP.getFreeSketchSpace() / 1024; + reply += F(" kB free)"); + #endif + + reply += F("

Network

Wifi RSSI:"); - reply += WiFi.RSSI(); - reply += F(" dB"); - reply += F("
Wifi Type:"); + reply += F("
Wifi"); #if defined(ESP8266) byte PHYmode = wifi_get_phy_mode(); #endif @@ -4090,111 +4134,78 @@ void handle_sysinfo() { reply += F("802.11N"); break; } + reply += F(" (RSSI "); + reply += WiFi.RSSI(); + reply += F(" dB)"); } char str[20]; sprintf_P(str, PSTR("%u.%u.%u.%u"), ip[0], ip[1], ip[2], ip[3]); - reply += F("
IP:"); + reply += F("
IP"); reply += str; sprintf_P(str, PSTR("%u.%u.%u.%u"), gw[0], gw[1], gw[2], gw[3]); - reply += F("
GW:"); + reply += F("
GW"); reply += str; - reply += F("
Build:"); + reply += F("
STA MAC"); + uint8_t mac[] = {0, 0, 0, 0, 0, 0}; + uint8_t* macread = WiFi.macAddress(mac); + char macaddress[20]; + sprintf_P(macaddress, PSTR("%02x:%02x:%02x:%02x:%02x:%02x"), macread[0], macread[1], macread[2], macread[3], macread[4], macread[5]); + reply += macaddress; + + reply += F("
AP MAC"); + macread = WiFi.softAPmacAddress(mac); + sprintf_P(macaddress, PSTR("%02x:%02x:%02x:%02x:%02x:%02x"), macread[0], macread[1], macread[2], macread[3], macread[4], macread[5]); + reply += macaddress; + + reply += F("

Firmware

Build"); reply += BUILD; reply += F(" "); reply += F(BUILD_NOTES); + #if defined(ESP8266) + reply += F(" (core "); + reply += ESP.getCoreVersion(); + reply += F(")"); + #endif - reply += F("
GIT version:"); + reply += F("
GIT version"); reply += BUILD_GIT; - reply += F("
Plugin sets:"); - -#ifdef PLUGIN_BUILD_NORMAL - reply += F("[Normal] "); -#endif - -#ifdef PLUGIN_BUILD_TESTING - reply += F("[Testing] "); -#endif - -#ifdef PLUGIN_BUILD_DEV - reply += F("[Development] "); -#endif - - reply += F("
Number of Plugins:"); + reply += F("
Plugins"); reply += deviceCount + 1; - reply += F("
Core Version:"); - #if defined(ESP8266) - reply += ESP.getCoreVersion(); + #ifdef PLUGIN_BUILD_NORMAL + reply += F(" [Normal]"); #endif - reply += F("
Flash Size:"); - #if defined(ESP8266) - reply += ESP.getFlashChipRealSize() / 1024; //ESP.getFlashChipSize(); - #endif - #if defined(ESP32) - reply += ESP.getFlashChipSize() / 1024; + #ifdef PLUGIN_BUILD_TESTING + reply += F(" [Testing]"); #endif - reply += F(" kB"); - - reply += F("
Flash Writes (daily/boot):"); - reply += RTC.flashDayCounter; - reply += F(" / "); - reply += RTC.flashCounter; - reply += F("
Sketch Size/Free:"); - #if defined(ESP8266) - reply += ESP.getSketchSize() / 1024; - #endif - reply += F(" kB / "); - #if defined(ESP8266) - reply += ESP.getFreeSketchSpace() / 1024; + #ifdef PLUGIN_BUILD_DEV + reply += F(" [Development]"); #endif - reply += F(" kB"); - reply += F("
Boot cause:"); - switch (lastBootCause) - { - case BOOT_CAUSE_MANUAL_REBOOT: - reply += F("Manual reboot"); - break; - case BOOT_CAUSE_DEEP_SLEEP: //nobody should ever see this, since it should sleep again right away. - reply += F("Deep sleep"); - break; - case BOOT_CAUSE_COLD_BOOT: - reply += F("Cold boot"); - break; - case BOOT_CAUSE_EXT_WD: - reply += F("External Watchdog"); - break; - } - - reply += F("
Warm boot count:"); - reply += RTC.bootCounter; - - reply += F("
STA MAC:"); - uint8_t mac[] = {0, 0, 0, 0, 0, 0}; - uint8_t* macread = WiFi.macAddress(mac); - char macaddress[20]; - sprintf_P(macaddress, PSTR("%02x:%02x:%02x:%02x:%02x:%02x"), macread[0], macread[1], macread[2], macread[3], macread[4], macread[5]); - reply += macaddress; - - reply += F("
AP MAC:"); - macread = WiFi.softAPmacAddress(mac); - sprintf_P(macaddress, PSTR("%02x:%02x:%02x:%02x:%02x:%02x"), macread[0], macread[1], macread[2], macread[3], macread[4], macread[5]); - reply += macaddress; - - reply += F("
ESP Chip ID:"); + reply += F("

ESP Chip ID"); #if defined(ESP8266) reply += ESP.getChipId(); + reply += F(" (0x"); + reply += String(ESP.getChipId(), HEX); + reply += F(")"); #endif - reply += F("
Flash Chip ID:"); + reply += F("
Flash Chip ID"); #if defined(ESP8266) reply += ESP.getFlashChipId(); + reply += F(" (0x"); + reply += String(ESP.getFlashChipId(), HEX); + reply += F(")"); #endif reply += F("
"); @@ -4241,4 +4252,4 @@ String getValueSymbol(byte index) ret += 10112 + index; ret += F(";"); return ret; -} +}