From 09ee8c245e9e2fa410efa3f4a379ac6accb9991f Mon Sep 17 00:00:00 2001 From: Tim Eertmoed Date: Sun, 12 Oct 2025 17:09:43 +0200 Subject: [PATCH] srv/poe_manager/app.py aktualisiert --- srv/poe_manager/app.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/srv/poe_manager/app.py b/srv/poe_manager/app.py index 8672e16..121b1fd 100644 --- a/srv/poe_manager/app.py +++ b/srv/poe_manager/app.py @@ -122,13 +122,13 @@ def index(): c.execute("SELECT mac, name, is_active FROM devices ORDER BY name ASC") devices = c.fetchall() - # Intervall laden + # Intervall aus DB laden c.execute("SELECT value FROM settings WHERE key='interval'") row = c.fetchone() interval = int(row[0]) if row else 5 conn.close() - # Neu: Status und "zuletzt online" ermitteln + # Status aus Logdateien ermitteln log_files = glob.glob("/var/log/rpi-*.log") status_dict = {} last_seen_dict = {} @@ -140,28 +140,23 @@ def index(): for dev in devices: last_status = None - last_time = None - - for line in reversed(lines): # von unten nach oben lesen + for line in reversed(lines): if f"{dev[1]} ist erreichbar!" in line: last_status = "online" - last_time = line.split(" ")[0] + " " + line.split(" ")[1] break elif f"{dev[1]} ist nicht erreichbar!" in line: last_status = "offline" - last_time = line.split(" ")[0] + " " + line.split(" ")[1] break if last_status: status_dict[dev[0]] = last_status if last_status == "offline": - last_seen_dict[dev[0]] = [f"Zuletzt online: {last_time}", dev[1]] + last_seen_dict[dev[0]] = get_last_seen(dev[1]) else: status_dict[dev[0]] = "unbekannt" return render_template("index.html", devices=devices, status=status_dict, last_seen=last_seen_dict, interval=interval) - @app.route("/settings", methods=["GET", "POST"]) @login_required def settings():