fix: keep MAC, version, LEDs in DB when device goes offline

This commit is contained in:
2026-04-24 13:35:41 +02:00
parent 02ab0d0139
commit 5294e8ef50
2 changed files with 24 additions and 21 deletions
+16 -12
View File
@@ -208,18 +208,22 @@ def check_devices():
devices = conn.execute("SELECT id, hostname FROM wled_devices").fetchall()
for dev in devices:
info = get_wled_info(dev["hostname"])
conn.execute("""
UPDATE wled_devices
SET online=?, leds=?, version=?, mac=?, last_check=?
WHERE id=?
""", (
1 if info.get("online") else 0,
info.get("leds", 0) if info.get("online") else 0,
info.get("version", "") if info.get("online") else "",
info.get("mac", "") if info.get("online") else "",
datetime.now(),
dev["id"],
))
if info.get("online"):
conn.execute("""
UPDATE wled_devices
SET online=1, leds=?, version=?, mac=?, last_check=?
WHERE id=?
""", (
info.get("leds", 0),
info.get("version", ""),
info.get("mac", ""),
datetime.now(),
dev["id"],
))
else:
conn.execute("""
UPDATE wled_devices SET online=0, last_check=? WHERE id=?
""", (datetime.now(), dev["id"]))
conn.commit()
logger.info("Device-Check: %d Geraete geprueft", len(devices))
except Exception as e: