diff --git a/Program/Webserver.py b/Program/Webserver.py
index 47dfac8..ac40cf4 100644
--- a/Program/Webserver.py
+++ b/Program/Webserver.py
@@ -79,7 +79,10 @@ def admin():
# Fetch email settings
email_settings = fetch_email_settings()
- return render_template('admin.html', data=data, sensors=data, email_settings=email_settings)
+
+ #Fetch threshold settings
+ threshold_settings = fetch_threshold_settings()
+ return render_template('admin.html', data=data, sensors=data, email_settings=email_settings, threshold_settings=threshold_settings)
@app.route('/updateMail', methods=['POST'])
def update_mail():
diff --git a/Program/__pycache__/mail.cpython-311.pyc b/Program/__pycache__/mail.cpython-311.pyc
index 173d674..de6672d 100644
Binary files a/Program/__pycache__/mail.cpython-311.pyc and b/Program/__pycache__/mail.cpython-311.pyc differ
diff --git a/Program/database.py b/Program/database.py
index 5fb05f8..8388611 100644
--- a/Program/database.py
+++ b/Program/database.py
@@ -5,7 +5,6 @@ import plotly.graph_objs as go
import pandas as pd
-import time
from env import *
@@ -31,14 +30,16 @@ def create_database(db_name):
Bat INT,
FOREIGN KEY (Sensor) REFERENCES Sensors(Name))''')
- c.execute('''CREATE TABLE IF NOT EXISTS settings (
+ c.execute('''CREATE TABLE IF NOT EXISTS alert_settings (
id INTEGER PRIMARY KEY,
smtp_id TEXT,
smtp_pwd TEXT,
smtp_server TEXT,
smtp_port INTEGER,
- recipient_email TEXT);''')
- c.execute("INSERT OR IGNORE INTO settings (smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email) VALUES (?, ?, ?, ?, ?)", (SMTP_ID, SMTP_PWD, SMTP, SMTP_PORT, RECIPIENT))
+ recipient_email TEXT,
+ MAX_HR INT
+ MAX_TEMP);''')
+ c.execute("INSERT OR IGNORE INTO alert_settings (smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email, MAX_HR, MAX_TEMP) VALUES (?, ?, ?, ?, ?, ?, ?)", (SMTP_ID, SMTP_PWD, SMTP, SMTP_PORT, RECIPIENT, MAX_HR, MAX_TEMP))
@@ -49,11 +50,11 @@ def create_database(db_name):
def check_database(db_name):
if not path.exists(db_name):
- print(f"[{datetime.now()}] Database '{db_name}' not found. Creating...")
+ print(f"[{datetime.now()}] DB - Database '{db_name}' not found. Creating...")
create_database(db_name)
- print(f"[{datetime.now()}] Database and tables created successfully.")
+ print(f"[{datetime.now()}] DB - Database and tables created successfully.")
else:
- print(f"[{datetime.now()}] Database '{db_name}' found.")
+ print(f"[{datetime.now()}] DB - Database '{db_name}' found.")
# Function to add data to SensorData table
@@ -107,7 +108,15 @@ def update_sensor_settings(new_name, old_name):
def fetch_email_settings():
conn = sqlite3.connect(DBFILE)
c = conn.cursor()
- c.execute("SELECT smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email FROM settings")
+ c.execute("SELECT smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email FROM alert_settings")
+ settings = c.fetchone()
+ conn.close()
+ return settings
+# Function to fetch MAX HR and MAX temp from the database
+def fetch_threshold_settings():
+ conn = sqlite3.connect(DBFILE)
+ c = conn.cursor()
+ c.execute("SELECT MAX_HR, MAX_TEMP FROM alert_settings")
settings = c.fetchone()
conn.close()
return settings
@@ -116,9 +125,19 @@ def fetch_email_settings():
def update_email_settings(smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email):
conn = sqlite3.connect(DBFILE)
c = conn.cursor()
- c.execute("UPDATE settings SET smtp_id = ?, smtp_pwd = ?, smtp_server = ?, smtp_port = ?, recipient_email = ? ", (smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email))
+ c.execute("UPDATE alert_settings SET smtp_id = ?, smtp_pwd = ?, smtp_server = ?, smtp_port = ?, recipient_email = ? ", (smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email))
conn.commit()
- print(f"[{datetime.now()}] Mail settings updated :")
+ print(f"[{datetime.now()}] Web - Mail settings updated :")
+ print_email_settings()
+ conn.close()
+
+# Function to update threshold settings in the database
+def update_threshold_settings(max_hr, max_temp):
+ conn = sqlite3.connect(DBFILE)
+ c = conn.cursor()
+ c.execute("UPDATE alert_settings SET smtp_id = ?, smtp_pwd = ? ", (smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email))
+ conn.commit()
+ print(f"[{datetime.now()}] Web - Mail settings updated :")
print_email_settings()
conn.close()
@@ -128,7 +147,7 @@ def print_email_settings():
c = conn.cursor()
# Fetch email settings
- c.execute("SELECT * FROM settings")
+ c.execute("SELECT * FROM alert_settings")
settings = c.fetchone()
# Print settings
@@ -172,8 +191,6 @@ def history_graph_temp():
graph_json = fig.to_json()
#print(graph_json)
return graph_json
-
-
def history_graph_HR():
# Fetch sensor data
sensorList = fetch_all_sensor()
diff --git a/Program/mail.py b/Program/mail.py
index 523aae3..78cbb2a 100644
--- a/Program/mail.py
+++ b/Program/mail.py
@@ -32,7 +32,7 @@ def email(recipient_email, message, ReachedVal, Sensor, TimeStamp):
- The sensor on wich the values are maxed out
- the time stamp
"""
- print(fetch_email_settings())
+ #print(fetch_email_settings())
sender_email, password, smtp_server, port, recipient_email = fetch_email_settings()
# Create a MIME message
@@ -55,11 +55,11 @@ def email(recipient_email, message, ReachedVal, Sensor, TimeStamp):
# Send the email
server.sendmail(sender_email, recipient_email, msg.as_string())
- print(f" [{datetime.now()}] Email sent successfully!")
+ print(f"[{datetime.now()}] Mail Alerte System - Email sent successfully!")
# Close the connection
server.quit()
except Exception as e:
- print(f"[{datetime.now()}] Failed to send email. Error: {e}")
+ print(f"[{datetime.now()}] Mail Alerte System - Failed to send email. Error: {e}")
finally:
None
@@ -81,10 +81,10 @@ def check_and_send_email():
if temp > MAX_HR:
email(RECIPIENT, MESSAGE_TEMP, temp, sensor, time)
elif hr > MAX_TEMP:
- email(RECIPIENT, MESSAGE_HR, temp, sensor, time)
+ email(RECIPIENT, MESSAGE_HR, hr, sensor, time)
else:
- print("No data found in the database.")
+ print(f"[{datetime.now()}] Mail - No data found in the database.")
# Close database connection
conn.close()
diff --git a/Program/templates/admin.html b/Program/templates/admin.html
index 9a13cb4..a54fb19 100644
--- a/Program/templates/admin.html
+++ b/Program/templates/admin.html
@@ -129,6 +129,12 @@
+
+
+
+
+
+