From 77ae7b357d8b636900e6ec5ab7719a6fc0d5dbdf Mon Sep 17 00:00:00 2001 From: Christian Mueller Date: Fri, 24 Apr 2026 11:28:33 +0200 Subject: [PATCH] feat: show last activity timestamp per device on Tuerschilder page Co-Authored-By: Claude Opus 4.6 (1M context) --- app.py | 13 ++++++++++++- templates/devices.html | 4 +++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app.py b/app.py index 1356c7f..052fa61 100644 --- a/app.py +++ b/app.py @@ -202,9 +202,20 @@ async def toggle_user(azure_id: str): @app.get("/devices", response_class=HTMLResponse) async def devices_page(request: Request): conn = database.get_db() - devices = conn.execute( + devices_raw = conn.execute( "SELECT * FROM wled_devices ORDER BY name, hostname" ).fetchall() + # Letzte Aktivitaet pro Device aus activity_log + devices = [] + for dev in devices_raw: + last_act = conn.execute(""" + SELECT MAX(l.timestamp) as la + FROM activity_log l + WHERE l.wled_url LIKE '%' || ? || '%' + """, (dev["hostname"],)).fetchone() + d = dict(dev) + d["last_activity"] = last_act["la"] if last_act and last_act["la"] else None + devices.append(d) last_check_row = conn.execute( "SELECT MAX(last_check) as lc FROM wled_devices WHERE last_check IS NOT NULL" ).fetchone() diff --git a/templates/devices.html b/templates/devices.html index 83b2c30..df0952e 100644 --- a/templates/devices.html +++ b/templates/devices.html @@ -29,6 +29,7 @@ Name LEDs Version + Letzte Aktivitaet Segmente Aktionen @@ -53,6 +54,7 @@ {{ device.name }} {{ device.leds if device.leds else '-' }} {{ device.version if device.version else '-' }} + {{ device.last_activity or '-' }} {{ device.segment_count }}
@@ -112,7 +114,7 @@ {% if not devices %} - + Noch keine Tuerschilder vorhanden.