Protobufs to esp: broken endpoints to make protobuf work

This commit is contained in:
Niklas Jensen
2026-01-03 02:20:52 +01:00
committed by nikguin04
parent a6a8f4988b
commit 719e6be8a7
5 changed files with 78 additions and 84 deletions
+26 -21
View File
@@ -26,12 +26,12 @@ esp_err_t getStatus(PsychicRequest *request) {
return response.send();
}
esp_err_t getMetrics(PsychicRequest *request) {
PsychicJsonResponse response = PsychicJsonResponse(request, false);
JsonObject root = response.getRoot();
metrics(root);
return response.send();
}
// esp_err_t getMetrics(PsychicRequest *request) {
// PsychicJsonResponse response = PsychicJsonResponse(request, false);
// JsonObject root = response.getRoot();
// metrics(root);
// return response.send();
// }
void reset() {
ESP_LOGI(TAG, "Resetting device");
@@ -110,25 +110,30 @@ void status(JsonObject &root) {
root["uptime"] = esp_timer_get_time() / 1000000;
}
void metrics(JsonObject &root) {
root["uptime"] = esp_timer_get_time() / 1000000;
root["free_heap"] = ESP.getFreeHeap();
root["total_heap"] = ESP.getHeapSize();
root["min_free_heap"] = ESP.getMinFreeHeap();
root["max_alloc_heap"] = ESP.getMaxAllocHeap();
root["fs_used"] = ESP_FS.usedBytes();
root["fs_total"] = ESP_FS.totalBytes();
root["core_temp"] = temperatureRead();
void metrics(socket_message_WebsocketMessage *msg) {
msg->which_message = socket_message_WebsocketMessage_analytics_tag;
msg->message.analytics.uptime = esp_timer_get_time() / 1000000;
msg->message.analytics.free_heap = ESP.getFreeHeap();
msg->message.analytics.total_heap = ESP.getHeapSize();
msg->message.analytics.min_free_heap = ESP.getMinFreeHeap();
msg->message.analytics.max_alloc_heap = ESP.getMaxAllocHeap();
msg->message.analytics.fs_used = ESP_FS.usedBytes();
msg->message.analytics.fs_total = ESP_FS.totalBytes();
msg->message.analytics.core_temp = temperatureRead();
}
void emitMetrics(Websocket &socket) {
if (!socket.hasSubscribers(EVENT_ANALYTICS)) return;
// 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);
// TODO: redo -1 as static
socket.send_wsm_by_function(metrics, -1);
// 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) {