From 1d27aa26e92f87ac291462c0fa78d98813fced2e Mon Sep 17 00:00:00 2001 From: jeanGaston Date: Sat, 4 May 2024 16:59:34 +0200 Subject: [PATCH] update --- Program/Webserver.py | 7 ++++- Program/__pycache__/database.cpython-311.pyc | Bin 10428 -> 12570 bytes Program/__pycache__/mail.cpython-311.pyc | Bin 4632 -> 4782 bytes Program/database.py | 30 +++++++++++++++---- Program/mail.py | 10 +++++-- Program/templates/admin.html | 6 ++-- 6 files changed, 41 insertions(+), 12 deletions(-) diff --git a/Program/Webserver.py b/Program/Webserver.py index ac40cf4..b5bac0e 100644 --- a/Program/Webserver.py +++ b/Program/Webserver.py @@ -92,9 +92,14 @@ def update_mail(): smtp_server = request.form['smtp_server'] smtp_port = request.form['smtp_port'] recipient_email = request.form['recipient_email'] + max_hr = request.form['MAX_HR'] + max_temp = request.form['MAX_TEMP'] - # Update email settings in the database or perform any other actions + # Update email settings in the database update_email_settings(smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_email) + # Update threshold settings in the database + update_threshold_settings(max_hr, max_temp) + # Redirect to a success page or render a template return redirect("/adm") diff --git a/Program/__pycache__/database.cpython-311.pyc b/Program/__pycache__/database.cpython-311.pyc index d1a0e1ef6ca696088305db4e9c9602e71dcc821b..93015eb6a8cc316de2b9b3f877e8f499086d58ce 100644 GIT binary patch delta 3238 zcmai0Yit|G5xzYh$s=Wv6iHDOWl5*^Bb1!fuw7WPWLu;jjvlriu^L;DDc#XxL{aJ< z{h%sGvg^W4t)dpz1%e_#U7&R!6irj`PtkY(6)4~yTcU6XC}|4>=$`;Gn*K5RqceAW z*tLW1?R~S4*}1uy+1dTox$iAF-Y+k=b5MTLcQpF*x*dm~ytmWVs|a!1G$)&Hb8p&Z z3t*XS1w0^&faS6c&>`CaopKqVOFjTtA(sQXWe1=~b^>~37ht7a0qB$6fK{>w&@b~- zT!(k(H$gjo+yw8x-0Z_ZP1;E|NO#hQ8W|<&FSIx=YJJFa+>hZk3gI@$gL3u*zKu8l zo7121kBB*PlyDsTwNPV;#1)#HXOD%C*r3@hj-8sFAD)y(*b|dCh@I*1*jZ_0e7d7& z{ocs?qyK8H; zzM5~RZ8MvwR|lbJY!yt#Nwfwq=U7})7MJJcNHVezQ5D(*gI_|P?*nXcdu7h;o_p6a zW%b#z`hCt~9weWN<(gyqyY2UbJKguYp$YZFV+IAxh%;GnMiXcD#Hx3#8BxlLk|s)T z?BTM>(y~eDLCuI$S#e4$R9$$e#1+yUAry`jYDNra#jsYWv^KqGze>uzpewBe=n$!o zT{_VE*@Sv=&_6a z%^M=MELdL6`YQiHW>|x7=%BGp3o>@C)QYO1pJ^9++vjgar#XREU_J$m zarTk#&?`zth-QVTCPW`QUEf*%*7`de+Z$WMj|K70nOkRWj@};K8hu>m*_xmQZT>Dl zePt><8XlN_Ayr6&lM`e4Y*P3##Q>xI03{uulk*#1NiI=ET|zq+7ldFssVmo$5qh&i zuO{^VU**z=tCoo)Hgh&~YC2pB{64`h%ZM{<_G zfMkx3B3a_EA=x0;dCY4m9`jlXhXBzDuitw8=Gg7At+749rrGR|wD6{M}=RpEFv)4boJ& z;9%(lX8+<*0zHZ9W^E~$RVuoXIjg0YZk}fh4CcxC*Jvz}oG-2`Sx`@BLe8=hxjw%{ zb0X5DvaAXMt^~h;zD|>qOsRQ$ zGvQ2@!EY?t?&9DG`v@%Ia;A+#I~&1ripE=r>>?!6WjIEwl^c5 z$ciU4@dSu6+isuP(jPcmAJu(EEEiF&i|qGOZ_6cYMgVf=cr2l)yF!j!&yiG4SXq@7 z8o=o(*4S|J(2CAln@>XqcKT|a{85w_EC-dl~!bs2aL z=6E?uDf>@DGpS(>jehgjVepsfzD6^Fv+hydKglM&fGg1ObPhpAxP-8P5Jk9*p!>o# zL?dfU5?l$FVrp`grsy)x#R1km!&g>fax9sWCgGHlVhO25q6wTvt?5@0RD=xx6;DFQ zf6bT#p%{74m6tky89xIzPx=jD`)m47Eq0=ZV@Eanr1kLTRT#}#)*=ZxqS7RGOiJP^ z#oHNeLcq%i#hZhE${Pm4W0Iaiz(avza;3PXja{Gz4w^^*znA|T(antv*v9BK3XDIJp;!v{7AkGQa|;9F zgpnnSW`JHp_ z@BaEdzjJ?wcPGBMXn$XlY#dyjza0s^UAAs7C2y|Rv^~#9@<#JiP8A}yAx<@4<3{sU z3$Q@70wq-h+SNRuL$v{&YCf<~EdUm&60lgc16`^ESfVgcHf|ekKsgGbE>uJSGA#q9?UU2m zk- zjx{ODDN#;{@)o}3&%Nb`5wxV(n-Y5yJI#pQp7Ux?*xNBST4+hp(UB565<880H($?R zAW{*?qs0J4q%I~&)kjKj#tqPMujTD4yEsQsRRg*f(`Tu%LRt$hZA_DN;@!L_g~%xk zm9|oCL8H31VWPXy(gLPL$8QHhZs#hb#V4l&!AK+*Q(B3+ej>%< zj&p8BEb1vYp9IGlcEi(b3nYc{lrWwU#@UrJ8M1M!Y=(%F!~JJEhq`3u@s3%a0_Wwj zF}CKdI{traJAeW(V^jvDU2`-XiwCr5FdTt&XT{QDcHeu-v%C2^O2Q?l`!WF2v4&H~gc%C0dGs2Ifnc!bWvp}d(pt@0@M$MXa{s%$4eqrsx zRsS{rs((w!OW2OSF?}QQTI@y)y4jW#j-`ZS3E|k5P?{9VQ$l${D90DiubsczbFF8! z$Fd55ns|Jmk$1QUyL!4#56N}%*?~U4%sLL;>4x&ylYY>>XUk9E&`1mJ2yMev?fs-^ z2Tmidu*QnRw(6u%lM-qYLJga)_#QUl-|F9qr4OC@*q^m+RfE_a0;J86a7@!Tgfv-9 zlclr}omDkjijRG4Q0ZtMH=GuOi(x%&UP439!PEwC)JED82`&m2{E}w@cRD@Ol}CUc6as4&o)13KCR2st56)2l1erma3owGrRlE_s!1iF0?)fYWGxC zLfl3o{pZ5UBkeABtPzCfk%{3mZii>s3tc3H2`r0l$dVR#DsCaB2qn@@xe|72erDNC zCwwKH*uhyl2u9$iO>l;KAV!-6WQirYo`A>H#mfz|KKM=(*jpZEEd*w4C+#(1#+c5T z@Z9!BEn!LT z*7rf8w?j_!kWm5;om=6KI8Skj)!Qd&0zbupFg4Zs$Qx$SC4S+3?i+@YMU2xHIb}nr z$cjSIRInqO|LPdozI$hyO=!{kw~_ zV0!*2&MWYqdOfz=|MrGT>iSbAWjnURq`YU~((W;RSdWee;*k@{BZ-dnbzF~+1`Z{T z#sd@CjA14V8PlB3O%^`Z=QQ{SBe*4ZV+~%&dj-Q+KRc9d`=z)(HWoRo^Ew8tGn;v+ z38`$pkO_%3mdfXHHJqx+*@=RgG%~5Yk*O4ZKC(Y zO(L$ugVe%6B5WZ9GW!<6v~7fO(L^0sW!6lev7KrdMwz}~8abtTl!jR+{Rp)(TcgLU z-_VbW0JZ{tf(%Z;Ht8KpP?Wc>^C+r~x?X-7HJ^pRksWYCTY5t;@fael@n;Q8R>q}o z81Uo;Yqn@pQn^Q@9K_bda7*y31!Q$!?c7sibv3pp#p_bMCdCiacPdWc368%vt|T)E zRlqTTDyo?gUe$UsDPA3reI+IP$_N+y1F$j1b0@ATa{Z_z`&D;M=pj@8Ptk zlncdj$?_z7cD^96Fu&ljM^-r~%IT|~V0EBY<0>s1UCKt!>gdWS?HV1*#`)E$m8r@n q<27Q07Q;7jvQi5VBF+#u7cfD#*^8HG)7%fYq4^z-VUU(07ykmR!J=mX diff --git a/Program/database.py b/Program/database.py index 8388611..75a5d70 100644 --- a/Program/database.py +++ b/Program/database.py @@ -37,8 +37,8 @@ def create_database(db_name): smtp_server TEXT, smtp_port INTEGER, recipient_email TEXT, - MAX_HR INT - MAX_TEMP);''') + MAX_HR INT, + MAX_TEMP INT);''') 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)) @@ -135,10 +135,10 @@ def update_email_settings(smtp_id, smtp_pwd, smtp_server, smtp_port, recipient_e 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)) + c.execute("UPDATE alert_settings SET MAX_HR = ?, MAX_TEMP = ? ", (max_hr, max_temp)) conn.commit() - print(f"[{datetime.now()}] Web - Mail settings updated :") - print_email_settings() + print(f"[{datetime.now()}] Web - threshold settings updated :") + print_threshold_settings() conn.close() def print_email_settings(): @@ -164,6 +164,26 @@ def print_email_settings(): # Close the connection conn.close() +def print_threshold_settings(): + # Connect to the database + conn = sqlite3.connect(DBFILE) + c = conn.cursor() + + # Fetch threshold settings + c.execute("SELECT MAX_HR, MAX_TEMP FROM alert_settings") + settings = c.fetchone() + + # Print settings + if settings: + print("threshold Settings:") + print(f"MAX_HR: {settings[0]}") + print(f"MAX_TEMP:{settings[1]}") + else: + print("No threshold settings found in the database.") + + # Close the connection + conn.close + def history_graph_temp(): # Fetch sensor data sensorList = fetch_all_sensor() diff --git a/Program/mail.py b/Program/mail.py index 78cbb2a..cf3c028 100644 --- a/Program/mail.py +++ b/Program/mail.py @@ -72,17 +72,21 @@ def check_and_send_email(): # Retrieve the last record from SensorData table c.execute("SELECT * FROM SensorData ORDER BY Id DESC LIMIT 1") last_record = c.fetchone() + # Retrieve the threshold settings from Alert_settings table + c.execute("SELECT MAX_HR, MAX_TEMP FROM alert_settings") + threshold = c.fetchone() + print(threshold) if last_record: # Extract HR and Temp values from the last record _, sensor, time, temp, hr, _ = last_record # Check if HR or Temp exceed set values - if temp > MAX_HR: + if temp > threshold[1]: email(RECIPIENT, MESSAGE_TEMP, temp, sensor, time) - elif hr > MAX_TEMP: + if hr > threshold[0]: email(RECIPIENT, MESSAGE_HR, hr, sensor, time) - + else: print(f"[{datetime.now()}] Mail - No data found in the database.") diff --git a/Program/templates/admin.html b/Program/templates/admin.html index a54fb19..5124c45 100644 --- a/Program/templates/admin.html +++ b/Program/templates/admin.html @@ -112,7 +112,7 @@

-

Email Settings

+

Alert Settings

@@ -130,10 +130,10 @@

- +

- +