69 lines
1.7 KiB
Python
69 lines
1.7 KiB
Python
import mysql.connector
|
|
from dotenv import load_dotenv
|
|
import os
|
|
|
|
load_dotenv()
|
|
|
|
def connect_to_mysql():
|
|
return mysql.connector.connect(
|
|
host=os.getenv("DB_HOST"),
|
|
user=os.getenv("DB_USER"),
|
|
password=os.getenv("DB_PASS"),
|
|
database=os.getenv("DB_NAME")
|
|
)
|
|
|
|
def get_latest_chaufferie():
|
|
conn = connect_to_mysql()
|
|
cursor = conn.cursor(dictionary=True)
|
|
query = """
|
|
SELECT Sonde, Temperature, Date, Topic
|
|
FROM Sondes.Chaufferie
|
|
WHERE Date >= NOW() - INTERVAL 5 MINUTE
|
|
ORDER BY Date DESC
|
|
"""
|
|
cursor.execute(query)
|
|
result = cursor.fetchall()
|
|
cursor.close()
|
|
conn.close()
|
|
return result
|
|
|
|
def get_history_by_sonde(sonde):
|
|
conn = connect_to_mysql()
|
|
cursor = conn.cursor(dictionary=True)
|
|
query = """
|
|
SELECT Sonde, Temperature, Date
|
|
FROM Sondes.Chaufferie
|
|
WHERE Sonde = %s
|
|
AND Date >= NOW() - INTERVAL 1 DAY
|
|
|
|
"""
|
|
cursor.execute(query, (sonde,))
|
|
result = cursor.fetchall()
|
|
cursor.close()
|
|
conn.close()
|
|
return result
|
|
|
|
def lire_alertes_sondes():
|
|
conn = connect_to_mysql()
|
|
cursor = conn.cursor(dictionary=True)
|
|
query = """
|
|
SELECT Id, Sonde, Debut_defaut, Etat
|
|
FROM Sondes.Alertes_Chaufferie
|
|
WHERE Etat != 'Acquitté'
|
|
ORDER BY Debut_defaut DESC
|
|
"""
|
|
cursor.execute(query)
|
|
result = cursor.fetchall()
|
|
cursor.close()
|
|
conn.close()
|
|
return result
|
|
|
|
def acquitter_alerte(id_alerte):
|
|
conn = connect_to_mysql()
|
|
cursor = conn.cursor()
|
|
query = "UPDATE Sondes.Alertes_Chaufferie SET Etat = 'Acquitté' WHERE Id = %s"
|
|
cursor.execute(query, (id_alerte,))
|
|
conn.commit()
|
|
cursor.close()
|
|
conn.close()
|