Dokumentations anpassungen.
This commit is contained in:
+5
-9
@@ -7,7 +7,7 @@ import datetime # Import für Datums- und Zeitstempel
|
|||||||
|
|
||||||
|
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
# KONFIGURATION & DATEIEN
|
# Teil 1 KONFIGURATION & DATEIEN
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
|
|
||||||
CHIP_NAMES_FILE = "data.json"
|
CHIP_NAMES_FILE = "data.json"
|
||||||
@@ -69,21 +69,18 @@ def load_config():
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
# ... (Error Handling bleibt gleich) ...
|
|
||||||
print("❌ KRITISCHER FEHLER: Die Datei data.json wurde nicht gefunden!")
|
print("❌ KRITISCHER FEHLER: Die Datei data.json wurde nicht gefunden!")
|
||||||
print("Bitte erstellen Sie diese Datei und verwenden Sie die korrekte Struktur.")
|
print("Bitte erstellen Sie diese Datei und verwenden Sie die korrekte Struktur.")
|
||||||
return False
|
return False
|
||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError:
|
||||||
# ... (Error Handling bleibt gleich) ...
|
|
||||||
print(f"❌ KRITISCHER FEHLER: Die Datei {CHIP_NAMES_FILE} ist kein gültiges JSON!")
|
print(f"❌ KRITISCHER FEHLER: Die Datei {CHIP_NAMES_FILE} ist kein gültiges JSON!")
|
||||||
return False
|
return False
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
# ... (Error Handling bleibt gleich) ...
|
|
||||||
print(f"❌ KONFIGURIERUNGSFEHLER: {e}")
|
print(f"❌ KONFIGURIERUNGSFEHLER: {e}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
# 💾 Funktion zur Zustandsspeicherung (Speichert Status UND Zeit)
|
# Teil 2 Funktion zur Zustandsspeicherung (Speichert Status UND Zeit)
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
|
|
||||||
def save_state():
|
def save_state():
|
||||||
@@ -110,7 +107,7 @@ def save_state():
|
|||||||
|
|
||||||
|
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
# ⚙️ Angepasste Funktion (Status-Update, Logging & Time Stamping)
|
# Teil 3 Status-Update, Logging & Time Stamping
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
|
|
||||||
def update_status(chip_id):
|
def update_status(chip_id):
|
||||||
@@ -144,7 +141,7 @@ def update_status(chip_id):
|
|||||||
|
|
||||||
|
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
# MQTT LOGIK (Bleibt unverändert)
|
# Teil 4 MQTT LOGIK
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
|
|
||||||
def on_connect(client, userdata, flags, rc):
|
def on_connect(client, userdata, flags, rc):
|
||||||
@@ -171,7 +168,6 @@ def on_message(client, userdata, msg):
|
|||||||
|
|
||||||
def run_mqtt_client():
|
def run_mqtt_client():
|
||||||
"""Startet den MQTT-Client im Hintergrundthread."""
|
"""Startet den MQTT-Client im Hintergrundthread."""
|
||||||
# ... (Code bleibt gleich) ...
|
|
||||||
client = mqtt.Client("RFID_Tracker")
|
client = mqtt.Client("RFID_Tracker")
|
||||||
client.on_connect = on_connect
|
client.on_connect = on_connect
|
||||||
client.on_message = on_message
|
client.on_message = on_message
|
||||||
@@ -184,7 +180,7 @@ def run_mqtt_client():
|
|||||||
print(f"\n!!! KRITISCHER FEHLER !!! Broker-Verbindung fehlgeschlagen ({e}). Prüfen Sie die Einstellungen in data.json.")
|
print(f"\n!!! KRITISCHER FEHLER !!! Broker-Verbindung fehlgeschlagen ({e}). Prüfen Sie die Einstellungen in data.json.")
|
||||||
|
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
# WEB-SERVER LOGIK (Flask) - Bleibt unverändert
|
# Teil 5 WEB-SERVER LOGIK (Flask)
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
|
|||||||
@@ -1,28 +1,29 @@
|
|||||||
{
|
{
|
||||||
|
"__comment__": "Alle Registrierten Chips",
|
||||||
"chips": [
|
"chips": [
|
||||||
{
|
{
|
||||||
"name": "1",
|
"name": "1",
|
||||||
"id": "729558387180",
|
"id": "729558387180",
|
||||||
"status": "0",
|
"status": "0",
|
||||||
"time_active": "2026-06-10T13:07:21.722653"
|
"time_active": "2026-06-12T08:22:50.365019"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "2",
|
"name": "2",
|
||||||
"id": "987572218311",
|
"id": "987572218311",
|
||||||
"status": "0",
|
"status": "0",
|
||||||
"time_active": "2026-06-10T13:07:21.722681"
|
"time_active": "2026-06-12T08:22:50.365048"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "3",
|
"name": "3",
|
||||||
"id": "842310768930",
|
"id": "842310768930",
|
||||||
"status": "0",
|
"status": "0",
|
||||||
"time_active": "2026-06-10T13:07:21.722690"
|
"time_active": "2026-06-12T08:22:50.365056"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "4",
|
"name": "4",
|
||||||
"id": "773910059391",
|
"id": "773910059391",
|
||||||
"status": "0",
|
"status": "1",
|
||||||
"time_active": "2026-06-10T13:07:21.722698"
|
"time_active": "2026-06-12T08:22:50.365063"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+4
-2
@@ -1,15 +1,17 @@
|
|||||||
{
|
{
|
||||||
|
"__comment__": "Config für MQTT",
|
||||||
"mqtt_config": {
|
"mqtt_config": {
|
||||||
"broker": "192.168.213.12",
|
"broker": "192.168.213.12",
|
||||||
"port": 1883,
|
"port": 1883,
|
||||||
"topic": "RFID"
|
"topic": "RFID"
|
||||||
},
|
},
|
||||||
|
"__comment2__": "Alle Registrierten Chips",
|
||||||
"chips": [
|
"chips": [
|
||||||
{
|
{
|
||||||
"name": "1",
|
"name": "1",
|
||||||
"id": "729558387180",
|
"id": "729558387180",
|
||||||
"status": "0",
|
"status": "1",
|
||||||
"time_active": ""
|
"time_active": "2026-06-12T08:22:50.365063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "2",
|
"name": "2",
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>RFID Status Tracker</title>
|
<title>RFID Status Tracker</title>
|
||||||
<!-- (Ihr gesamter CSS Block bleibt hier unverändert) -->
|
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
|||||||
Reference in New Issue
Block a user