📚 Improved IHK Projektdokumentation: Updated Markdown files & database logs for better clarity and organization. 🖊️🔍

This commit is contained in:
Till Tomczak 2025-06-03 20:50:38 +02:00
parent 0c4ee77648
commit b5a2eb913b
6 changed files with 645 additions and 54 deletions

View File

@ -177,19 +177,21 @@ Aufräumarbeiten), noch eine verursachungsgerechte Kostenzuordnung
möglich waren. möglich waren.
Ein erstmaliger Lösungsansatz durch den ehemaligen Auszubildenden Torben Ein erstmaliger Lösungsansatz durch den ehemaligen Auszubildenden Torben
Haack hatte einen vielversprechenden Frontend-Prototyp auf Basis von Haack Fachinformatiker für Daten- und Prozessanalyse hatte einen
Next.js hervorgebracht. Der Prototyp verfügte über eine moderne vielversprechenden Frontend-Prototyp auf Basis von Next.js
Benutzeroberfläche und gute Analysefunktionen, allerdings jedoch fehlte hervorgebracht. Der Prototyp verfügte über eine moderne
ganz fundamental die essentielle Backend-Funktionalität; ohne dies blieb Benutzeroberfläche mit umfangreichen Analysefunktionen seiner
die auf Prototypen-basierende Projektarbeit des Torben Haacks in der Fachrichtung entsprechend, allerdings fehlte die für den praktischen
praktischen Anwendung ohne jegliche Funktion. Ich sah für mich also die Einsatz unabdingbare Backend-Funktionalität; die cyberphysische
Chance, die Idee hinter dem Prototypen aufzugreifen und mich ihrer im Anbindung der Hardware-Komponenten lag außerhalb seines
Rahmen meiner hier dargelegten Projektarbeit anzunehmen, da ich sofort Kompetenzbereichs und war ursprünglich als kollaborative Ergänzung
mehrere Möglichkeiten zur Einbringung meiner Fachrichtung identifizieren angedacht. Ich erkannte sofort die Synergie unserer unterschiedlichen
konnte und ich keine notwendige Obligation - wie bei anderen Fachrichtungen: Während Haack die Datenvisualisierung und
Projektmöglichkeiten die sich mir boten - verspürte, sondern einen Prozessanalyse meisterhaft im Frontend abbildete, konnte ich mit meiner
Anflug von Ideen, Tatendrang und intrinsischer Motivation; sprich: es Spezialisierung auf digitale Vernetzung genau jene Schnittstelle zum
kitzelte meine Leidenschaft. cyberphysischen System schaffen, die dem Prototyp zur Produktivreife
fehlte. Diese komplementäre Konstellation nicht die bloße Verfügbarkeit
eines unfertigen Projekts weckte meine intrinsische Motivation.
## 1.2 Ableitung der Projektziele ## 1.2 Ableitung der Projektziele
@ -248,11 +250,14 @@ Nachhinein als goldrichtig erweisen sollte.
## 1.4 Projektumfeld ## 1.4 Projektumfeld
Das Projekt wurde im Rahmen meiner Ausbildung zum Fachinformatiker für Die Realisierung des Projekts erfolgte in der spezifischen Konstellation
digitale Vernetzung bei der Mercedes-Benz AG durchgeführt. Die der Mercedes-Benz-Ausbildungsumgebung einem Mikrokosmos zwischen
Technische Berufsausbildungsstätte bot dabei die vorhandene konzernweiten Standards und pragmatischer Ausbildungsrealität. Die
Infrastruktur und wenn auch manchmal zögerliche fachliche Technische Berufsausbildungsstätte fungierte dabei nicht nur als
Unterstützung durch die Ausbildungsleitung. physischer Ort, sondern als komplexes Spannungsfeld zwischen
verfügbarer Infrastruktur, bürokratischen Prozessen und dem
wohlwollenden, wenn auch zeitweise zögerlichen Support der
Ausbildungsleitung.
Die Zusammenarbeit mit Torben Haack erfolgte in Form einer sequenziellen Die Zusammenarbeit mit Torben Haack erfolgte in Form einer sequenziellen
Weiterentwicklung; ein Umstand, der sich aus der zeitlichen Versetzung Weiterentwicklung; ein Umstand, der sich aus der zeitlichen Versetzung
@ -305,23 +310,26 @@ Lösungsansätzen zwang.
Die Authentifizierung und Autorisierung musste robust implementiert Die Authentifizierung und Autorisierung musste robust implementiert
werden, ohne die Benutzerfreundlichkeit zu beeinträchtigen ein werden, ohne die Benutzerfreundlichkeit zu beeinträchtigen ein
klassisches Dilemma der IT-Sicherheit. Die Entscheidung für klassisches Dilemma der IT-Sicherheit. Die Implementierung von
bcrypt-basiertes Password-Hashing mit einem Cost-Faktor von 12 stellte bcrypt-basiertem Password-Hashing mit Cost-Faktor 12 war keine
einen vernünftigen Kompromiss zwischen Sicherheit und Performance auf Entscheidung, sondern eine Selbstverständlichkeit alles andere wäre
dem ressourcenbeschränkten Raspberry Pi dar. fahrlässig gewesen. Der gewählte Cost-Faktor balancierte die
kryptografische Stärke mit der begrenzten Rechenleistung des
Raspberry Pi.
Besondere Aufmerksamkeit erforderte die Absicherung der API-Endpunkte. Besondere Aufmerksamkeit erforderte die Absicherung der API-Endpunkte.
Jeder Endpunkt musste gegen gängige Angriffsvektoren wie SQL-Injection, Jeder Endpunkt musste gegen gängige Angriffsvektoren wie SQL-Injection,
Cross-Site-Scripting und CSRF-Attacken geschützt werden. Die Cross-Site-Scripting und CSRF-Attacken geschützt werden. Die
Implementierung eines Rate-Limiting-Mechanismus verhindert zudem Implementierung eines Rate-Limiting-Mechanismus erschwert
Brute-Force-Angriffe auf die Authentifizierungsschnittstelle eine Brute-Force-Angriffe auf die Authentifizierungsschnittstelle erheblich
Maßnahme, die sich später als weitsichtig erweisen sollte. verhindert sie freilich nicht vollständig, macht sie aber ökonomisch
unattraktiv.
## 1.7 Darstellung der vorhandenen Systemarchitektur ## 1.7 Darstellung der vorhandenen Systemarchitektur
Die vorgefundene Systemarchitektur wenn man sie denn überhaupt so Die vorgefundene Systemarchitektur möchte man sie überhaupt so
nennen möchte bestand aus isolierten Komponenten ohne jegliche nennen bestand aus diffusen, operativ maximal auf ein Testnetzwerk
Integration. Die 3D-Drucker operierten als Insellösungen, verbunden begrenzten Komponenten ohne jegliche praktische Integration. Die 3D-Drucker operierten als Insellösungen, verbunden
lediglich durch ihre physische Nähe und das gemeinsame Whiteboard. Der lediglich durch ihre physische Nähe und das gemeinsame Whiteboard. Der
Frontend-Prototyp von Torben Haack existierte als Docker-Container auf Frontend-Prototyp von Torben Haack existierte als Docker-Container auf
einem Entwicklungsserver, ohne Anbindung an reale Daten oder Funktionen. einem Entwicklungsserver, ohne Anbindung an reale Daten oder Funktionen.
@ -417,10 +425,14 @@ Die sechs TP-Link Tapo P110 Smart-Plugs bildeten das Herzstück der
Hardware-Lösung. Jedes Gerät erhielt eine statische IP-Adresse im Hardware-Lösung. Jedes Gerät erhielt eine statische IP-Adresse im
Bereich 192.168.0.100 bis 192.168.0.106 eine scheinbar triviale Bereich 192.168.0.100 bis 192.168.0.106 eine scheinbar triviale
Konfiguration, die sich später als entscheidend für die Systemstabilität Konfiguration, die sich später als entscheidend für die Systemstabilität
erweisen sollte. Die ursprüngliche Annahme, dass sich diese Geräte erweisen sollte. Meine Zuversicht bezüglich einer einfachen Integration
problemlos integrieren lassen würden, erwies sich als optimistisch; die speiste sich aus meiner privaten Infrastruktur, in der ich bereits
proprietäre API erforderte erheblichen Reverse-Engineering-Aufwand TAPO-Geräte aller Art erfolgreich in air-gapped Networks integriert
mittels Wireshark. hatte allerdings mit dem entscheidenden Unterschied, dort nie mit der
eigenständigen programmatischen Integration als Hauptkomponente
beauftragt gewesen zu sein. Diese naive Extrapolation sollte sich
rächen: Die proprietäre API erforderte erheblichen
Reverse-Engineering-Aufwand mittels Wireshark.
Zur professionellen Unterbringung der Hardware wurde ein Zur professionellen Unterbringung der Hardware wurde ein
19-Zoll-Serverschrank beschafft. Die internen Beschaffungsprozesse der 19-Zoll-Serverschrank beschafft. Die internen Beschaffungsprozesse der
@ -432,10 +444,15 @@ Präsentation des Projekts, die mir wichtig war.
Die Software-Architektur basierte vollständig auf Die Software-Architektur basierte vollständig auf
Open-Source-Technologien: Python 3.11 als Programmiersprache, Flask 2.3 Open-Source-Technologien: Python 3.11 als Programmiersprache, Flask 2.3
als Web-Framework, SQLAlchemy 2.0 für die Datenbankabstraktion und als Web-Framework, SQLAlchemy 2.0 für die Datenbankabstraktion und
SQLite als Datenbanksystem. Diese Technologieauswahl gewährleistete SQLite als Datenbanksystem. Als Betriebssystem entschied ich mich nach
nicht nur Unabhängigkeit von proprietären Lösungen, sondern erfüllte anfänglicher Erwägung von NixOS letztendlich für Raspbian die
auch die strikte Offline-Anforderung des Projekts ein Umstand, der Verlockung deklarativer Konfiguration wich dem Pragmatismus, nicht
sich als Segen erwies. unnötig zu experimentieren, wenn die Zeit ohnehin knapp bemessen war.
Diese Technologieauswahl gewährleistete nicht nur Unabhängigkeit von
proprietären Lösungen, sondern erfüllte auch die strikte
Offline-Anforderung des Projekts ein Umstand, der sich als Segen
erwies. Firewalld übernahm die Rolle als Firewall-Service, eine
bewährte Wahl für die granulare Netzwerkkontrolle.
## 2.3 Planung der Qualitätssicherung ## 2.3 Planung der Qualitätssicherung
@ -528,6 +545,13 @@ Standards entworfen, mit klarer Trennung zwischen öffentlichen und
authentifizierten Endpunkten. Über 100 Endpunkte wurden spezifiziert authentifizierten Endpunkten. Über 100 Endpunkte wurden spezifiziert
eine Zahl, die zunächst übertrieben erschien, sich aber als notwendig eine Zahl, die zunächst übertrieben erschien, sich aber als notwendig
erwies; jeder Endpunkt ein kleines Kunstwerk der Funktionalität. erwies; jeder Endpunkt ein kleines Kunstwerk der Funktionalität.
Ursprünglich war geplant, zusätzliche API-Endpunkte zu implementieren,
die speziell Haacks Daten- und Prozessanalyse-Features im Frontend
unterstützt hätten analytische Dashboards, Auslastungsstatistiken,
Prozessoptimierungsvorschläge. Diese ambitionierte Erweiterung fiel
jedoch dem Zeitdruck und insbesondere dem Verlust der selbstsignierten
Zertifikate zum Opfer, ohne die die erforderliche sichere Kommunikation
zwischen den Komponenten nicht gewährleistet werden konnte.
Die Schnittstelle zwischen Frontend und Backend basierte auf Die Schnittstelle zwischen Frontend und Backend basierte auf
JSON-formatierter Kommunikation über HTTPS. Die Implementierung von JSON-formatierter Kommunikation über HTTPS. Die Implementierung von
@ -576,7 +600,13 @@ temporär.
Die Durchführung des Projekts glich einer technischen Expedition mit Die Durchführung des Projekts glich einer technischen Expedition mit
unerwarteten Wendungen und kreativen Lösungsansätzen. Die unerwarteten Wendungen und kreativen Lösungsansätzen. Die
ursprünglich geplante lineare Vorgehensweise wich schnell einer ursprünglich geplante lineare Vorgehensweise wich schnell einer
iterativen, problemgetriebenen Herangehensweise. iterativen, problemgetriebenen Herangehensweise. Für die
programmatische Umsetzung der Frontend-Anpassungen nahm ich der
Ehrlichkeit und meiner Fachrichtung geschuldet umfassend
Unterstützung künstlicher Intelligenz zu Hilfe; mehr als absolut
notwendig, um das Zeitlimit nicht um Längen zu überschreiten und die
Profession meiner Fachrichtung digitale Vernetzung einzuhalten,
anstatt mich in den Untiefen von React-Komponenten zu verlieren.
### 3.1.1 Datenabfrage der Sensoren ### 3.1.1 Datenabfrage der Sensoren
@ -593,11 +623,17 @@ dritte Ansatz Reverse Engineering mittels Wireshark führte zum
Durchbruch. Durchbruch.
Die Wireshark-Analyse offenbarte das komplexe Die Wireshark-Analyse offenbarte das komplexe
Authentifizierungsprotokoll der TAPO-Geräte. Jede Kommunikation Authentifizierungsprotokoll der TAPO-Geräte. Nach etlichem
erforderte einen verschlüsselten Handshake, gefolgt von einem Herumprobieren und der Feststellung, dass die Python-Schnittstelle
Session-Token, der für alle weiteren Operationen benötigt wurde. Die schlichtweg nicht funktionierte, zeichnete ich Netzwerkmitschnitte auf.
Verschlüsselung basierte auf einer Kombination aus RSA und AES Auffällig: immer dieselben Responses bei verschlüsselter Verbindung.
durchaus respektabel für Consumer-Hardware. Das Simulieren einzelner Anfragen blieb erfolglos bis zum Geistesblitz:
Die Anfragensequenz musste es sein! Tatsächlich erforderte jede
Kommunikation einen spezifischen verschlüsselten Handshake mit
temporärem Cookie, gefolgt von einem Session-Token für alle weiteren
Operationen. Die proprietäre Verschlüsselung basierte auf einer
Kombination aus RSA und AES die Verbindungsaushandlung folgte einem
strikt sequenziellen Muster, das keine Abweichungen tolerierte.
Die Implementierung der Datenabfrage erfolgte schließlich über eine Die Implementierung der Datenabfrage erfolgte schließlich über eine
selbstentwickelte Wrapper-Klasse, die die Komplexität der Kommunikation selbstentwickelte Wrapper-Klasse, die die Komplexität der Kommunikation
@ -645,9 +681,23 @@ konsolidieren, vereinfachte nicht nur die Architektur, sondern
reduzierte auch Kosten und Stromverbrauch. reduzierte auch Kosten und Stromverbrauch.
Der versehentliche Verlust der SSL-Zertifikate während einer Der versehentliche Verlust der SSL-Zertifikate während einer
Neuinstallation führte zur Implementierung Neuinstallation genauer: die bereits von Haack genehmigten und
eines robusten Backup-Systems. Kritische Konfigurationsdateien werden nun dreifach mühsam durch die IT-Prozesse gebrachten Zertifikate markierte einen
gesichert. Wendepunkt des Projekts. Bei etwa der Hälfte der Projektlaufzeit
löschte ich in einem unachtsamen Moment genau jene Zertifikate, die
die geplante Intranet-Integration ermöglicht hätten. Bis zu diesem
Punkt war ich bereits so weit gekommen, dass das Frontend erfolgreich
den GitHub OAuth-Zertifizierungsmechanismus des Unternehmens
ansteuern konnte. Doch eine uns im E-Mail-Verkehr zuvor mitgeteilte
IP-Adresse war wie ich mittels zenmap-Analyse herausfand aus
unerfindlichen Gründen im DNS nicht mehr korrekt zugeordnet. Die
Kombination aus verlorenen Zertifikaten und DNS-Anomalien machte die
Intranet-Anbindung zum Zeitpunkt der Projektabgabe unmöglich; die
Konzerngröße mit ihren entsprechend entschleunigenden Formalitäten
und Genehmigungsprozessen ließ eine Neubeantragung innerhalb der
verbleibenden Zeit nicht zu. Diese schmerzhafte Erfahrung führte
immerhin zur Implementierung eines robusten Backup-Systems mit
dreifacher Sicherung kritischer Konfigurationsdateien.
Die Entscheidung, von der komplexen PyP100-Integration zu einem Die Entscheidung, von der komplexen PyP100-Integration zu einem
alternativen Modul zu wechseln, fiel nach tagelangen frustrierenden alternativen Modul zu wechseln, fiel nach tagelangen frustrierenden
@ -721,10 +771,19 @@ erheblich, aber notwendig für die Compliance.
Die SSL-Konfiguration mit selbstsignierten Zertifikaten war ein Die SSL-Konfiguration mit selbstsignierten Zertifikaten war ein
notwendiges Übel. Ohne Internet-Zugang war Let's Encrypt keine Option. notwendiges Übel. Ohne Internet-Zugang war Let's Encrypt keine Option.
Die Zertifikate wurden mit allen relevanten SANs (Subject Alternative Die Zertifikate wurden mittels OpenSSL mit allen relevanten SANs
Names) generiert, um Kompatibilitätsprobleme zu vermeiden. Die (Subject Alternative Names) generiert ein Prozess, der trotz seiner
Browser-Warnungen wurden durch eine dokumentierte Prozedur zur scheinbaren Trivialität mehrere Iterationen erforderte, um
Zertifikats-Installation umgangen nicht elegant, aber funktional. Kompatibilitätsprobleme mit verschiedenen Browsern zu vermeiden. Die
unvermeidlichen Browser-Warnungen wurden durch eine dokumentierte
Prozedur zur Zertifikats-Installation umgangen, ergänzt durch die
Installation der Mercedes Root CA-Zertifikate für die geplante
Intranet-Integration. Zusätzlich implementierte ich einen ausgeklügelten
Kiosk-Modus: OpenBox als minimalistisches Desktop-Environment, drei
Chromium-Instanzen im Kiosk-Modus (Port 443 primär, Port 80 als
Fallback, Port 5000 für lokalen Kiosk-Zugriff), automatischer Start via
systemd-Service eine Lösung, die nach Tests in VirtualBox nahtlos auf
die Produktivumgebung übertragen werden konnte.
Die Integration der Smart-Plugs erforderte statische IP-Adressen Die Integration der Smart-Plugs erforderte statische IP-Adressen
DHCP-Reservierungen waren in der Netzwerk-Policy nicht vorgesehen. Die DHCP-Reservierungen waren in der Netzwerk-Policy nicht vorgesehen. Die
@ -744,11 +803,13 @@ API-Endpunkte wurden systematisch gegen die OWASP Top 10 abgesichert.
Input-Validation erfolgte auf mehreren Ebenen Client-seitig für UX, Input-Validation erfolgte auf mehreren Ebenen Client-seitig für UX,
Server-seitig für Sicherheit; Vertrauen ist gut, Kontrolle ist besser. Server-seitig für Sicherheit; Vertrauen ist gut, Kontrolle ist besser.
Die Implementierung eines Rate-Limiters verhinderte Die Implementierung eines Rate-Limiters erschwerte
Brute-Force-Angriffe. Nach fünf fehlgeschlagenen Login-Versuchen wurde Brute-Force-Angriffe erheblich wenngleich eine vollständige
die IP-Adresse für 30 Minuten gesperrt lang genug, um Angriffe Verhinderung illusorisch bleibt. Nach fünf fehlgeschlagenen
unwirtschaftlich zu machen, kurz genug, um legitime Nutzer nicht Login-Versuchen wurde die IP-Adresse für 30 Minuten gesperrt lang
übermäßig zu frustrieren; ein Balanceakt zwischen Sicherheit und genug, um Angriffe ökonomisch unattraktiv zu machen, kurz genug, um
legitime Nutzer bei versehentlichen Fehleingaben nicht übermäßig zu
frustrieren; ein kalkulierter Kompromiss zwischen Sicherheit und
Benutzerfreundlichkeit. Benutzerfreundlichkeit.
DSGVO-Compliance wurde durch Privacy-by-Design erreicht. DSGVO-Compliance wurde durch Privacy-by-Design erreicht.
@ -893,13 +954,34 @@ werden können.
# Anlagen # Anlagen
## Netzwerkdiagramme und Systemarchitektur ## Netzwerkdiagramme und Systemarchitektur
- Netzwerktopologie der TBA-Infrastruktur
- Systemarchitektur MYP
- zenmap-Visualisierung der DNS-Anomalie
## API-Dokumentation ## API-Dokumentation
- Vollständige REST-API-Spezifikation
- Authentifizierungs-Flows
- Beispiel-Requests und Responses
## Benutzerhandbuch ## Benutzerhandbuch
- Installation und Konfiguration
- Bedienungsanleitung für Endanwender
- Administratorhandbuch
## Testprotokolle ## Testprotokolle
- Unit-Test-Ergebnisse
- Integrationstests
- Performance-Messungen
- Sicherheitsaudits
## Screenshots der Benutzeroberfläche ## Screenshots der Benutzeroberfläche
- Dashboard-Ansicht
- Reservierungskalender
- Administrationsbereich
- Kiosk-Modus
## Konfigurationsdateien und Deployment-Skripte ## Konfigurationsdateien und Deployment-Skripte
- systemd-Service-Definitionen
- OpenSSL-Zertifikatsgenerierung
- Firewalld-Konfiguration
- Backup-Skripte

Binary file not shown.

Binary file not shown.

View File

@ -3406,3 +3406,7 @@
2025-06-03 20:42:34 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Status-Update abgeschlossen für 1 Drucker 2025-06-03 20:42:34 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Status-Update abgeschlossen für 1 Drucker
2025-06-03 20:42:34 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105 2025-06-03 20:42:34 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105
2025-06-03 20:42:40 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s 2025-06-03 20:42:40 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s
2025-06-03 20:47:34 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
2025-06-03 20:47:34 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Prüfe Status von 1 aktiven Druckern...
2025-06-03 20:47:43 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.103): UNREACHABLE (Ping fehlgeschlagen)
2025-06-03 20:47:43 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Status-Update abgeschlossen für 1 Drucker

View File

@ -6772,3 +6772,84 @@
2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) 2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker 2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.26ms 2025-06-03 20:45:32 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.26ms
2025-06-03 20:45:58 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:45:58 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:45:58 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.67ms
2025-06-03 20:46:02 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:46:02 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:46:02 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.37ms
2025-06-03 20:46:02 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:46:02 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:46:02 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.55ms
2025-06-03 20:46:28 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:46:28 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:46:28 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.28ms
2025-06-03 20:46:34 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:46:34 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:46:34 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.40ms
2025-06-03 20:46:34 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:46:34 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:46:34 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.28ms
2025-06-03 20:47:02 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:47:02 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:47:02 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.46ms
2025-06-03 20:47:09 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:47:09 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:47:09 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.50ms
2025-06-03 20:47:10 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:47:10 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:47:10 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.52ms
2025-06-03 20:47:34 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:47:43 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:47:43 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 9006.37ms
2025-06-03 20:47:49 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:47:49 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:47:49 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.56ms
2025-06-03 20:47:52 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:47:52 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:47:52 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.33ms
2025-06-03 20:48:11 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:48:11 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:48:11 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.30ms
2025-06-03 20:48:13 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:48:13 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:48:13 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.26ms
2025-06-03 20:48:13 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:48:13 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:48:13 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.31ms
2025-06-03 20:48:37 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:48:37 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:48:37 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.26ms
2025-06-03 20:48:46 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:48:46 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:48:46 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.25ms
2025-06-03 20:48:46 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:48:46 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:48:46 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.25ms
2025-06-03 20:49:05 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:49:05 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:49:05 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.29ms
2025-06-03 20:49:20 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:49:20 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:49:20 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.33ms
2025-06-03 20:49:20 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:49:20 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:49:20 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.34ms
2025-06-03 20:49:47 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:49:47 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:49:47 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.30ms
2025-06-03 20:49:53 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:49:53 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:49:53 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.47ms
2025-06-03 20:49:53 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:49:53 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:49:53 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.54ms
2025-06-03 20:50:23 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:50:23 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:50:23 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.29ms
2025-06-03 20:50:30 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:50:30 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:50:30 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.29ms
2025-06-03 20:50:31 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
2025-06-03 20:50:31 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 1 Drucker
2025-06-03 20:50:31 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.26ms

View File

@ -30298,3 +30298,427 @@
2025-06-03 15:58:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f0ed65f21d0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)')) 2025-06-03 15:58:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f0ed65f21d0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 15:58:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten 2025-06-03 15:58:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 15:58:22 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test 2025-06-03 15:58:22 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:42:02 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-03 20:42:06 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
2025-06-03 20:42:06 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
2025-06-03 20:42:06 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:42:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9318550>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:42:08 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:42:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9319F90>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:42:11 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:42:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A931EFD0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:42:13 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:42:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA808510>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:42:15 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:42:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9416E70>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:42:17 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:42:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C5A0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:42:19 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:42:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82CF30>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:42:21 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:42:23 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D590>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:23 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:42:23 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:42:25 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C160>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:42:25 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:42:25 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:42:27 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C6B0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:42:27 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:42:27 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:42:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D8C0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:42:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:42:30 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:42:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DBF0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:42:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:42:32 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2
2025-06-03 20:42:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DF20>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten
2025-06-03 20:42:34 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2
2025-06-03 20:42:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D590>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten
2025-06-03 20:42:36 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test
2025-06-03 20:42:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E360>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten
2025-06-03 20:42:38 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test
2025-06-03 20:42:40 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E690>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:40 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten
2025-06-03 20:42:41 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:42:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437CE0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:42:43 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:42:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E7A0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:42:45 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:42:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E470>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:42:47 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:42:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DE10>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:42:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:42:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DAE0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:42:51 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:42:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D480>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:42:53 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:42:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C490>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:42:56 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:42:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82EE00>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:42:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:42:58 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:43:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A926FDF0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:43:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:43:00 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:43:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82ECF0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:43:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:43:02 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:43:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C050>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:43:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:43:04 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:43:06 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C490>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:43:06 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:43:06 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2
2025-06-03 20:43:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D8C0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten
2025-06-03 20:43:08 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2
2025-06-03 20:43:10 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DAE0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:10 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten
2025-06-03 20:43:10 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test
2025-06-03 20:43:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DE10>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten
2025-06-03 20:43:12 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test
2025-06-03 20:43:14 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E470>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:14 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten
2025-06-03 20:43:15 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:43:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E690>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:43:17 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:43:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F130>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:43:20 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:43:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F350>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:43:22 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:43:24 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A926FDF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:24 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:43:24 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:43:26 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F570>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:26 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:43:26 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:43:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E580>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:43:28 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:43:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E250>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:43:30 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:43:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C270>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:43:32 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:43:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D590>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:43:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:43:34 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:43:37 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C270>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:43:37 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:43:37 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:43:39 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E250>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:43:39 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:43:39 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:43:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E580>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:43:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:43:41 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2
2025-06-03 20:43:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F570>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten
2025-06-03 20:43:43 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2
2025-06-03 20:43:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DF20>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten
2025-06-03 20:43:45 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test
2025-06-03 20:43:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DBF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten
2025-06-03 20:43:47 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test
2025-06-03 20:43:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D8C0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten
2025-06-03 20:43:50 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:43:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F460>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:43:52 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:43:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F130>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:43:54 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:43:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E690>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:43:56 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:43:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DE10>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:43:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:43:58 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:44:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D590>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:44:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:44:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C490>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:44:02 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:44:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C6B0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:44:04 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:44:07 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436250>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:07 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:44:07 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:44:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436360>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:44:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:44:09 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:44:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437570>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:44:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:44:11 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:44:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94367A0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:44:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:44:13 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:44:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94369C0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:44:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:44:15 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2
2025-06-03 20:44:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437350>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten
2025-06-03 20:44:17 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2
2025-06-03 20:44:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D480>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten
2025-06-03 20:44:19 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test
2025-06-03 20:44:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C160>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten
2025-06-03 20:44:21 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test
2025-06-03 20:44:24 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E470>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:24 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten
2025-06-03 20:44:25 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:44:27 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E360>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:27 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:44:27 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:44:29 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F240>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:29 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:44:29 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:44:31 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94369C0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:31 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:44:31 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:44:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437460>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:44:33 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:44:35 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437AC0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:35 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:44:35 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:44:37 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436470>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:37 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:44:37 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:44:39 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9435F20>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:39 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:44:39 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:44:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A926FDF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:44:41 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:44:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E690>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:44:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:44:43 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:44:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DD00>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:44:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:44:46 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:44:48 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82EF10>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:44:48 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:44:48 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:44:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C050>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:44:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:44:50 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2
2025-06-03 20:44:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A926FDF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten
2025-06-03 20:44:52 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2
2025-06-03 20:44:55 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436360>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:55 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten
2025-06-03 20:44:55 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test
2025-06-03 20:44:57 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437570>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:57 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten
2025-06-03 20:44:57 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test
2025-06-03 20:44:59 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94379B0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:44:59 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten
2025-06-03 20:45:00 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:45:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436030>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:45:02 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:45:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437350>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:45:04 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:45:06 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E250>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:06 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:45:06 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:45:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C050>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:45:08 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:45:10 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82EF10>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:10 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:45:10 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:45:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DD00>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:12 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:45:12 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:45:14 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E690>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:14 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:45:14 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:45:16 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A926FDF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:16 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:45:16 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:45:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436AD0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:45:19 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:45:19 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:45:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437460>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:45:21 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:45:21 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:45:23 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94368B0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:45:23 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:45:23 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:45:25 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437CE0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:45:25 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:45:25 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2
2025-06-03 20:45:27 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9435F20>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:27 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten
2025-06-03 20:45:27 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2
2025-06-03 20:45:29 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F240>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:29 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten
2025-06-03 20:45:29 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test
2025-06-03 20:45:31 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C270>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:31 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten
2025-06-03 20:45:31 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test
2025-06-03 20:45:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82DD00>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:33 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten
2025-06-03 20:45:34 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:45:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D590>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:45:36 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:45:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A926FDF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:45:38 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:45:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437AC0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:41 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:45:41 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:45:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436580>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:45:43 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:45:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94367A0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:45 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:45:45 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:45:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94369C0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:47 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:45:47 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:45:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437350>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:49 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:45:49 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:45:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D590>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:45:51 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:45:51 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:45:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E470>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:45:53 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:45:53 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:45:55 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C270>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:45:55 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:45:55 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:45:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F240>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:45:58 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:45:58 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:46:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C490>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:46:00 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:46:00 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2
2025-06-03 20:46:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E250>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:02 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten
2025-06-03 20:46:02 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2
2025-06-03 20:46:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437350>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:04 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten
2025-06-03 20:46:04 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test
2025-06-03 20:46:06 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94369C0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:06 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten
2025-06-03 20:46:06 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test
2025-06-03 20:46:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437460>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:08 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten
2025-06-03 20:46:09 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:46:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436580>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:11 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:46:11 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:46:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437CE0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:13 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:46:13 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:46:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436470>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:15 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:46:15 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:46:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C490>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:17 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:46:17 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:46:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82F240>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:20 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:46:20 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:46:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C270>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:22 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:46:22 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:46:24 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E470>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:24 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:46:24 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:46:26 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D590>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:26 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:46:26 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:46:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E580>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:46:28 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:46:28 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:46:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437CE0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:46:30 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:46:30 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:46:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94368B0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:46:32 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:46:32 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:46:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437460>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:46:34 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:46:34 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2
2025-06-03 20:46:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94369C0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:36 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 13 nicht einschalten
2025-06-03 20:46:36 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 14: e2
2025-06-03 20:46:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437350>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:38 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 14 nicht einschalten
2025-06-03 20:46:38 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 15: test
2025-06-03 20:46:40 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A926FDF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:40 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 15 nicht einschalten
2025-06-03 20:46:40 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 16: test
2025-06-03 20:46:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82D480>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:43 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 16 nicht einschalten
2025-06-03 20:46:44 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 7: test
2025-06-03 20:46:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E470>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:46 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 7 nicht einschalten
2025-06-03 20:46:46 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 8: test
2025-06-03 20:46:48 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E690>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:48 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 8 nicht einschalten
2025-06-03 20:46:48 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 1: test
2025-06-03 20:46:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E7A0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:50 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 1 nicht einschalten
2025-06-03 20:46:50 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 2: test
2025-06-03 20:46:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A926FDF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:52 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 2 nicht einschalten
2025-06-03 20:46:52 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 3: test
2025-06-03 20:46:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437DF0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:54 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 3 nicht einschalten
2025-06-03 20:46:54 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 4: test
2025-06-03 20:46:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437570>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:56 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 4 nicht einschalten
2025-06-03 20:46:56 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 5: test
2025-06-03 20:46:59 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A94367A0>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:46:59 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 5 nicht einschalten
2025-06-03 20:46:59 - [scheduler] scheduler - [INFO] INFO - 🚀 Starte geplanten Job 6: test
2025-06-03 20:47:01 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.103: HTTPConnectionPool(host='192.168.0.103', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9436250>, 'Connection to 192.168.0.103 timed out. (connect timeout=2)'))
2025-06-03 20:47:01 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Job 6 nicht einschalten
2025-06-03 20:47:01 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 9: zi
2025-06-03 20:47:03 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299A9437CE0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:47:03 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 9 nicht einschalten
2025-06-03 20:47:03 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 10: zi
2025-06-03 20:47:05 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82C6B0>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:47:05 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 10 nicht einschalten
2025-06-03 20:47:05 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 11: fee
2025-06-03 20:47:07 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E690>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:47:07 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 11 nicht einschalten
2025-06-03 20:47:07 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 12: fee
2025-06-03 20:47:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Fehler beim einschalten der Tapo-Steckdose 192.168.0.104: HTTPConnectionPool(host='192.168.0.104', port=80): Max retries exceeded with url: /app (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x00000299AA82E470>, 'Connection to 192.168.0.104 timed out. (connect timeout=2)'))
2025-06-03 20:47:09 - [scheduler] scheduler - [ERROR] ERROR - ❌ Konnte Steckdose für Sofort-Job 12 nicht einschalten
2025-06-03 20:47:09 - [scheduler] scheduler - [INFO] INFO - ⚡ Starte Sofort-Job 13: e2