This commit is contained in:
2025-04-22 14:39:34 +02:00
parent 6a2c1ce5d8
commit 749f4f05fb

View File

@@ -1,7 +1,6 @@
# Surveillance continue avec envoi d'alertes par email + log CSV # Surveillance continue avec envoi d'alertes par email + log CSV
import mysql.connector import mysql.connector
from datetime import datetime, timedelta from datetime import datetime, timedelta
import time
import smtplib import smtplib
from email.mime.text import MIMEText from email.mime.text import MIMEText
import pandas as pd import pandas as pd
@@ -65,9 +64,9 @@ def surveiller():
WHERE Sonde = %s WHERE Sonde = %s
ORDER BY Date DESC LIMIT 6 ORDER BY Date DESC LIMIT 6
""", (nom_sonde,)) """, (nom_sonde,))
relevés = cursor.fetchall() releves = cursor.fetchall()
for r in relevés: for r in releves:
log_entries.append({ log_entries.append({
"Date": r['Date'], "Date": r['Date'],
"Lieu": lieu, "Lieu": lieu,
@@ -77,9 +76,9 @@ def surveiller():
"État": "Dépassement" if r['Temperature'] > seuil else "Normal" "État": "Dépassement" if r['Temperature'] > seuil else "Normal"
}) })
if len(relevés) == 6: if len(releves) == 6:
toutes_hors_seuil = all(r['Temperature'] > seuil for r in relevés) toutes_hors_seuil = all(r['Temperature'] > seuil for r in releves)
plus_ancien = relevés[-1]['Date'] plus_ancien = releves[-1]['Date']
maintenant = datetime.now() maintenant = datetime.now()
if toutes_hors_seuil and (maintenant - plus_ancien >= timedelta(minutes=30)): if toutes_hors_seuil and (maintenant - plus_ancien >= timedelta(minutes=30)):
@@ -122,7 +121,8 @@ def surveiller():
# Enregistrer le log # Enregistrer le log
if log_entries: if log_entries:
df_logs = pd.DataFrame(log_entries) df_logs = pd.DataFrame(log_entries)
df_logs.to_csv("/home/debian/travail/Logs/monitor.csv", sep=";", index=False) df_logs.to_csv("/home/debian/travail/Gestion_sondes/logs/monitor.csv", sep=";", index=False)
except Exception as e: except Exception as e:
print()
print(f"Erreur : {e}", flush=True) print(f"Erreur : {e}", flush=True)