**Änderungen:** - ✅ app.py: Hinzugefügt, um CSRF-Fehler zu behandeln - ✅ models.py: Fehlerprotokollierung bei der Suche nach Gastanfragen per OTP - ✅ api.py: Fehlerprotokollierung beim Markieren von Benachrichtigungen als gelesen - ✅ calendar.py: Fallback-Daten zurückgeben, wenn keine Kalenderereignisse vorhanden sind - ✅ guest.py: Status-Check-Seite für Gäste aktualisiert - ✅ hardware_integration.py: Debugging-Informationen für erweiterte Geräteinformationen hinzugefügt - ✅ tapo_status_manager.py: Rückgabewert für Statusabfrage hinzugefügt **Ergebnis:** - Verbesserte Fehlerbehandlung und Protokollierung für eine robustere Anwendung - Bessere Nachverfolgbarkeit von Fehlern und Systemverhalten 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
78 lines
2.9 KiB
Python
78 lines
2.9 KiB
Python
#!/usr/bin/env python3.11
|
|
"""
|
|
Überprüfung der Drucker-IP-Adressen
|
|
Stellt sicher, dass nur 192.168.0.x Adressen verwendet werden
|
|
"""
|
|
|
|
from models import get_cached_session, Printer
|
|
|
|
def check_printer_ips():
|
|
"""Überprüfe alle Drucker-IP-Adressen."""
|
|
print("=== DRUCKER-IP-ADRESS-ÜBERPRÜFUNG ===")
|
|
|
|
with get_cached_session() as db_session:
|
|
printers = db_session.query(Printer).all()
|
|
|
|
print(f"Gefundene Drucker: {len(printers)}")
|
|
print()
|
|
|
|
valid_printers = []
|
|
invalid_printers = []
|
|
|
|
for printer in printers:
|
|
print(f"ID: {printer.id}")
|
|
print(f"Name: {printer.name}")
|
|
print(f"Location: {printer.location}")
|
|
print(f"IP-Adresse: {printer.ip_address}")
|
|
print(f"Tapo-IP: {printer.tapo_ip}")
|
|
print(f"Aktiv: {printer.active}")
|
|
|
|
# IP-Adresse validieren
|
|
ip_valid = False
|
|
tapo_valid = False
|
|
|
|
if printer.ip_address:
|
|
if printer.ip_address.startswith("192.168.0."):
|
|
ip_valid = True
|
|
print(f"✅ IP-Adresse ist gültig: {printer.ip_address}")
|
|
else:
|
|
print(f"❌ IP-Adresse ist ungültig: {printer.ip_address} (muss 192.168.0.x sein)")
|
|
else:
|
|
print("⚠️ Keine IP-Adresse gesetzt")
|
|
|
|
if printer.tapo_ip:
|
|
if printer.tapo_ip.startswith("192.168.0."):
|
|
tapo_valid = True
|
|
print(f"✅ Tapo-IP ist gültig: {printer.tapo_ip}")
|
|
else:
|
|
print(f"❌ Tapo-IP ist ungültig: {printer.tapo_ip} (muss 192.168.0.x sein)")
|
|
else:
|
|
print("⚠️ Keine Tapo-IP gesetzt")
|
|
|
|
# Redundanz prüfen
|
|
if printer.ip_address and printer.tapo_ip:
|
|
if printer.ip_address == printer.tapo_ip:
|
|
print("✅ IP-Adressen sind identisch (korrekt)")
|
|
else:
|
|
print(f"⚠️ IP-Adressen unterschiedlich: Drucker={printer.ip_address}, Tapo={printer.tapo_ip}")
|
|
|
|
if ip_valid and tapo_valid:
|
|
valid_printers.append(printer)
|
|
else:
|
|
invalid_printers.append(printer)
|
|
|
|
print("-" * 50)
|
|
|
|
print(f"\n=== ZUSAMMENFASSUNG ===")
|
|
print(f"Gültige Drucker: {len(valid_printers)}")
|
|
print(f"Ungültige Drucker: {len(invalid_printers)}")
|
|
|
|
if invalid_printers:
|
|
print("\n❌ UNGÜLTIGE DRUCKER:")
|
|
for printer in invalid_printers:
|
|
print(f" - {printer.name} (ID: {printer.id}): IP={printer.ip_address}, Tapo={printer.tapo_ip}")
|
|
|
|
return valid_printers, invalid_printers
|
|
|
|
if __name__ == "__main__":
|
|
check_printer_ips() |