diff --git a/src/WebApi_eventlog.cpp b/src/WebApi_eventlog.cpp index af7637e..948eb52 100644 --- a/src/WebApi_eventlog.cpp +++ b/src/WebApi_eventlog.cpp @@ -22,12 +22,19 @@ void WebApiEventlogClass::loop() void WebApiEventlogClass::onEventlogStatus(AsyncWebServerRequest* request) { - AsyncJsonResponse* response = new AsyncJsonResponse(); + AsyncJsonResponse* response = new AsyncJsonResponse(false, 2048); JsonObject root = response->getRoot(); - for (uint8_t i = 0; i < Hoymiles.getNumInverters(); i++) { - auto inv = Hoymiles.getInverterByPos(i); + uint64_t serial = 0; + if (request->hasParam("inv")) { + String s = request->getParam("inv")->value(); + char* t; + serial = strtoll(s.c_str(), &t, 16); + } + auto inv = Hoymiles.getInverterBySerial(serial); + + if (inv != nullptr) { // Inverter Serial is read as HEX char buffer[sizeof(uint64_t) * 8 + 1]; sprintf(buffer, "%0lx%08lx", diff --git a/webapp/src/components/HomeView.vue b/webapp/src/components/HomeView.vue index b8d1131..08c6c1e 100644 --- a/webapp/src/components/HomeView.vue +++ b/webapp/src/components/HomeView.vue @@ -298,7 +298,7 @@ export default defineComponent({ }, onShowEventlog(serial: number) { this.eventLogLoading = true; - fetch("/api/eventlog/status") + fetch("/api/eventlog/status?inv=" + serial) .then((response) => response.json()) .then((data) => { this.eventLogList = data[serial];