🐛 Fix system metric emit

This commit is contained in:
Rune Harlyk
2025-11-27 17:30:00 +01:00
committed by Niklas Jensen
parent 413097db1c
commit 106c20418c
4 changed files with 14 additions and 10 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ class CommAdapterBase {
#else #else
String out; String out;
serializeJson(doc, out); serializeJson(doc, out);
send(out.c_str(), cid); send(out.c_str(), -1);
#endif #endif
} }
+4 -1
View File
@@ -1,6 +1,9 @@
#pragma once #pragma once
#include <ESPmDNS.h>
#include <esp_http_server.h> #include <esp_http_server.h>
#include <WiFi.h>
#include <communication/websocket_adapter.h>
#include <filesystem.h> #include <filesystem.h>
#include <global.h> #include <global.h>
#include <esp_timer.h> #include <esp_timer.h>
@@ -23,7 +26,7 @@ void sleep();
void status(JsonObject &root); void status(JsonObject &root);
void metrics(JsonObject &root); void metrics(JsonObject &root);
void emitMetrics(); void emitMetrics(Websocket &socket);
const char *resetReason(esp_reset_reason_t reason); const char *resetReason(esp_reset_reason_t reason);
} // namespace system_service } // namespace system_service
+1 -1
View File
@@ -209,7 +209,7 @@ void IRAM_ATTR serviceLoopEntry(void *) {
for (;;) { for (;;) {
wifiService.loop(); wifiService.loop();
apService.loop(); apService.loop();
EXECUTE_EVERY_N_MS(2000, system_service::emitMetrics()); EXECUTE_EVERY_N_MS(2000, system_service::emitMetrics(socket));
vTaskDelay(100 / portTICK_PERIOD_MS); vTaskDelay(100 / portTICK_PERIOD_MS);
} }
+8 -7
View File
@@ -113,13 +113,14 @@ void metrics(JsonObject &root) {
root["core_temp"] = temperatureRead(); root["core_temp"] = temperatureRead();
} }
void emitMetrics() { void emitMetrics(Websocket &socket) {
// if (!socket.hasSubscribers(EVENT_ANALYTICS)) return; if (!socket.hasSubscribers(EVENT_ANALYTICS)) return;
// analyticsDoc.clear();
// JsonObject root = analyticsDoc.to<JsonObject>(); JsonDocument doc;
// system_service::metrics(root); JsonObject root = doc.to<JsonObject>();
// JsonVariant data = analyticsDoc.as<JsonVariant>(); system_service::metrics(root);
// socket.emit(EVENT_ANALYTICS, data); JsonVariant data = doc.as<JsonVariant>();
socket.emit(EVENT_ANALYTICS, data);
} }
const char *resetReason(esp_reset_reason_t reason) { const char *resetReason(esp_reset_reason_t reason) {