diff --git a/src/HAP.cpp b/src/HAP.cpp index c343d4b..a72df6a 100644 --- a/src/HAP.cpp +++ b/src/HAP.cpp @@ -1256,6 +1256,16 @@ int HAPClient::putPrepareURL(char *json){ int HAPClient::getStatusURL(){ + char clocktime[33]; + + if(homeSpan.webLog->timeInit){ + struct tm timeinfo; + getLocalTime(&timeinfo,10); + strftime(clocktime,sizeof(clocktime),"%c",&timeinfo); + } else { + sprintf(clocktime,"Unknown"); + } + char uptime[16]; int seconds=esp_timer_get_time()/1e6; int secs=seconds%60; @@ -1268,13 +1278,14 @@ int HAPClient::getStatusURL(){ String response="HTTP/1.1 200 OK\r\nContent-type: text/html\r\n\r\n"; response+="
" + String(homeSpan.displayName) + "
\n"; response+="| Up Time: | " + String(uptime) + " | ||
| Current Time: | " + String(clocktime) + " | ||
| Boot Time: | " + String(homeSpan.webLog->bootTime) + " | ||
| ESP32 Board: | " + String(ARDUINO_BOARD) + " | ||
| Arduino-ESP Version: | " + String(ARDUINO_ESP_VERSION) + " | ||
| " + String(i+1) + " | " + "TBD1" " | " + "TBD2" + " | " + String(homeSpan.webLog->log[i%homeSpan.webLog->maxEntries].message) + " | "; + int index=i%homeSpan.webLog->maxEntries; + seconds=homeSpan.webLog->log[index].upTime/1e6; + secs=seconds%60; + mins=(seconds/=60)%60; + hours=(seconds/=60)%24; + days=(seconds/=24); + sprintf(uptime,"%d:%02d:%02d:%02d",days,hours,mins,secs); + + if(homeSpan.webLog->log[index].clockTime.tm_year>0) + strftime(clocktime,sizeof(clocktime),"%c",&homeSpan.webLog->log[index].clockTime); + else + sprintf(clocktime,"Unknown"); + + response+="
| " + String(i+1) + " | " + String(uptime) + " | " + String(clocktime) + " | " + String(homeSpan.webLog->log[index].message) + " | "; } - response+="