Fix bug trop de log (SSL error)

This commit is contained in:
PC-PAUL\paulf 2025-03-31 09:47:24 +02:00
parent 719ff30199
commit f98e33b06c

View File

@ -36,27 +36,26 @@ void IRAM_ATTR onMotionDetected() {
motionDetected = true; motionDetected = true;
} }
// Ajout de logs Firebase // Ajout de logs Firebase (sans récupérer les données)
void addLog(const char* messageLog) { void addLog(const char* messageLog) {
FirebaseJson logData;
timeClient.update(); timeClient.update();
char timestampISO[25]; char timestampISO[25];
time_t epochTime = timeClient.getEpochTime(); time_t epochTime = timeClient.getEpochTime();
strftime(timestampISO, sizeof(timestampISO), "%Y-%m-%dT%H:%M:%SZ", gmtime(&epochTime)); strftime(timestampISO, sizeof(timestampISO), "%Y-%m-%dT%H:%M:%SZ", gmtime(&epochTime));
FirebaseJson logData;
logData.add("timestamp", timestampISO); logData.add("timestamp", timestampISO);
logData.add("sender", "ALARM"); logData.add("sender", "ALARM");
logData.add("message", messageLog); logData.add("message", messageLog);
if (!Firebase.RTDB.pushJSON(&fbdo, "/Alarm/logs", &logData)) { // Pousser les logs sans vérifier la réponse pour économiser la mémoire
Serial.println("❌ Erreur ajout log Firebase : " + fbdo.errorReason()); Firebase.RTDB.pushJSON(&fbdo, "/Alarm/logs", &logData);
}
} }
// Gestion des mises à jour Firebase
void streamCallback(FirebaseStream data) { void streamCallback(FirebaseStream data) {
Serial.printf("Firebase Update - Path: %s, Data: %s\n", data.dataPath().c_str(), data.stringData().c_str()); Serial.printf("🔥 Firebase Update - Path: %s\n", data.dataPath().c_str());
if (data.dataType() == "boolean") { // Vérifie qu'on reçoit bien un booléen
if (data.dataPath() == "/armed") { if (data.dataPath() == "/armed") {
armed = data.boolData(); armed = data.boolData();
Serial.printf("🔒 Alarme %s\n", armed ? "activée" : "désactivée"); Serial.printf("🔒 Alarme %s\n", armed ? "activée" : "désactivée");
@ -67,6 +66,7 @@ void streamCallback(FirebaseStream data) {
if (!armed) addLog("Alarme désactivée à distance"); if (!armed) addLog("Alarme désactivée à distance");
} }
} }
}
void setup() { void setup() {
Serial.begin(115200); Serial.begin(115200);
@ -88,12 +88,12 @@ void setup() {
Firebase.reconnectWiFi(true); Firebase.reconnectWiFi(true);
// Stream Firebase // Stream Firebase
if (!Firebase.RTDB.beginStream(&stream, "/Alarm")) { if (!Firebase.RTDB.beginStream(&stream, "/Alarm/state")) {
Serial.printf("🔥 Erreur stream: %s\n", stream.errorReason().c_str()); Serial.printf("🔥 Erreur stream: %s\n", stream.errorReason().c_str());
} }
Firebase.RTDB.setStreamCallback(&stream, streamCallback, nullptr); Firebase.RTDB.setStreamCallback(&stream, streamCallback, nullptr);
Firebase.RTDB.setBool(&fbdo, "/Alarm/triggered", false); Firebase.RTDB.setBool(&fbdo, "/Alarm/state/triggered", false);
Firebase.RTDB.setBool(&fbdo, "/Alarm/armed", false); Firebase.RTDB.setBool(&fbdo, "/Alarm/state/armed", false);
addLog("Alarme connectée"); addLog("Alarme connectée");
@ -118,7 +118,7 @@ void loop() {
Serial.println("🎯 Mouvement détecté !"); Serial.println("🎯 Mouvement détecté !");
blinkFastRed(); blinkFastRed();
startSirene(); startSirene();
Firebase.RTDB.setBool(&fbdo, "/Alarm/triggered", true); Firebase.RTDB.setBool(&fbdo, "/Alarm/state/triggered", true);
triggered = true; triggered = true;
addLog("Mouvement détecté, alarme déclenchée"); addLog("Mouvement détecté, alarme déclenchée");
} }