🐛 Fix system metric emit

This commit is contained in:
Rune Harlyk
2025-11-27 17:30:00 +01:00
parent 8a80559ea7
commit 7d2f384898
4 changed files with 12 additions and 11 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ class CommAdapterBase {
#else
String out;
serializeJson(doc, out);
send(out.c_str(), cid);
send(out.c_str(), -1);
#endif
}
+2 -2
View File
@@ -3,7 +3,7 @@
#include <ESPmDNS.h>
#include <PsychicHttp.h>
#include <WiFi.h>
// #include <communication/websocket_adapter.h>
#include <communication/websocket_adapter.h>
#include <filesystem.h>
#include <global.h>
#include "esp_timer.h"
@@ -25,7 +25,7 @@ void sleep();
void status(JsonObject &root);
void metrics(JsonObject &root);
void emitMetrics();
void emitMetrics(Websocket &socket);
const char *resetReason(esp_reset_reason_t reason);
} // namespace system_service
+1 -1
View File
@@ -157,7 +157,7 @@ void IRAM_ATTR serviceLoopEntry(void *) {
for (;;) {
wifiService.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);
}
+8 -7
View File
@@ -121,13 +121,14 @@ void metrics(JsonObject &root) {
root["core_temp"] = temperatureRead();
}
void emitMetrics() {
// if (!socket.hasSubscribers(EVENT_ANALYTICS)) return;
// analyticsDoc.clear();
// JsonObject root = analyticsDoc.to<JsonObject>();
// system_service::metrics(root);
// JsonVariant data = analyticsDoc.as<JsonVariant>();
// socket.emit(EVENT_ANALYTICS, data);
void emitMetrics(Websocket &socket) {
if (!socket.hasSubscribers(EVENT_ANALYTICS)) return;
JsonDocument doc;
JsonObject root = doc.to<JsonObject>();
system_service::metrics(root);
JsonVariant data = doc.as<JsonVariant>();
socket.emit(EVENT_ANALYTICS, data);
}
const char *resetReason(esp_reset_reason_t reason) {