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;
}
// Ajout de logs Firebase
// Ajout de logs Firebase (sans récupérer les données)
void addLog(const char* messageLog) {
FirebaseJson logData;
timeClient.update();
char timestampISO[25];
time_t epochTime = timeClient.getEpochTime();
strftime(timestampISO, sizeof(timestampISO), "%Y-%m-%dT%H:%M:%SZ", gmtime(&epochTime));
FirebaseJson logData;
logData.add("timestamp", timestampISO);
logData.add("sender", "ALARM");
logData.add("message", messageLog);
if (!Firebase.RTDB.pushJSON(&fbdo, "/Alarm/logs", &logData)) {
Serial.println("❌ Erreur ajout log Firebase : " + fbdo.errorReason());
}
// Pousser les logs sans vérifier la réponse pour économiser la mémoire
Firebase.RTDB.pushJSON(&fbdo, "/Alarm/logs", &logData);
}
// Gestion des mises à jour Firebase
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") {
armed = data.boolData();
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");
}
}
}
void setup() {
Serial.begin(115200);
@ -88,12 +88,12 @@ void setup() {
Firebase.reconnectWiFi(true);
// 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());
}
Firebase.RTDB.setStreamCallback(&stream, streamCallback, nullptr);
Firebase.RTDB.setBool(&fbdo, "/Alarm/triggered", false);
Firebase.RTDB.setBool(&fbdo, "/Alarm/armed", false);
Firebase.RTDB.setBool(&fbdo, "/Alarm/state/triggered", false);
Firebase.RTDB.setBool(&fbdo, "/Alarm/state/armed", false);
addLog("Alarme connectée");
@ -118,7 +118,7 @@ void loop() {
Serial.println("🎯 Mouvement détecté !");
blinkFastRed();
startSirene();
Firebase.RTDB.setBool(&fbdo, "/Alarm/triggered", true);
Firebase.RTDB.setBool(&fbdo, "/Alarm/state/triggered", true);
triggered = true;
addLog("Mouvement détecté, alarme déclenchée");
}