Added basic Logger with 4 modes.

This commit is contained in:
2025-01-26 18:02:39 +02:00
parent 7dd6f81264
commit 516eeab751
8 changed files with 126 additions and 107 deletions

View File

@@ -16,24 +16,25 @@ void updateRelayTimings(JsonDocument doc) {
String key = String("b") + (i + 1); // Generate "b1", "b2", ...
if (doc.containsKey(key)) {
relayDurations[i] = doc[key].as<uint16_t>();
Serial.printf("Relay %d duration set to %d ms\n", i + 1, relayDurations[i]);
LOG_DEBUG("Relay %d duration s1et to %d ms\n", i + 1, relayDurations[i]);
} else {
Serial.printf("Relay %d not found in JSON payload. Keeping previous duration: %d ms\n", i + 1, relayDurations[i]);
LOG_DEBUG("Relay %d not found in JSON payload. Keeping previous duration: %d ms\n", i + 1, relayDurations[i]);
}
}
saveRelayTimings();
LOG_INFO("Updated Relay Timings.")
}
// Save file "fileName" with data: "data"
void savefile(const char* fileName, const char* data) {
File file = SPIFFS.open(fileName, "w");
if (!file) {
Serial.println("Failed to open file!");
LOG_ERROR("Failed to open file!");
return;
}
file.print(data);
file.close();
Serial.printf("File %s saved successfully.\n", fileName);
LOG_INFO("File %s saved successfully.\n", fileName);
}
// Saves Relay Durations from RAM, into a file
@@ -49,7 +50,7 @@ void saveRelayTimings() {
char buffer[512];
size_t len = serializeJson(doc, buffer, sizeof(buffer));
if (len == 0) {
Serial.println("Failed to serialize JSON.");
LOG_ERROR("Failed to serialize JSON.");
return;
}
@@ -78,7 +79,7 @@ void loadRelayTimings() {
// Open the file for reading
File file = SPIFFS.open("/settings/relayTimings.json", "r");
if (!file) {
Serial.println("Settings file not found. Using default relay timings.");
LOG_ERROR("Settings file not found. Using default relay timings.");
return;
}
@@ -86,7 +87,7 @@ void loadRelayTimings() {
StaticJsonDocument<512> doc; // Adjust size if needed
DeserializationError error = deserializeJson(doc, file);
if (error) {
Serial.println("Failed to parse settings file. Using default relay timings.");
LOG_ERROR("Failed to parse settings file. Using default relay timings.");
file.close();
return;
}
@@ -96,7 +97,7 @@ void loadRelayTimings() {
String key = String("b") + (i + 1);
if (doc.containsKey(key)) {
relayDurations[i] = doc[key].as<uint16_t>();
Serial.printf("Loaded relay %d duration: %d ms\n", i + 1, relayDurations[i]);
LOG_DEBUG("Loaded relay %d duration: %d ms\n", i + 1, relayDurations[i]);
}
}
@@ -109,7 +110,7 @@ void updateSchedule(JsonDocument doc) {
// Ensure fileName exists and is valid
if (!fileName || strlen(fileName) == 0) {
Serial.println("Invalid JSON payload: Missing or invalid 'file' field");
LOG_ERROR("Invalid JSON payload: Missing or invalid 'file' field");
return;
}
@@ -119,9 +120,9 @@ void updateSchedule(JsonDocument doc) {
if (dataString.length() > 0) {
savefile(fileName, dataString.c_str());
Serial.printf("File '%s' updated successfully.\n", fileName);
LOG_INFO("File '%s' updated successfully.\n", fileName);
} else {
Serial.println("Invalid JSON payload: Unable to serialize 'data'");
LOG_DEBUG("Invalid JSON payload: Unable to serialize 'data'");
}
timekeeper.refreshDailySchedule();
}