From 822e3c542a014a9f1acd9f852f22dc0ab49264c1 Mon Sep 17 00:00:00 2001 From: Tomczak Date: Fri, 13 Jun 2025 12:47:06 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=89=20Improved=20database=20structure?= =?UTF-8?q?=20in=20backend/database/myp.*=20files=20and=20removed=20outdat?= =?UTF-8?q?ed=20backups.=20=F0=9F=9B=A0=EF=B8=8F=20Added=20numerous=20acti?= =?UTF-8?q?vity=20session=20pickle=20files=20to=20backend/instance/session?= =?UTF-8?q?s=20directories.=20=F0=9F=96=A5=EF=B8=8F=20Updated=20various=20?= =?UTF-8?q?log=20files=20for=20better=20monitoring=20and=20debugging:=20ap?= =?UTF-8?q?p/app.log,=20core=5Fsystem/core=5Fsystem.log,=20data=5Fmanageme?= =?UTF-8?q?nt/data=5Fmanagement.log,=20energy=5Fmonitoring/energy=5Fmonito?= =?UTF-8?q?ring.log,=20hardware=5Fintegration/hardware=5Fintegration.log,?= =?UTF-8?q?=20job=5F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/backend/database/myp.db | Bin 4096 -> 90112 bytes backend/backend/database/myp.db-shm | Bin 32768 -> 32768 bytes backend/backend/database/myp.db-wal | Bin 263712 -> 4152 bytes .../backups/myp.db.backup_20250529_150542 | Bin 69632 -> 0 bytes .../backups/myp.db.backup_20250529_182203 | Bin 126976 -> 0 bytes .../backups/myp.db.backup_20250529_183135 | Bin 126976 -> 0 bytes .../backups/myp.db.backup_20250529_184851 | Bin 77824 -> 0 bytes .../backups/myp.db.backup_20250529_185343 | Bin 106496 -> 0 bytes .../backups/myp.db.backup_20250529_185834 | Bin 106496 -> 0 bytes .../backups/myp.db.backup_20250529_230231 | Bin 106496 -> 0 bytes .../backups/myp.db.backup_20250529_230235 | Bin 106496 -> 0 bytes .../backups/myp.db.backup_20250529_231800 | Bin 106496 -> 0 bytes .../myp.db.backup_immediate_20250529_150732 | Bin 106496 -> 0 bytes .../myp.db.emergency_backup_20250529_185111 | Bin 4096 -> 0 bytes .../backups/myp_backup_20250601_143619.zip | Bin 1054 -> 0 bytes ...6680bb7404fabbf1200b837b57151_activity.pkl | Bin 0 -> 60 bytes ...68ca02d8acb138d5e30da67bf5c66_activity.pkl | Bin 0 -> 60 bytes ...d49c8ad0db6d3198b8289bbb12dfe_activity.pkl | Bin 0 -> 60 bytes ...1bb1308345caa3da9bcce57c11a82_activity.pkl | Bin 0 -> 60 bytes ...9f25073f18aabae0cadddbb06e71c_activity.pkl | Bin 0 -> 60 bytes ...3effaaa8593110b5da9e3df3a6801_activity.pkl | Bin 0 -> 60 bytes ...af366f1d00ca93e8bf813ada3dfd1_activity.pkl | Bin 0 -> 60 bytes ...45c1540ec2c9d3086beae5491ab62_activity.pkl | Bin 0 -> 60 bytes ...534ff1755a30f43fec398eb40580d_activity.pkl | Bin 0 -> 60 bytes ...eea6382beb25f290ddf552a537671_activity.pkl | Bin 0 -> 60 bytes ...a1801fe12dd18c15a5de45de0f04f_activity.pkl | Bin 0 -> 60 bytes ...7f4d0fbace87a085ab6b3c7c7b27b_activity.pkl | Bin 0 -> 60 bytes ...353f7b417a1e0a7a687a53f833210_activity.pkl | Bin 0 -> 60 bytes ...158a055926be700af1dd24d537860_activity.pkl | Bin 0 -> 60 bytes ...8dbc1f7cf3f874c06555252329e88_activity.pkl | Bin 0 -> 60 bytes ...a13ed3547dad09636058598a1d7d5_activity.pkl | Bin 0 -> 60 bytes ...6b097d9494f14ef5bba15670cc97d_activity.pkl | Bin 0 -> 60 bytes ...d650229ca06c716996d61bf6ca0e6_activity.pkl | Bin 0 -> 60 bytes ...5cf18bc1a56794f4af11d3fde5feb_activity.pkl | Bin 0 -> 60 bytes ...9de832c1c8fb0271faff3910326b8_activity.pkl | Bin 0 -> 60 bytes ...919b135db77fb1e9826bdf2fe3bc2_activity.pkl | Bin 0 -> 60 bytes ...e63cadfe43cbd589127e536635e3f_activity.pkl | Bin 0 -> 60 bytes ...e2249c64842c3317a90ad0c997e2a_activity.pkl | Bin 0 -> 60 bytes ...b83fc8ceaef52e9f07c444f45895d_activity.pkl | Bin 0 -> 60 bytes ...1690fc0b67a4a5294ba0feb0359a2_activity.pkl | Bin 0 -> 60 bytes ...76c48a78654b102893ec2be686309_activity.pkl | Bin 0 -> 60 bytes ...3326a0eef3d3aa46f4724bb022ad3_activity.pkl | Bin 0 -> 60 bytes ...de158eb67d5b29c3da56b86d4598f_activity.pkl | Bin 0 -> 60 bytes ...693291c72f0a921c8300286b8f840_activity.pkl | Bin 0 -> 60 bytes ...505052e396e8ef441b839761f3bfa_activity.pkl | Bin 0 -> 60 bytes ...5311e9920cfd719c43843ba13d920_activity.pkl | Bin 0 -> 60 bytes ...bed96e09c1a6504d616c099145829_activity.pkl | Bin 0 -> 60 bytes ...ce81b40665c383e2ea6d840dd561e_activity.pkl | Bin 0 -> 60 bytes ...f59ca31f03186751ef38a652d10fd_activity.pkl | Bin 0 -> 60 bytes backend/logs/app/app.log | 749 ++++++++++++++++++ backend/logs/core_system/core_system.log | 14 + .../logs/data_management/data_management.log | 14 + .../energy_monitoring/energy_monitoring.log | 7 + .../hardware_integration.log | 28 + .../job_queue_system/job_queue_system.log | 26 + .../monitoring_analytics.log | 14 + backend/logs/permissions/permissions.log | 8 + backend/logs/scheduler/scheduler.log | 21 + .../logs/security_suite/security_suite.log | 21 + backend/logs/startup/startup.log | 63 ++ backend/logs/tapo_control/tapo_control.log | 36 + .../logs/tapo_controller/tapo_controller.log | 7 + .../tapo_status_manager.log | 7 + .../utilities_collection.log | 14 + backend/logs/windows_fixes/windows_fixes.log | 14 + 65 files changed, 1043 insertions(+) delete mode 100644 backend/database/backups/myp.db.backup_20250529_150542 delete mode 100644 backend/database/backups/myp.db.backup_20250529_182203 delete mode 100644 backend/database/backups/myp.db.backup_20250529_183135 delete mode 100644 backend/database/backups/myp.db.backup_20250529_184851 delete mode 100644 backend/database/backups/myp.db.backup_20250529_185343 delete mode 100644 backend/database/backups/myp.db.backup_20250529_185834 delete mode 100644 backend/database/backups/myp.db.backup_20250529_230231 delete mode 100644 backend/database/backups/myp.db.backup_20250529_230235 delete mode 100644 backend/database/backups/myp.db.backup_20250529_231800 delete mode 100644 backend/database/backups/myp.db.backup_immediate_20250529_150732 delete mode 100644 backend/database/backups/myp.db.emergency_backup_20250529_185111 delete mode 100644 backend/database/backups/myp_backup_20250601_143619.zip create mode 100644 backend/instance/sessions/0276680bb7404fabbf1200b837b57151_activity.pkl create mode 100644 backend/instance/sessions/03c68ca02d8acb138d5e30da67bf5c66_activity.pkl create mode 100644 backend/instance/sessions/11cd49c8ad0db6d3198b8289bbb12dfe_activity.pkl create mode 100644 backend/instance/sessions/1221bb1308345caa3da9bcce57c11a82_activity.pkl create mode 100644 backend/instance/sessions/12c9f25073f18aabae0cadddbb06e71c_activity.pkl create mode 100644 backend/instance/sessions/1db3effaaa8593110b5da9e3df3a6801_activity.pkl create mode 100644 backend/instance/sessions/1e5af366f1d00ca93e8bf813ada3dfd1_activity.pkl create mode 100644 backend/instance/sessions/25e45c1540ec2c9d3086beae5491ab62_activity.pkl create mode 100644 backend/instance/sessions/28a534ff1755a30f43fec398eb40580d_activity.pkl create mode 100644 backend/instance/sessions/309eea6382beb25f290ddf552a537671_activity.pkl create mode 100644 backend/instance/sessions/337a1801fe12dd18c15a5de45de0f04f_activity.pkl create mode 100644 backend/instance/sessions/3d97f4d0fbace87a085ab6b3c7c7b27b_activity.pkl create mode 100644 backend/instance/sessions/4bf353f7b417a1e0a7a687a53f833210_activity.pkl create mode 100644 backend/instance/sessions/638158a055926be700af1dd24d537860_activity.pkl create mode 100644 backend/instance/sessions/67b8dbc1f7cf3f874c06555252329e88_activity.pkl create mode 100644 backend/instance/sessions/747a13ed3547dad09636058598a1d7d5_activity.pkl create mode 100644 backend/instance/sessions/7d46b097d9494f14ef5bba15670cc97d_activity.pkl create mode 100644 backend/instance/sessions/89fd650229ca06c716996d61bf6ca0e6_activity.pkl create mode 100644 backend/instance/sessions/8b95cf18bc1a56794f4af11d3fde5feb_activity.pkl create mode 100644 backend/instance/sessions/9009de832c1c8fb0271faff3910326b8_activity.pkl create mode 100644 backend/instance/sessions/902919b135db77fb1e9826bdf2fe3bc2_activity.pkl create mode 100644 backend/instance/sessions/aa0e63cadfe43cbd589127e536635e3f_activity.pkl create mode 100644 backend/instance/sessions/b13e2249c64842c3317a90ad0c997e2a_activity.pkl create mode 100644 backend/instance/sessions/bb3b83fc8ceaef52e9f07c444f45895d_activity.pkl create mode 100644 backend/instance/sessions/bd11690fc0b67a4a5294ba0feb0359a2_activity.pkl create mode 100644 backend/instance/sessions/c6376c48a78654b102893ec2be686309_activity.pkl create mode 100644 backend/instance/sessions/c9f3326a0eef3d3aa46f4724bb022ad3_activity.pkl create mode 100644 backend/instance/sessions/cbade158eb67d5b29c3da56b86d4598f_activity.pkl create mode 100644 backend/instance/sessions/d6b693291c72f0a921c8300286b8f840_activity.pkl create mode 100644 backend/instance/sessions/f10505052e396e8ef441b839761f3bfa_activity.pkl create mode 100644 backend/instance/sessions/f105311e9920cfd719c43843ba13d920_activity.pkl create mode 100644 backend/instance/sessions/f3fbed96e09c1a6504d616c099145829_activity.pkl create mode 100644 backend/instance/sessions/f6bce81b40665c383e2ea6d840dd561e_activity.pkl create mode 100644 backend/instance/sessions/fbef59ca31f03186751ef38a652d10fd_activity.pkl diff --git a/backend/backend/database/myp.db b/backend/backend/database/myp.db index 4e86411b5803e34b1e4767ce981907694f15c1ed..df967e1c0d6c16c1e25bd1d65fc4cb6515a35cfd 100644 GIT binary patch literal 90112 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 delta 26 gcmZoTz}lcNL7J73fq{W>;zWBOL$6J9Q^6d509dF7sQ>@~ diff --git a/backend/backend/database/myp.db-shm b/backend/backend/database/myp.db-shm index e7ee62a567ace015414f57970cae50e84be3a698..0fad3319c060dd47baf56a2b159197f333a089a1 100644 GIT binary patch delta 154 zcmZo@U}|V!s+V}A%K!obK+FiFfS5rHh>HvY89l^zoNMk0VUcS}WBkW+Ji00QR|Bc) kfkuG=$lU)(04hAOo^$h)%zsRq7clzSF*0tR$f#`x08SVzga7~l literal 32768 zcmeI*IZ^^a6vpw7MK)0pP;lRO#a-Ox8fL_t!wYC?;ss32Jb;O%p_%1Hv>V2t|4%yFXX=--^4Ha4YGS-}ktcisp3GGf~e*Js0)fsOO{J=X$?e1JU01LNE^o zb1|4p!CVezZxTMA|BipA?`QO%{m<;aP9cB*0tg_000IagfB*srAbU>_8O>|Spa+pH3Brf{;5AHJ}(ES2wZE05rI?|~wx<4)n5eNjbss%en1S|>ob8;yJYzp{O zp(zAx3ivb7DFkc^_!Ivr1Z)cU_gYX0*c9+@Z=n#dDKKm^HmMPC0u_yDTvM9Wf|e0M zz?8tKskDSeAQYGgH_Ql_5|~!!-L9rW6BdECz#I+;m=##mw)RxlvCh;mt3Ys@0xLFS H{~`4kCblyi diff --git a/backend/backend/database/myp.db-wal b/backend/backend/database/myp.db-wal index abd7d1662589d46d1404226e67855135e2bfba05..a7a62b025bf4a53967799af35f9d750c7f725692 100644 GIT binary patch delta 246 zcmZ3`Bd|lk&%B~1OtNr0}wDa_k^&>HKj4$vhJTYrSoMZP)rPjVd9K|21Vy~ zh}+*TMQTs*nIL7d;vP{B}z6QC3lPC#YCjoL-&fsYj`IXPt_o!eO{WJpX`j;^Dpb zx?j(G{bwed3o#qMtz>8Vbx(JH`v3cVzrWw++d7WKHau~DEOt(e4*Pzx=KBv^bIbc5 z_}!DG7q`Cj2pJU@$L}9pKlbz|KX~khJ)^p*1ID0Vyt!fhhxh>oO(3%iKt029t1!D1V8`;KmY_l00cnbRZ8Gk zXFQQkr{i}UwmMbPYL;eN?4Oox6ZzrEd}eZZ>u5g1MrC@EU3xJyGB%mtnV-mvjZbFA z_KuETkx6!GWmPX_ZXBN2wrhBzC!6c*m73}76}7C@r|9!dQB^H#&M=G0tZL2HC(8}V zKh*d~Orum^1X%~VW@^FK4{4dLGJRGJo@=H#=LHZqG}*?6Z{?@E9r_jcdMt8%0V@g`C zTC)v>Y?rB7vx;7^HS>^K;s+gt#wH*;iY!vG^|D46?H-e~`TB{G-NO_6GS}tzWqR}? z3B@96t%uqU1 zX_igeO0FxN?zM%!=X?DH-S7G0E$hGg(ux&yq|=o^KVbj?5C8!X009sH0T2KI5C8!X z009s{0tOHO0T2KI5C8!X009sH0T2KI5ICC& zP!B*G_ZR%b-~q z^}KNZyPM<}=}6hko?(3$!Qick>G*?_WM0IxR+m00@8p2!H?xfB*=9fJfl= ztJ)IjwQJ+YMwsEeYBGzj#s9WTwsStVf%CkvBb<7V1z);ryDk}y-#K8r)~kwIEE4Cj z#|yiYO0oMGm2jI&%s7>d$HG;<<4(96F0pFS}j|(YxQ+-4b_XYvKMBx!U3%) zS1}JHJkor3DOvuh1NjAzUjX?9%G&A3FVIdevRp4Px_a`e zzk8o`FY*g`w;p@|0T2KI5C8!X009sH0T2KI5CDO*nE;Lbckq4zwSDGo2ljmECin=> z=3S0$0|5{K0T2KI5C8!X009sH0T2KIkAUPOSo6Bvm0Q2?n(-z+f`m7BEJpJdo^+kU zj;_OE7(qIU~8sMeuN0*id9XC2%HLX z@DZR+AuW3sVeLSj!Yz@eR+sqlsRiQ`inx&p`Ojeoy!w_R-5bm`J== z(hHEU7(f67KmY_l00dkDN3TsJ(%s$hJLgz_H5!Pe|8+_MUOJ{hd{@e;mLnOc!|pf+_Yvi-%I)l7oUrmd*96!+CCMgJ(0 z1+7K`$F#-P%bGMf4O|EFrWH($gqs6DR55I=o@0$~K}2MFS}$oNUzw4T99=NIVg*y7U*kP#R_00ck)1eP9wBa@wp^tyHNqpo*(-mRsYx} zg}H@>2GMRBMJ9pca@C8ENTIxvc1S28MxrlLE1A_&XX?=z5()HAVH9gZ_=Xn%bECUF zGE9TN(bdP;#AGoQ+Y1Bncy(9|O^ge>%ZUu}LN8F)0Jxzw=mjD)2G9$jPT{s)!xKIH zA{MT?%&JyhYn06m$+w-x>J#V%CVJd!c}cCz)X1HaWGm68HB+k; z#CtVUQfOsWFDXO~hB}3(r%oY#$M52LfnwWz@B6Q3Uq1-Fz|wmp#~OnG2!H?xfB*=9 z00@8p2!H?xfWS!*kn{qdzv377PE0&;aTC1&D`V&`i`F?jX}v&K`{saNfQ-Tb0w4ea zOO3$7ZC#1Imic(oJ+FQ^s8v2QbD z`PT9A(fsfj4QW?2t!OD~wQ3rN)KW%hq4PN7HN`)d6w`JW956id@!|I9WH0mr& zHRk|DegWhc@X}MzE0j~OAR_BSNwsVR^#~?d(0{-&o>ytb0ebNb#Golo*2;s}o>&Qb zfru;;EcRT-;a)VYgFn1e)ou-(v8ey{$^HT#Gcj4p<)2&1tvyz z4^Ql)sb{=oF+3RuJ4_j1K87Eey~*C*){gYm>BdO|a&&sDt+%E5q`~|G^c_FR^#VVC z@(;hcbi-o{&i#X zEEASQ>l~i6ULe`}Oo(29jKlx}AaFVe92rR_((Bj9kM3bHZppzVeOV?&x22{AzHr)Q z8I`Qu)@{Mlof{Znouk|g?sYcLSEbHqU(fw~$xw@4&vbpQ2VJ6=cd{k{qr(sT!6p)vNIupcgPTYgS>`YO2t53)N7b zYRxuiekG%3vr0SUuh<;+#L3kGe_Xu)eaBzM^#aQeJpE@sf6;mtdV$mNN`_^C00@8p z2!H?xfB*=900@8p2!OyJoq(hl_{FZ+|Gx86PybUBy})u|t!bUZlhz9?i#-;u7kErq z!m0guY{fDbAH91Yi;ue5uxYw$ljqEKzATsGqtbK@;-dlomlWP)zpU7eBA`WHCE3yn zMx_{DCE28XNfo^^qcoa|)Q+CfoNlTHsk|f7)zW@0<_;ButgQEo^o`M~)Z+MQ!z^gZ z!J2N964dHcNs~geLM!c~lqzJi5V0`9oN9(`7wvkpW{o+;Z5J2LXYmJ`3pL9&%8Ii{ zS{l1*kRCnHS4K;C)1T!b=BatHBae^uSz{w=_D1)=l6`1vhixHb&X(zpEvmNa#kv_) zrC`*^N(w!W0-QiwSa+isZ{k}qH7~`RnD2=BnTR7CdV&1p$nHGdEzNL3FVKtt^a9We zKraBj04YaOVi`=x{j6LqX*PKx5bkNnFQBN!B6*Oim)Q^#3FuYtDMcJjFTR22OM2fz zegWxO-F>_vwPU=4PI?N5ULg8;6?%c9Cca#-mk#e57D&qEz7S2HeR=`B*hRmlfy*PHkrdehmab00ck)1V8`;KmY_l00ck)1kO+bl3w8X%O3ob%6GrIy@_5R zC2R|=b9hpEfp#)uJoOU&sZ{EvXXSFojCgNhtlcqv1;0bba zu4oj_X{KzKJe3J4?ch43KFjG?AQ|F{XZSC{8tPV^a9Weuyno1 zFF-QxBfr4*;Ys8d2qahF$_UyZCamD&GZXn8`HB44w)_nl7O~;kDkeJ<>2>SkN1cd{ zo0Wy+!v_o1+i~&fkJoCtn!%k6fl1RC) zSDwNs)`Z#^JkzqfxuP{XIts`pR-qSwUI2Ol=mnq`2r0=f2qnm)$Cd3J>1}JHYOr&a z0Q3S>&Faf@#RC51UaD8T`ystmLoZ<1`m|n9X%;g}%o9*lt=TCmqnY6a*(Jpn1+FYxGf=Uw{1&(_^X^#X03cg0q|yy7#-Pmm87KmY_l z00ck)1VG?)5jc9@@9(a3Ga~G zyOdvG;F-@2K6TL#I-BGdI7fIaNRrRUFOV7AJ32~tOCVot-~qx!Jp%u;jF57l7Z>o= zS)gc9j{x-u$iuI6LRHoIlA#to;~X!*;Ok!3EydKxWLw9_NAtsD^k|~r{k`zgHI=9- z=yZ#@oFcyf@(VyO0KEY80?-RUF95xOTCR87Q3;y#=wcdzK+TO>)7n{wqZsV z$Z~)w)0iXGIut1*miV{_y+BN_6t%9Am|0i>paUZz;Xz3y}+tW z`9AaI@9m>{f%dkVrxzd}F@OLFfWRw9;LcSm66xOF_

UVuLd^A{-~L^9Si)Oa69_ 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 C;9s}^ diff --git a/backend/database/backups/myp.db.backup_20250529_150542 b/backend/database/backups/myp.db.backup_20250529_150542 deleted file mode 100644 index 898282ba6ba07b548f220a3d1d42c1a18d67fce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69632 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 L00JQJ-zV@NV?3#A diff --git a/backend/database/backups/myp.db.backup_20250529_182203 b/backend/database/backups/myp.db.backup_20250529_182203 deleted file mode 100644 index fd64c15a0a55d172eab64088c83c115048a5c016..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126976 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 Ij9UNye+bL09smFU diff --git a/backend/database/backups/myp.db.backup_20250529_184851 b/backend/database/backups/myp.db.backup_20250529_184851 deleted file mode 100644 index 02aa1e320b7df47f3dd87201b5fc3e7d150f6f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 zcmeI4-)|FF7RNp0haHDt*b0rb64FS(VoM3ch7>5Owk92tlwcQQT2R$a$DT_vbUZW6 zjDaAnsu0wo)oT0R$NdxbrGLa~)z_6)>OSpj_pvKgTJ61eJU{OEM}k_Urute5w(q&W z&gYza&zYG^?%duq1EM@|yq+E?7jwsRl9YQ#QF6JQM1S9)ztQU${V*MUq3=w--%HA! z|DrNOYe}UaS=|$*ALqYa_zQ^mMz*{k5I-&J(mn!WXw)Izr6AfHw^Y`I zDc$$u0SDu`o@ocf(-IX}T_MHE3>$s+>S8ftMxMH+NBpe$bl*3(Y&yVbi@o34xK(f6S8l5J zm9lAYo;R8;bz`l;%F0QriqcYVs4cazs@_os#s0`Pp|OSfv}knQgnMU4XhB`T8{H&@ z=723y)DGBU1T~?hpntLQ{Ae*RpF1b*eaQC&>MG^~v&&bYFMOF7b_78*VMAanQp-o! z4uTywS#ER*2|`!ju^ioqy>`qJr!H(L*PG2vwccQ>bw8&V%ts)S*sECC{d_JjFD*%X zRgQyKcZt_CsV_RVpZ#7Gpk$?t3olEy8bQadZnMqY3pDOzDK%_D47wf$3plMHYcp`8 zp;m(OgMo*ZMO2<%6Ra%sSn3e%LS8<7T6*DxF=xjQNKdnzE#FT*&Ix*_1QT2#Fncu4 z=sh>yqXific}$YvP|LUjZR+b=iM!C)lC9wweM_joRnPEeK4Q9>ZWwgKNkYS51Lu|L zFm^Ds9}8?p>^A#heeqsCFP}Uqy?ny4GJ~_c+^={Cov4%;QrDG#A;-drcm?a%Xt0;+Bp=z=&XtGBNze}yp=4Dxyo)6Y2&2xOl z*v|{@#ET}aNZQ;AqiblhK}yGT2)K+nBu$HYu0?2m75PUZA7d3ur-|htoe&%$%eGkA zTc6I$r%p*^(T&J2vZb#8@a-Rf&X>TPdy+K@>MfB2fD{^7i@l7El#DZ-+Axqhvzpg1nq}w?bh}6W^>hge|z=j_05axcRzTxw!UKAzS=dfJZ`St zGivson|0Q&=?C=ruH*6EYRk2irR9~S+Et}`<*iFAZ(XdNzjXQPj( zdiCn1l_H&^RQh+0{@?`yAOHd&00JNY0w4eaAOHd&00JOzme}3x+YsUP{|~v+ z4~JPn%pC+k00ck)1V8`;KmY_l00ck)1VCT}fx?s=-VtEu|LK4F#|s2N00ck)1V8`; zKmY_l00ck)1VG?dOn^QA$MyfO*uYQ?1V8`;KmY_l00ck)1V8`;KmY_Nf$;DDeU~eJ z2OJ;(0w4eaAOHd&00JNY0w4eaAOHe~lYk=4<_d*EJ@fbf!oLi7rF!Mf6`cP+oR-C` zK>!3m00ck)1V8`;KmY_l00cnbRS4kv|5a$AE(m}C2!H?xfB*=900@8p2!H?x98Lnb z{y&^{!>mC71V8`;KmY_l00ck)1V8`;K;Tsf;QIenXrV3$fB*=900@8p2!H?xfB*=9 z00!3m00ck)1V8`;KmY_l00cnbRS2-_|EbcSa;1Ni{z~8Q0s#;J z0T2KI5C8!X009sH0T2KI5O~c5&P+|qZ@vs~ZCG%FM5jAIDZM{b{($h_g)>5iPs*_auSC0PR1p*)d0w4eaAOHd&00JNY z0w4eaAaFPdDAV$_Io;@)Hvi|H9`U-wApTN^*w4;)o!&y}zqvyG)7-+}N`Ei?W&YcR zuji)=-{e1?{bZ&oUCVu+>-~(1f4-2XHzlOq%lw|kxcd_Prp2+E#&&!pH^wr0_yRAO)1I;6k*t;)&J1TT3%9L_(&NQf^ZFNm;DUD`Z zY24l1TvUp4>|TxXLA|xQUT>AF%gYr(%5_V`wdD$H;}P9=Y^AN0;}r;uGV!7arR8` z(CK8V(tBLn4sGwoJ+FkCus*0IhvxCXw1_64sjaMV-MPfogY8sTVP9RxHAN*|&*>7M zb>G=ZE1#5S)Yn}qdaPTT?J!;uV2?Z`T~0VdzV8~ND2Ck(YZdl0TprgKrx{lliy1TW z)HOZgXU(VkzPV-70Y+Qw{no~zULS9ox@-FA7kyQpSasC0mW4 zV^_B|x<`3|#+@vshE0e;*TY}|rxj#v25vOeN>F|<@X)e|%F}Ctm4!}D9im;x%coCE zFPt#u?DzrcX_m9)`^m>SLGP4cf-3}OkH#6j=f-=q0K+1Wi4|{ywTwH^roO(FxC@Of z*&2?~w}c8@^$dUJBc`kAhCw%+Bs2^*a9)`XV+Zj>R_HiChhx2XFQ1oBo|Ilb;aHi$ z*>6Dr8SXU)i>|dS0GcFqJ=0}7`_Sw&6a?_eJ{d(7K^!`0CbSTHD9GvEpig5BlQ2ui zMrQCv2jVeHI*e9P5)tw5(a_|XbO5S~q1@PP)_JxtK7cw;Y+>tR^GN3w=^R2(SXf0P z;>v*Km@R}2^HZZxH1#n<&|PYMHZRMv^n9>JX`bUV#(rLKCtfsZMbhS07+ph~4N^L$ zL%?OsA!%CFb1g#itH?hR`53EMI!!DG>4e}2S+>Q>-uiT2K6Og^qRZDs6rG~?89||_ zbb?Monl+Sx_GpHeY%)yDbg`T;;Kj=(5{%y|dU|)%CL%bJYxTD>S>mvqdDG-M^KM)k z)}J_@Axu%|ZS)$WtI~W-ga9%+SLP<`Zj~3S@_FYverzlj4l?yYo z^6Dum$FG%!o(D&^)2h*@*}b;J-T2FV9Bg@n^^XWvXNYKY8oMnHUsecU4nTMSSKHS8 zBonXJu81kgWHWhAD*Dty$9gsTG{(|Po;3S08M#k_z_hoLl-?jN%_4f~xD~mu>-eS+ z5@Nx&V<+Kq5CA)-6K7nL3?E*lrd=VTO#PrTHOnrV$M^xardH!`)0HFpSFQ4@Q}n97 zz^?4s^Z(p&_77el00JNY0w4eaAOHd&00JNY0w4eazg7b5|Nj^Af5;vC-@I(pOkj%@!7G%#T`kT zklZzQDO&-GKz5LG`{M5X0ey3SK!Kt!?rq=nO^d_5?Jrz`0zqFjMS%h-a6r+S*`KpZ zN<8FjH^!H?Ozu20&&>0gXXcsR8PWGX*fJcV?3ule<|s?4*HV&{dPh-Gsgy*2-k?AJ zYnpyY`xo?`$xnMpsf90#<2094_zlZ@zVMsLUrqgNGClE&?8liOjc-dgQeU5@Pk+eO?e~f8G<)PBd$+}_vw})drp)GZhOTVZ8r56Xx>DP2D7BrftvMy1>uMdM zd|0Wk->%eW)y2i4ASE5mXoup`Vv&{U5zRKcN~8KwgI((Vp5_>4x7jheejV}jzC-M& ztVMM=L~l}uc$b1`Y`$M*MVQfjJE+jB&*~XnhxD4E2`sPaSk0EHi>+sZPt4s|R;}+G zn6$hVXfC^!Fdcn6*^WJ^18 zjr}gIU~rG!t#7_xsXtKeR39j_hR%6zY}c!sw`weHHY`eY>Ey;@tZ-c!6}dte#2 zvxWRLX>i_<`|goYg1SI&aFGa_5lcj)&E+&N;K@goVAutw^;Ui23&XE-kH#&p_p`{(QO-&EHcE}K?F03mzx3{;dl^PqZ zr#Xe!9)U>MU-{zk=eevrKQBF1IS!uPBE615ebMaN@$0+*B`#%Lcv?8s2sXB~E}P7I zPLn%X#EdQ>Ivo$*0FD~S%6M*+C?y#0Rh$?WetL9Fur$|WsY5g-vhu}?(if&1bB=6> zbee5*-?qb#Il=CT-~?B2j1G-6TE`0JXaPo>9Fj0Nlw$5ci`v?L=q@z2#B-Q>zb$0o zrpNd*A2F<^rt5UV2}6T7f%D9?ny!Z&r-M#r#0LlB zAw$}YR{kQQOwD8}=wgrb3|av-MOQYqwkv$KFg$>okGjIt!<0nV7ST0?VDPu=X;#g* zjY59YhtE>CGg(=dr6=APrRyAR4?; z*H^xOgz_Q1($?t0(pydlju2;?FFw7U&dM`0(w8khF8t`^zmE$B`Kc$^BrLNME6@&I z;f0e76Ej=drW^2rVdD#i&lDZ4HE0qM9LZ|;_hYNXq@0b+liSSISTw9ZGJCqvL_yo& zF-AwFaY%#!GI*`byR3CUTA$K>jxM6(UB-az)HXlZsVcJ(3dMZ!>Uc(8pOI2VS0|6X zyAZloHu<%`h_joj-;0^24T-z)kF!Cr3v0NgdqV8wM($8+R-?D($WQ>K1U9LvaW%ftMD_hz%i-_pf1r)O1p)-m^< zx-c|od+fJzOnaN$G%hD-uh6hFujKD(EVMr$F-FfOXc~+@_gx^>1-=l?Tj|1MQ{bnfeOWa?k0?$HapKmY_l00ck)1V8`;KmY_l;Quv&<4opU>JO)H zT)uKymfxhuukX6wOr@;cRn_u+()(0dTwYY>m7Ap3roS0JuQYB})N7>$b!BZ~aY0>N zxwdw_R9>!Jud3JS*MY1EGQNGv|1tOWXmJudQmtNB)rFPivRWz~XT}FNq nmc@pY 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 diff --git a/backend/database/backups/myp.db.backup_20250529_185834 b/backend/database/backups/myp.db.backup_20250529_185834 deleted file mode 100644 index e90a7390471285af27ca80d3563b3264c1210e11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106496 zcmeI5?{6DNddImIMT(SV#_{R4O`vuGJGEF#vX&Ah*+$UN3S}!+D2Jxv7>7G%#T`kT zklZzQDO&-GKz5LG`{M5X0ey3SK!Kt!?rq=nO^d_5?Jrz`0zqFjMS%h-a6r+S*`KpZ zN<8FjH^!H?Ozu20&&>0gXXcsR8PWGX*fJcV?3ule<|s?4*HV&{dPh-Gsgy*2-k?AJ zYnpyY`xo?`$xnMpsf90#<2094_zlZ@zVMsLUrqgNGClE&?8liOjc-dgQeU5@Pk+eO?e~f8G<)PBd$+}_vw})drp)GZhOTVZ8r56Xx>DP2D7BrftvMy1>uMdM zd|0Wk->%eW)y2i4ASE5mXoup`Vv&{U5zRKcN~8KwgI((Vp5_>4x7jheejV}jzC-M& ztVMM=L~l}uc$b1`Y`$M*MVQfjJE+jB&*~XnhxD4E2`sPaSk0EHi>+sZPt4s|R;}+G zn6$hVXfC^!Fdcn6*^WJ^18 zjr}gIU~rG!t#7_xsXtKeR39j_hR%6zY}c!sw`weHHY`eY>Ey;@tZ-c!6}dte#2 zvxWRLX>i_<`|goYg1SI&aFGa_5lcj)&E+&N;K@goVAutw^;Ui23&XE-kH#&p_p`{(QO-&EHcE}K?F03mzx3{;dl^PqZ zr#Xe!9)U>MU-{zk=eevrKQBF1IS!uPBE615ebMaN@$0+*B`#%Lcv?8s2sXB~E}P7I zPLn%X#EdQ>Ivo$*0FD~S%6M*+C?y#0Rh$?WetL9Fur$|WsY5g-vhu}?(if&1bB=6> zbee5*-?qb#Il=CT-~?B2j1G-6TE`0JXaPo>9Fj0Nlw$5ci`v?L=q@z2#B-Q>zb$0o zrpNd*A2F<^rt5UV2}6T7f%D9?ny!Z&r-M#r#0LlB zAw$}YR{kQQOwD8}=wgrb3|av-MOQYqwkv$KFg$>okGjIt!<0nV7ST0?VDPu=X;#g* zjY59YhtE>CGg(=dr6=APrRyAR4?; z*H^xOgz_Q1($?t0(pydlju2;?FFw7U&dM`0(w8khF8t`^zmE$B`Kc$^BrLNME6@&I z;f0e76Ej=drW^2rVdD#i&lDZ4HE0qM9LZ|;_hYNXq@0b+liSSISTw9ZGJCqvL_yo& zF-AwFaY%#!GI*`byR3CUTA$K>jxM6(UB-az)HXlZsVcJ(3dMZ!>Uc(8pOI2VS0|6X zyAZloHu<%`h_joj-;0^24T-z)kF!Cr3v0NgdqV8wM($8+R-?D($WQ>K1U9LvaW%ftMD_hz%i-_pf1r)O1p)-m^< zx-c|od+fJzOnaN$G%hD-uh6hFujKD(EVMr$F-FfOXc~+@_gx^>1-=l?Tj|1MQ{bnfeOWa?k0?$HapKmY_l00ck)1V8`;KmY_l;Quv&<4opU>JO)H zT)uKymfxhuukX6wOr@;cRn_u+()(0dTwYY>m7Ap3roS0JuQYB})N7>$b!BZ~aY0>N zxwdw_R9>!Jud3JS*MY1EGQNGv|1tOWXmJudQmtNB)rFPivRWz~XT}FNq nmc@pY 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 diff --git a/backend/database/backups/myp.db.backup_20250529_230231 b/backend/database/backups/myp.db.backup_20250529_230231 deleted file mode 100644 index 1b13074fcd28499f116d9caca888a3aeecf5329e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106496 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 diff --git a/backend/database/backups/myp.db.backup_20250529_230235 b/backend/database/backups/myp.db.backup_20250529_230235 deleted file mode 100644 index e806586bd0db2a537926c0ab62db72ca6e38b33a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106496 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 diff --git a/backend/database/backups/myp.db.backup_20250529_231800 b/backend/database/backups/myp.db.backup_20250529_231800 deleted file mode 100644 index 46a0c1b11bdaf9e0fa80c93e72b3fd5b58a6a46a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106496 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 LZr{0MnJ4}qPzCDy diff --git a/backend/database/backups/myp.db.backup_immediate_20250529_150732 b/backend/database/backups/myp.db.backup_immediate_20250529_150732 deleted file mode 100644 index 9208bac142bde78650d24e326b07136df6f74bb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106496 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 z zJ~E_+AL2zEQos+Na|O*SZl@3P?hDf?xiTa6t3l=zl_$?F8ugHdvL1>ylsSzNWK0z3 zI;2(2E97ur@*b*idnzSACyV_`paC+ob>6EP2Fzgo82|O1XF$ z`i6rmBRL9-wl&f;XlscUqiq-sTl0-cG=!#c{f(hiT;aWpnFWm62j4$xP^h18AueT- z^3zX?Z?N*)*P5ndunwU{@3UOFqakz7ZgZZ@Kjvwt%iY;dr{t3-#e0@3E;Ka}>yY7v zg>lBTtH7WHhMFVGj7(tM3j=M-JDfTQCj-S`46D(LOd9-=WS}zX;9_<(z0v5B0U{8` z#uBgQ$r;#@c|pk=k+_QT#`p)RqkG>#Uz!8S+SI{wGj1?13<4nE zf?e;L9d7#KYd=7N1Mk_~gSxzL2!mRq2wj`Vc@az9BZDXnp*78g(T3FvX_LwwGl6i2 zVSj$qeWiV>EVjD$}Eb{iqr6 z7prNSO|)HvbU6d&d5@kC_^NX$q8+|}A<5?Ycf3AI@YKrhC&YI()-QZ6{(FKe zkncODOk5wKMu2PUEi&0`2EE?55lySkPVO5DIM`CO^!g|x!e!QJ_VxxQti$27TF2|m z#Q3W!PDM`I=sxx!izaePV*O20%i&sT{L&`EfUIRsCzA5o2~l9PB5!yhlXi=_-9|_Omn1bO=*c+bbZXDQ(pH9p)+L^qc40p6yFoc#@w>#1n2+@1oq z1A;t8GS78hYh6jwR)V8PVhg(?=4X)S1yzy%>Q=&z*ZH zwjB1SA0Z6_JCoQZD(p;BlzX$2DePy&enz%?liR&O4Xd|b3)|QHP1s~~!}hgo?n~Xi zhUfne;dB-%g8&GC00@8p2!H?xfB*=900@A<0}{ac{{ev^ItYLO2!H?xfB*=900@8p z2!H?xJcI=3`adE4yCD5q`b7Fj`Y&>e3j{y_1V8`;KmY_l00ck)1V8`;K;R)I5RYZV z1bvCqml%DSh{ZA)y8cf~e=bP>E&Ye|FVat>e~^A8y-z%FfdB}A00@8p2!H?xfB*=9 v00@8p2>j*<9ElwlJLHrQavWPaa-WLaCnNWX$bCF=AB)^iWMjuOp3MIRo(l?Q diff --git a/backend/database/backups/myp.db.emergency_backup_20250529_185111 b/backend/database/backups/myp.db.emergency_backup_20250529_185111 deleted file mode 100644 index 4e86411b5803e34b1e4767ce981907694f15c1ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmWFz^vNtqRY=P(%1ta$FlG>7U}9o$P*7lCU|@t|AVoG{WYBBVh08a-101yBG0CHtCZDnqBb1rmv zbd6PEZ`(Ey{jOiZH9)>>_8h0fif$diTC}4@mJ~^@YYf9c%ZyBz5>=9lqx|}v6xm|3 z6qrBQ6m{=-@80A20xdTYiUc+HQWa=~qQ>lHiCk8(a>vSyGwoa;d@wZ?Tyv((M>L&G ze;G}#MpsjKbt{XC8op%$72KTg*W(XAI`H;W`$4lXCTJexC0U2@?enHH7gQhq_%t0~ zk0(F<4qxMmvu5h>#OnOj_Bqkq$H^@sUsDn!UKk{Hs*x{qUiRyCI`3DB%nrFkEM zE8hziJw!uecC}y*j*@<y-b zT=sqU9Si>bmz_Mcp#Q_X;D*)LH%o{kK3+s#_(l@J%lgqu0#0^UvraabM1HtglHha! z^Sb1jRIe}64;B^5jbhqrZ3;u|*?BJcLi{kY@_}?P)B2y$eLI3r51D)b>JLoOoY^|K z1l_H$MGa5~_QBZ-3Z~#1uFeo1MlBEQBXI9LjF&i=5k!KU_O~tLWUvdgDl=IWF!c~H zLR)5FwxEismLDxM_7P(0qt0IoWl_ICc{evh08a-101yBG00000000000Jebu0001TWpQKPds Ln44HkDb@o3@z@YG literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/11cd49c8ad0db6d3198b8289bbb12dfe_activity.pkl b/backend/instance/sessions/11cd49c8ad0db6d3198b8289bbb12dfe_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..89da247d8674cecb3797d4f9f892c9d54624ce4b GIT binary patch literal 60 zcmZo*nQF)Y0kuzNuF Lm>8H&Db@o3@qiF0 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/1221bb1308345caa3da9bcce57c11a82_activity.pkl b/backend/instance/sessions/1221bb1308345caa3da9bcce57c11a82_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..54b2770f7c6eed545cb1994c48fd9dea30305029 GIT binary patch literal 60 zcmZo*nQF)Y0kuX})Z Lo0?iqDb@o3@@o)C literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/12c9f25073f18aabae0cadddbb06e71c_activity.pkl b/backend/instance/sessions/12c9f25073f18aabae0cadddbb06e71c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..65f965f11de49aa2416c84387dfb6696475727fa GIT binary patch literal 60 zcmZo*nQF)Y0kuX{oF Ln_8GoDb@o3@vaaw literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/28a534ff1755a30f43fec398eb40580d_activity.pkl b/backend/instance/sessions/28a534ff1755a30f43fec398eb40580d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9a5e4ee7de67e6e8175d1fc01fb294b231f66036 GIT binary patch literal 60 zcmZo*nQF)Y0kuls@b Lo0%9*Db@o3@z)SE literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/337a1801fe12dd18c15a5de45de0f04f_activity.pkl b/backend/instance/sessions/337a1801fe12dd18c15a5de45de0f04f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..397606bb930bd6a7fb53199a9da533614cf4d5e0 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSGw Lni`l*Db@o3@v#su literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3d97f4d0fbace87a085ab6b3c7c7b27b_activity.pkl b/backend/instance/sessions/3d97f4d0fbace87a085ab6b3c7c7b27b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..60373e68cfaeb979f525b50973efad31b8c45cb3 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{js L7#kZ-Db@o3@z@YB literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4bf353f7b417a1e0a7a687a53f833210_activity.pkl b/backend/instance/sessions/4bf353f7b417a1e0a7a687a53f833210_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bf1698f197b64642de3e2ff097199e10fe50de03 GIT binary patch literal 60 zcmZo*nQF)Y0kuzSGx L8yj0rDb@o3@!k+O literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7d46b097d9494f14ef5bba15670cc97d_activity.pkl b/backend/instance/sessions/7d46b097d9494f14ef5bba15670cc97d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d7e2803773a55f97c0723d1c213cb610bd099161 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{js LT9}(nDb@o3@w^Z> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/89fd650229ca06c716996d61bf6ca0e6_activity.pkl b/backend/instance/sessions/89fd650229ca06c716996d61bf6ca0e6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e6013706b8f261e0146e46e0425ee7b842304e6b GIT binary patch literal 60 zcmZo*nQF)Y0kuPDb@o3@x>4_ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9009de832c1c8fb0271faff3910326b8_activity.pkl b/backend/instance/sessions/9009de832c1c8fb0271faff3910326b8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ae748eee31176f5fd154d2ff81305fa3ee6577d2 GIT binary patch literal 60 zcmZo*nQF)Y0kuY12Z LnwXhPDb@o3@(K_< literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/902919b135db77fb1e9826bdf2fe3bc2_activity.pkl b/backend/instance/sessions/902919b135db77fb1e9826bdf2fe3bc2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e59eebf24c857b3e3974604f12354f325e84469a GIT binary patch literal 60 zcmZo*nQF)Y0kuJrDb@o3@xTx_ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/aa0e63cadfe43cbd589127e536635e3f_activity.pkl b/backend/instance/sessions/aa0e63cadfe43cbd589127e536635e3f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..df79099ace553af4bbd2eb0114b383a42f64bda3 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNsw L7@3$%Db@o3@wpH% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b13e2249c64842c3317a90ad0c997e2a_activity.pkl b/backend/instance/sessions/b13e2249c64842c3317a90ad0c997e2a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..48ff273190195f107ec635010d0483583c5de14d GIT binary patch literal 60 zcmZo*nQF)Y0kuzNx_ Lniv~TDb@o3@qrL7 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bb3b83fc8ceaef52e9f07c444f45895d_activity.pkl b/backend/instance/sessions/bb3b83fc8ceaef52e9f07c444f45895d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f17c5e49446046d3bcdfcb93869d7e129ace752e GIT binary patch literal 60 zcmZo*nQF)Y0kuKU3C L7+9K2Db@o3@v{&w literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bd11690fc0b67a4a5294ba0feb0359a2_activity.pkl b/backend/instance/sessions/bd11690fc0b67a4a5294ba0feb0359a2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9bc47cd002df89fb913582571142548b7b32e3b4 GIT binary patch literal 60 zcmZo*nQF)Y0kuRFnY L8yg!>Db@o3@!JqK literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cbade158eb67d5b29c3da56b86d4598f_activity.pkl b/backend/instance/sessions/cbade158eb67d5b29c3da56b86d4598f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..aa3c8bdba42888009b5d7c815b68e6fbc84a1bc8 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNx_ Ln3|eSDb@o3@sbcS literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d6b693291c72f0a921c8300286b8f840_activity.pkl b/backend/instance/sessions/d6b693291c72f0a921c8300286b8f840_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e1477b8e203d636ba2a8e5d659706351f96213b9 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}%W LnOd4pDb@o3@*WUD literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f10505052e396e8ef441b839761f3bfa_activity.pkl b/backend/instance/sessions/f10505052e396e8ef441b839761f3bfa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6a732f855a8961b665c7d85cb77352df0c004a84 GIT binary patch literal 60 zcmZo*nQF)Y0kuRA|A L7#mqmDb@o3@*xmC literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f105311e9920cfd719c43843ba13d920_activity.pkl b/backend/instance/sessions/f105311e9920cfd719c43843ba13d920_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8dd4d4adb727949d56a6244b34c55e7990931364 GIT binary patch literal 60 zcmZo*nQF)Y0kuX`$@ K%uS{g>j41qmJl!i literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f3fbed96e09c1a6504d616c099145829_activity.pkl b/backend/instance/sessions/f3fbed96e09c1a6504d616c099145829_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5bbf605379b28388524b0719eefc81334183f98b GIT binary patch literal 60 zcmZo*nQF)Y0kusc6@ LS(=$lDb@o3@tzPg literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f6bce81b40665c383e2ea6d840dd561e_activity.pkl b/backend/instance/sessions/f6bce81b40665c383e2ea6d840dd561e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f1608082fadf23e901b0f5e1e3134762a2878040 GIT binary patch literal 60 zcmZo*nQF)Y0kuzNvw LnwlC+Db@o3@vaaq literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fbef59ca31f03186751ef38a652d10fd_activity.pkl b/backend/instance/sessions/fbef59ca31f03186751ef38a652d10fd_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d7c52220ffbf5407854efe8a0a14763228873c81 GIT binary patch literal 60 zcmZo*nQF)Y0ku found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\tapo_control.html') +2025-06-13 12:38:05 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-13 12:38:05 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250613_123805 +2025-06-13 12:38:05 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/tapo/ +2025-06-13 12:38:05 - [app] app - [ERROR] ERROR - Method: GET +2025-06-13 12:38:05 - [app] app - [ERROR] ERROR - User: admin +2025-06-13 12:38:05 - [app] app - [ERROR] ERROR - Exception Type: BuildError +2025-06-13 12:38:05 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? +2025-06-13 12:38:05 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 132, in tapo_dashboard + return render_template('tapo_control.html', + outlets=sorted_outlets, + total_outlets=len(sorted_outlets), + online_outlets=online_count, + fixed_layout=True) # Flag fΓΌr festes Layout + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code + {% block content %}{% endblock %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content' + ... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request + rv = self.dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\utils\security_suite.py", line 100, in wrapper + return f(*args, **kwargs) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 159, in tapo_dashboard + return render_template('tapo_control.html', + outlets=error_outlets, + total_outlets=6, + online_outlets=0, + fixed_layout=True) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code + {% block content %}{% endblock %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content' + ... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? + +2025-06-13 12:38:05 - [app] app - [INFO] INFO - Locating template 'errors/500.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\500.html') +2025-06-13 12:38:05 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-13 12:38:05 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgefΓΌhrt... +2025-06-13 12:38:05 - [app] app - [INFO] INFO - [SHUTDOWN] βœ… Queue Manager gestoppt +2025-06-13 12:38:05 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown' +2025-06-13 12:38:07 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-13 12:38:09 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-13 12:38:09 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-13 12:38:09 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-13 12:38:09 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-13 12:38:09 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-13 12:38:09 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-13 12:38:10 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html') +2025-06-13 12:38:10 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-13 12:38:10 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 12:38:13 - [app] app - [DEBUG] DEBUG - Request: GET /printers +2025-06-13 12:38:13 - [app] app - [INFO] INFO - Locating template 'printers.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\printers.html') +2025-06-13 12:38:13 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 12:38:13 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-13 12:38:13 - [app] app - [INFO] INFO - βœ… API: 6 Drucker abgerufen (include_inactive=True) +2025-06-13 12:38:13 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 12:38:13 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-13 12:38:13 - [app] app - [INFO] INFO - βœ… API: 6 Drucker abgerufen (include_inactive=True) +2025-06-13 12:38:13 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 12:38:19 - [app] app - [DEBUG] DEBUG - Request: GET /stats +2025-06-13 12:38:19 - [app] app - [INFO] INFO - Locating template 'stats.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\stats.html') +2025-06-13 12:38:19 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-13 12:38:19 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: tuple index out of range +2025-06-13 12:38:20 - [app] app - [DEBUG] DEBUG - Request: GET /tapo/ +2025-06-13 12:38:34 - [app] app - [INFO] INFO - Locating template 'tapo_control.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\tapo_control.html') +2025-06-13 12:38:34 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250613_123834 +2025-06-13 12:38:34 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/tapo/ +2025-06-13 12:38:34 - [app] app - [ERROR] ERROR - Method: GET +2025-06-13 12:38:34 - [app] app - [ERROR] ERROR - User: admin +2025-06-13 12:38:34 - [app] app - [ERROR] ERROR - Exception Type: BuildError +2025-06-13 12:38:34 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? +2025-06-13 12:38:34 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 132, in tapo_dashboard + return render_template('tapo_control.html', + outlets=sorted_outlets, + total_outlets=len(sorted_outlets), + online_outlets=online_count, + fixed_layout=True) # Flag fΓΌr festes Layout + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code + {% block content %}{% endblock %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content' + ... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request + rv = self.dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\utils\security_suite.py", line 100, in wrapper + return f(*args, **kwargs) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 159, in tapo_dashboard + return render_template('tapo_control.html', + outlets=error_outlets, + total_outlets=6, + online_outlets=0, + fixed_layout=True) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code + {% block content %}{% endblock %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content' + ... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? + +2025-06-13 12:38:34 - [app] app - [INFO] INFO - Locating template 'errors/500.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\500.html') +2025-06-13 12:38:34 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-13 12:39:05 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-13 12:39:06 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-13 12:39:06 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-13 12:39:06 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-13 12:39:06 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-13 12:39:07 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-13 12:39:07 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-13 12:39:07 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-13 12:39:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-13 12:39:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-13 12:39:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-13 12:39:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-13 12:39:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-13 12:39:07 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-13 12:39:07 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-13 12:39:07 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-13 12:39:07 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-13 12:39:07 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-13 12:39:07 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-13 12:39:07 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-13 12:39:07 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-13 12:39:07 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-13 12:39:07 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-13 12:39:08 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-13 12:39:10 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-13 12:39:10 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-13 12:39:10 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-13 12:39:10 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-13 12:39:11 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-13 12:39:11 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-13 12:39:11 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-13 12:39:11 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-13 12:39:11 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-13 12:39:11 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-13 12:39:11 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-13 12:39:11 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-13 12:39:11 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-13 12:39:11 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-13 12:39:11 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-13 12:39:11 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-13 12:39:11 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-13 12:39:11 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-13 12:39:11 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-13 12:39:11 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-13 12:39:11 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-13 12:39:11 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-13 12:39:43 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-13 12:39:44 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-13 12:39:44 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-13 12:39:44 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-13 12:39:44 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-13 12:39:44 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-13 12:39:44 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-13 12:39:44 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-13 12:39:44 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-13 12:39:45 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-13 12:39:45 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-13 12:39:45 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-13 12:39:45 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-13 12:39:45 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-13 12:39:45 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-13 12:39:47 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… MYP Development Environment Konfiguration aktiviert +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Environment: Development/Testing +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… Debug Mode: True +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [DEVELOPMENT] βœ… SQL Echo: True +2025-06-13 12:39:49 - [app] app - [INFO] INFO - SQLite fΓΌr Raspberry Pi optimiert (reduzierte Cache-Grâße, SD-Karten I/O) +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Admin-Berechtigungen beim Start korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] πŸš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] 🏒 Mercedes-Benz TBA Marienfelde +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] πŸ”’ Air-Gapped: True +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] βœ… Datenbank initialisiert +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] PrΓΌfe Initial-Admin... +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurΓΌckgesetzt. +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] βœ… Admin-Benutzer geprΓΌft +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] Initialisiere statische Drucker... +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 1 (192.168.0.100) +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 2 (192.168.0.101) +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 3 (192.168.0.102) +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 4 (192.168.0.103) +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 5 (192.168.0.104) +2025-06-13 12:39:49 - [app] app - [INFO] INFO - Drucker aktualisiert: Drucker 6 (192.168.0.106) +2025-06-13 12:39:49 - [app] app - [INFO] INFO - βœ… Statische Drucker-Initialisierung abgeschlossen: 0 erstellt, 6 aktualisiert +2025-06-13 12:39:49 - [app] app - [INFO] INFO - πŸ“ Alle Drucker sind fΓΌr Standort 'TBA Marienfelde' konfiguriert +2025-06-13 12:39:49 - [app] app - [INFO] INFO - 🌐 IP-Bereich: 192.168.0.100-106 (außer .105) +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] βœ… Statische Drucker konfiguriert +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] βœ… Queue Manager gestartet +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] βœ… Job Scheduler gestartet +2025-06-13 12:39:49 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000 +2025-06-13 12:40:44 - [app] app - [INFO] INFO - Locating template 'tapo_control.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\tapo_control.html') +2025-06-13 12:40:44 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-13 12:40:44 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250613_124044 +2025-06-13 12:40:44 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/tapo/ +2025-06-13 12:40:44 - [app] app - [ERROR] ERROR - Method: GET +2025-06-13 12:40:44 - [app] app - [ERROR] ERROR - User: admin +2025-06-13 12:40:44 - [app] app - [ERROR] ERROR - Exception Type: BuildError +2025-06-13 12:40:44 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? +2025-06-13 12:40:44 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 132, in tapo_dashboard + return render_template('tapo_control.html', + outlets=sorted_outlets, + total_outlets=len(sorted_outlets), + online_outlets=online_count, + fixed_layout=True) # Flag fΓΌr festes Layout + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code + {% block content %}{% endblock %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content' + ... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request + rv = self.dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\utils\security_suite.py", line 100, in wrapper + return f(*args, **kwargs) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 159, in tapo_dashboard + return render_template('tapo_control.html', + outlets=error_outlets, + total_outlets=6, + online_outlets=0, + fixed_layout=True) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code + {% block content %}{% endblock %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content' + ... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? + +2025-06-13 12:40:44 - [app] app - [INFO] INFO - Locating template 'errors/500.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\500.html') +2025-06-13 12:40:44 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-13 12:40:48 - [app] app - [DEBUG] DEBUG - Request: GET /tapo/ +2025-06-13 12:41:03 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250613_124103 +2025-06-13 12:41:03 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/tapo/ +2025-06-13 12:41:03 - [app] app - [ERROR] ERROR - Method: GET +2025-06-13 12:41:03 - [app] app - [ERROR] ERROR - User: admin +2025-06-13 12:41:03 - [app] app - [ERROR] ERROR - Exception Type: BuildError +2025-06-13 12:41:03 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? +2025-06-13 12:41:03 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 132, in tapo_dashboard + return render_template('tapo_control.html', + outlets=sorted_outlets, + total_outlets=len(sorted_outlets), + online_outlets=online_count, + fixed_layout=True) # Flag fΓΌr festes Layout + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code + {% block content %}{% endblock %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content' + ... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request + rv = self.dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\utils\security_suite.py", line 100, in wrapper + return f(*args, **kwargs) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 159, in tapo_dashboard + return render_template('tapo_control.html', + outlets=error_outlets, + total_outlets=6, + online_outlets=0, + fixed_layout=True) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code + {% block content %}{% endblock %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content' + ... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? + +2025-06-13 12:41:03 - [app] app - [DEBUG] DEBUG - Response: 500 diff --git a/backend/logs/core_system/core_system.log b/backend/logs/core_system/core_system.log index bf634ab7b..3fb2ebe71 100644 --- a/backend/logs/core_system/core_system.log +++ b/backend/logs/core_system/core_system.log @@ -184,3 +184,17 @@ 2025-06-13 12:24:27 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) 2025-06-13 12:24:40 - [core_system] core_system - [INFO] INFO - βœ… Core System Management Module erfolgreich initialisiert 2025-06-13 12:24:40 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) +2025-06-13 12:37:28 - [core_system] core_system - [INFO] INFO - βœ… Core System Management Module erfolgreich initialisiert +2025-06-13 12:37:28 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) +2025-06-13 12:37:32 - [core_system] core_system - [INFO] INFO - βœ… Core System Management Module erfolgreich initialisiert +2025-06-13 12:37:32 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) +2025-06-13 12:38:07 - [core_system] core_system - [INFO] INFO - βœ… Core System Management Module erfolgreich initialisiert +2025-06-13 12:38:07 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) +2025-06-13 12:39:04 - [core_system] core_system - [INFO] INFO - βœ… Core System Management Module erfolgreich initialisiert +2025-06-13 12:39:04 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) +2025-06-13 12:39:08 - [core_system] core_system - [INFO] INFO - βœ… Core System Management Module erfolgreich initialisiert +2025-06-13 12:39:08 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) +2025-06-13 12:39:42 - [core_system] core_system - [INFO] INFO - βœ… Core System Management Module erfolgreich initialisiert +2025-06-13 12:39:42 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) +2025-06-13 12:39:47 - [core_system] core_system - [INFO] INFO - βœ… Core System Management Module erfolgreich initialisiert +2025-06-13 12:39:47 - [core_system] core_system - [INFO] INFO - πŸ“Š Massive Konsolidierung: 6 Dateien β†’ 1 Datei (88% Reduktion) diff --git a/backend/logs/data_management/data_management.log b/backend/logs/data_management/data_management.log index b09d8dcca..f6437c8d5 100644 --- a/backend/logs/data_management/data_management.log +++ b/backend/logs/data_management/data_management.log @@ -208,3 +208,17 @@ 2025-06-13 12:24:28 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) 2025-06-13 12:24:40 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert 2025-06-13 12:24:40 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:37:28 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-13 12:37:28 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:37:33 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-13 12:37:33 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:38:07 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-13 12:38:07 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:05 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-13 12:39:05 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:09 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-13 12:39:09 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:43 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-13 12:39:43 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:47 - [data_management] data_management - [INFO] INFO - βœ… Data Management Module initialisiert +2025-06-13 12:39:47 - [data_management] data_management - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) diff --git a/backend/logs/energy_monitoring/energy_monitoring.log b/backend/logs/energy_monitoring/energy_monitoring.log index dd35d9755..10c207526 100644 --- a/backend/logs/energy_monitoring/energy_monitoring.log +++ b/backend/logs/energy_monitoring/energy_monitoring.log @@ -45,3 +45,10 @@ 2025-06-13 07:18:18 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert 2025-06-13 12:24:37 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert 2025-06-13 12:24:43 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-13 12:37:30 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-13 12:37:34 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-13 12:38:09 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-13 12:39:06 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-13 12:39:10 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-13 12:39:45 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert +2025-06-13 12:39:49 - [energy_monitoring] energy_monitoring - [INFO] INFO - βœ… Energiemonitoring-Blueprint initialisiert diff --git a/backend/logs/hardware_integration/hardware_integration.log b/backend/logs/hardware_integration/hardware_integration.log index f5a7d3e8b..307c2e454 100644 --- a/backend/logs/hardware_integration/hardware_integration.log +++ b/backend/logs/hardware_integration/hardware_integration.log @@ -534,3 +534,31 @@ 2025-06-13 12:24:40 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert 2025-06-13 12:24:40 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert 2025-06-13 12:24:40 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-13 12:37:28 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-13 12:37:28 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-13 12:37:28 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-13 12:37:28 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-13 12:37:33 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-13 12:37:33 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-13 12:37:33 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-13 12:37:33 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-13 12:38:07 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-13 12:38:07 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-13 12:38:07 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-13 12:38:07 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-13 12:39:05 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-13 12:39:05 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-13 12:39:05 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-13 12:39:05 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-13 12:39:09 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-13 12:39:09 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-13 12:39:09 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-13 12:39:09 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-13 12:39:43 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-13 12:39:43 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-13 12:39:43 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-13 12:39:43 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) +2025-06-13 12:39:47 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… PyP100 (TP-Link Tapo) verfΓΌgbar +2025-06-13 12:39:47 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Printer Monitor initialisiert +2025-06-13 12:39:47 - [hardware_integration] hardware_integration - [INFO] INFO - βœ… Hardware Integration Module initialisiert +2025-06-13 12:39:47 - [hardware_integration] hardware_integration - [INFO] INFO - πŸ“Š Massive Konsolidierung: 2 Dateien β†’ 1 Datei (50% Reduktion) diff --git a/backend/logs/job_queue_system/job_queue_system.log b/backend/logs/job_queue_system/job_queue_system.log index 233af4a6a..366459228 100644 --- a/backend/logs/job_queue_system/job_queue_system.log +++ b/backend/logs/job_queue_system/job_queue_system.log @@ -398,3 +398,29 @@ 2025-06-13 12:24:44 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) 2025-06-13 12:26:11 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) 2025-06-13 12:26:12 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-13 12:37:28 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-13 12:37:28 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-13 12:37:31 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-13 12:37:33 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-13 12:37:33 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-13 12:37:35 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-13 12:38:05 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-13 12:38:07 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-13 12:38:07 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-13 12:38:09 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-13 12:38:49 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-13 12:38:49 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-13 12:39:05 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-13 12:39:05 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-13 12:39:07 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-13 12:39:09 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-13 12:39:09 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-13 12:39:11 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-13 12:39:11 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-13 12:39:11 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-KompatibilitΓ€t) +2025-06-13 12:39:43 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-13 12:39:43 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-13 12:39:45 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) +2025-06-13 12:39:47 - [job_queue_system] job_queue_system - [INFO] INFO - βœ… Job & Queue System Module initialisiert +2025-06-13 12:39:47 - [job_queue_system] job_queue_system - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 4 Dateien β†’ 1 Datei (75% Reduktion) +2025-06-13 12:39:49 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-KompatibilitΓ€t) diff --git a/backend/logs/monitoring_analytics/monitoring_analytics.log b/backend/logs/monitoring_analytics/monitoring_analytics.log index 8fa8f2877..470bda22d 100644 --- a/backend/logs/monitoring_analytics/monitoring_analytics.log +++ b/backend/logs/monitoring_analytics/monitoring_analytics.log @@ -208,3 +208,17 @@ 2025-06-13 12:24:37 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) 2025-06-13 12:24:43 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert 2025-06-13 12:24:43 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:37:30 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-13 12:37:30 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:37:34 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-13 12:37:34 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:38:09 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-13 12:38:09 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:06 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-13 12:39:06 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:10 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-13 12:39:10 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:44 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-13 12:39:44 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - βœ… Monitoring & Analytics Module initialisiert +2025-06-13 12:39:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - πŸ“Š MASSIVE Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index 63d68b9ac..8ae6688c7 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -10,3 +10,11 @@ 2025-06-13 07:18:18 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-13 12:24:37 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert 2025-06-13 12:24:44 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:37:30 - [permissions] permissions - [INFO] INFO - UserPermission fΓΌr Admin admin (ID: 1) erstellt +2025-06-13 12:37:30 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 1 erstellt, 0 aktualisiert +2025-06-13 12:37:34 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:38:09 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:39:06 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:39:10 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:39:45 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert +2025-06-13 12:39:49 - [permissions] permissions - [INFO] INFO - Admin-Berechtigungen korrigiert: 0 erstellt, 0 aktualisiert diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index bab32a189..5308e14bb 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -306,3 +306,24 @@ 2025-06-13 12:25:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose fΓΌr Job 1 nicht einschalten 2025-06-13 12:25:55 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose fΓΌr Job 1 nicht einschalten 2025-06-13 12:26:09 - [scheduler] scheduler - [INFO] INFO - πŸš€ Starte geplanten Job 1: Gastauftrag: Till Tomczaktet +2025-06-13 12:37:28 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 12:37:31 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 12:37:31 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 12:37:33 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 12:37:35 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 12:37:35 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 12:38:07 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 12:38:09 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 12:38:09 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 12:39:05 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 12:39:07 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 12:39:07 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 12:39:09 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 12:39:11 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 12:39:11 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 12:39:43 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 12:39:45 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 12:39:45 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-13 12:39:47 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-13 12:39:49 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-13 12:39:49 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet diff --git a/backend/logs/security_suite/security_suite.log b/backend/logs/security_suite/security_suite.log index 86c07c59f..5039a7370 100644 --- a/backend/logs/security_suite/security_suite.log +++ b/backend/logs/security_suite/security_suite.log @@ -314,3 +314,24 @@ 2025-06-13 12:24:40 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert 2025-06-13 12:24:40 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) 2025-06-13 12:24:43 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-13 12:37:28 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-13 12:37:28 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:37:30 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-13 12:37:33 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-13 12:37:33 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:37:34 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-13 12:38:07 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-13 12:38:07 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:38:09 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-13 12:39:05 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-13 12:39:05 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:06 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-13 12:39:09 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-13 12:39:09 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:10 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-13 12:39:43 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-13 12:39:43 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:45 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert +2025-06-13 12:39:47 - [security_suite] security_suite - [INFO] INFO - βœ… Security Suite Module initialisiert +2025-06-13 12:39:47 - [security_suite] security_suite - [INFO] INFO - πŸ“Š Massive Konsolidierung: 3 Dateien β†’ 1 Datei (67% Reduktion) +2025-06-13 12:39:49 - [security_suite] security_suite - [INFO] INFO - πŸ”’ Security Suite initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index a5689241c..c1fc6eb06 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -919,3 +919,66 @@ 2025-06-13 12:24:43 - [startup] startup - [INFO] INFO - πŸͺŸ Windows-Modus: Aktiviert 2025-06-13 12:24:43 - [startup] startup - [INFO] INFO - πŸ”’ Windows-sichere Log-Rotation: Aktiviert 2025-06-13 12:24:43 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: nt (win32) +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T12:37:30.577512 +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - πŸͺŸ Windows-Modus: Aktiviert +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - πŸ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-13 12:37:30 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: nt (win32) +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T12:37:34.651069 +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - πŸͺŸ Windows-Modus: Aktiviert +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - πŸ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-13 12:37:34 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: nt (win32) +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T12:38:09.463332 +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - πŸͺŸ Windows-Modus: Aktiviert +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - πŸ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-13 12:38:09 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: nt (win32) +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T12:39:06.803539 +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - πŸͺŸ Windows-Modus: Aktiviert +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - πŸ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-13 12:39:06 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: nt (win32) +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T12:39:10.560927 +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - πŸͺŸ Windows-Modus: Aktiviert +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - πŸ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-13 12:39:10 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: nt (win32) +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T12:39:44.938571 +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - πŸͺŸ Windows-Modus: Aktiviert +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - πŸ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-13 12:39:44 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - ================================================== +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - πŸ’» Betriebssystem: nt (win32) +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - πŸ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-13T12:39:49.141597 +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - πŸͺŸ Windows-Modus: Aktiviert +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - πŸ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-13 12:39:49 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/tapo_control/tapo_control.log b/backend/logs/tapo_control/tapo_control.log index a2b5a0f42..400df9d33 100644 --- a/backend/logs/tapo_control/tapo_control.log +++ b/backend/logs/tapo_control/tapo_control.log @@ -85,3 +85,39 @@ 2025-06-13 12:25:37 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 5 (192.168.1.205) nicht erreichbar 2025-06-13 12:25:40 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 6 (192.168.1.206) nicht erreichbar 2025-06-13 12:25:40 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen konfiguriert, 0 online +2025-06-13 12:37:50 - [tapo_control] tapo_control - [INFO] INFO - Tapo Dashboard aufgerufen von Benutzer: Administrator +2025-06-13 12:37:53 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 1 (192.168.1.201) nicht erreichbar +2025-06-13 12:37:55 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 2 (192.168.1.202) nicht erreichbar +2025-06-13 12:37:58 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 3 (192.168.1.203) nicht erreichbar +2025-06-13 12:38:00 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 4 (192.168.1.204) nicht erreichbar +2025-06-13 12:38:03 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 5 (192.168.1.205) nicht erreichbar +2025-06-13 12:38:05 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 6 (192.168.1.206) nicht erreichbar +2025-06-13 12:38:05 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen konfiguriert, 0 online +2025-06-13 12:38:05 - [tapo_control] tapo_control - [ERROR] ERROR - Fehler beim Laden des Tapo-Dashboards: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? +2025-06-13 12:38:20 - [tapo_control] tapo_control - [INFO] INFO - Tapo Dashboard aufgerufen von Benutzer: Administrator +2025-06-13 12:38:22 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 1 (192.168.1.201) nicht erreichbar +2025-06-13 12:38:25 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 2 (192.168.1.202) nicht erreichbar +2025-06-13 12:38:27 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 3 (192.168.1.203) nicht erreichbar +2025-06-13 12:38:30 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 4 (192.168.1.204) nicht erreichbar +2025-06-13 12:38:32 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 5 (192.168.1.205) nicht erreichbar +2025-06-13 12:38:34 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 6 (192.168.1.206) nicht erreichbar +2025-06-13 12:38:34 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen konfiguriert, 0 online +2025-06-13 12:38:34 - [tapo_control] tapo_control - [ERROR] ERROR - Fehler beim Laden des Tapo-Dashboards: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? +2025-06-13 12:40:29 - [tapo_control] tapo_control - [INFO] INFO - Tapo Dashboard aufgerufen von Benutzer: Administrator +2025-06-13 12:40:32 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 1 (192.168.1.201) nicht erreichbar +2025-06-13 12:40:34 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 2 (192.168.1.202) nicht erreichbar +2025-06-13 12:40:36 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 3 (192.168.1.203) nicht erreichbar +2025-06-13 12:40:39 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 4 (192.168.1.204) nicht erreichbar +2025-06-13 12:40:42 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 5 (192.168.1.205) nicht erreichbar +2025-06-13 12:40:44 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 6 (192.168.1.206) nicht erreichbar +2025-06-13 12:40:44 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen konfiguriert, 0 online +2025-06-13 12:40:44 - [tapo_control] tapo_control - [ERROR] ERROR - Fehler beim Laden des Tapo-Dashboards: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? +2025-06-13 12:40:48 - [tapo_control] tapo_control - [INFO] INFO - Tapo Dashboard aufgerufen von Benutzer: Administrator +2025-06-13 12:40:50 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 1 (192.168.1.201) nicht erreichbar +2025-06-13 12:40:53 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 2 (192.168.1.202) nicht erreichbar +2025-06-13 12:40:55 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 3 (192.168.1.203) nicht erreichbar +2025-06-13 12:40:58 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 4 (192.168.1.204) nicht erreichbar +2025-06-13 12:41:01 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 5 (192.168.1.205) nicht erreichbar +2025-06-13 12:41:03 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Steckdose 6 (192.168.1.206) nicht erreichbar +2025-06-13 12:41:03 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen konfiguriert, 0 online +2025-06-13 12:41:03 - [tapo_control] tapo_control - [ERROR] ERROR - Fehler beim Laden des Tapo-Dashboards: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead? diff --git a/backend/logs/tapo_controller/tapo_controller.log b/backend/logs/tapo_controller/tapo_controller.log index 52511662d..cb619e506 100644 --- a/backend/logs/tapo_controller/tapo_controller.log +++ b/backend/logs/tapo_controller/tapo_controller.log @@ -129,3 +129,10 @@ 2025-06-13 12:25:51 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ versuch 2/3 fehlgeschlagen beim einschalten von 192.168.1.201: HTTPConnectionPool(host='192.168.1.201', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.1.201 timed out. (connect timeout=2)')) 2025-06-13 12:25:55 - [tapo_controller] tapo_controller - [WARNING] WARNING - ⚠️ versuch 3/3 fehlgeschlagen beim einschalten von 192.168.1.201: HTTPConnectionPool(host='192.168.1.201', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.1.201 timed out. (connect timeout=2)')) 2025-06-13 12:25:55 - [tapo_controller] tapo_controller - [ERROR] ERROR - ❌ fehler beim einschalten der tapo-steckdose 192.168.1.201: HTTPConnectionPool(host='192.168.1.201', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(, 'Connection to 192.168.1.201 timed out. (connect timeout=2)')) +2025-06-13 12:37:28 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-13 12:37:33 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-13 12:38:07 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-13 12:39:05 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-13 12:39:09 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-13 12:39:43 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert +2025-06-13 12:39:47 - [tapo_controller] tapo_controller - [INFO] INFO - βœ… tapo controller initialisiert diff --git a/backend/logs/tapo_status_manager/tapo_status_manager.log b/backend/logs/tapo_status_manager/tapo_status_manager.log index 0b2631605..8c0a4c108 100644 --- a/backend/logs/tapo_status_manager/tapo_status_manager.log +++ b/backend/logs/tapo_status_manager/tapo_status_manager.log @@ -62,3 +62,10 @@ 2025-06-13 07:18:17 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert 2025-06-13 12:24:28 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert 2025-06-13 12:24:40 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 12:37:28 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 12:37:33 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 12:38:07 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 12:39:05 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 12:39:09 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 12:39:43 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-13 12:39:47 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert diff --git a/backend/logs/utilities_collection/utilities_collection.log b/backend/logs/utilities_collection/utilities_collection.log index 0cbc76d22..2405fc332 100644 --- a/backend/logs/utilities_collection/utilities_collection.log +++ b/backend/logs/utilities_collection/utilities_collection.log @@ -226,3 +226,17 @@ 2025-06-13 12:32:13 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) 2025-06-13 12:32:51 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert 2025-06-13 12:32:51 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-13 12:37:28 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-13 12:37:28 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-13 12:37:32 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-13 12:37:32 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-13 12:38:07 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-13 12:38:07 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-13 12:39:05 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-13 12:39:05 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-13 12:39:08 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-13 12:39:08 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-13 12:39:43 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-13 12:39:43 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) +2025-06-13 12:39:47 - [utilities_collection] utilities_collection - [INFO] INFO - βœ… Utilities Collection initialisiert +2025-06-13 12:39:47 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien β†’ 1 Datei (90%+ Reduktion) diff --git a/backend/logs/windows_fixes/windows_fixes.log b/backend/logs/windows_fixes/windows_fixes.log index 980f43f92..16de59550 100644 --- a/backend/logs/windows_fixes/windows_fixes.log +++ b/backend/logs/windows_fixes/windows_fixes.log @@ -187,3 +187,17 @@ 2025-06-13 12:24:27 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet 2025-06-13 12:24:40 - [windows_fixes] windows_fixes - [INFO] INFO - πŸ”§ Wende Windows-spezifische Fixes an... 2025-06-13 12:24:40 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-13 12:37:28 - [windows_fixes] windows_fixes - [INFO] INFO - πŸ”§ Wende Windows-spezifische Fixes an... +2025-06-13 12:37:28 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-13 12:37:32 - [windows_fixes] windows_fixes - [INFO] INFO - πŸ”§ Wende Windows-spezifische Fixes an... +2025-06-13 12:37:32 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-13 12:38:07 - [windows_fixes] windows_fixes - [INFO] INFO - πŸ”§ Wende Windows-spezifische Fixes an... +2025-06-13 12:38:07 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-13 12:39:04 - [windows_fixes] windows_fixes - [INFO] INFO - πŸ”§ Wende Windows-spezifische Fixes an... +2025-06-13 12:39:04 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-13 12:39:08 - [windows_fixes] windows_fixes - [INFO] INFO - πŸ”§ Wende Windows-spezifische Fixes an... +2025-06-13 12:39:08 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-13 12:39:42 - [windows_fixes] windows_fixes - [INFO] INFO - πŸ”§ Wende Windows-spezifische Fixes an... +2025-06-13 12:39:42 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-13 12:39:47 - [windows_fixes] windows_fixes - [INFO] INFO - πŸ”§ Wende Windows-spezifische Fixes an... +2025-06-13 12:39:47 - [windows_fixes] windows_fixes - [INFO] INFO - βœ… Alle Windows-Fixes erfolgreich angewendet