You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Wenn weder --serial noch --tcp (oder deren ENV-Defaults) gesetzt sind
65
+
ifnottransport:
66
+
logger.error("Kein gültiger Transport konfiguriert. Bitte geben Sie --serial oder --tcp an oder setzen Sie SIGNALDUINO_SERIAL_PORT / SIGNALDUINO_TCP_HOST in der Umgebung.")
67
+
sys.exit(1)
68
+
69
+
# Controller initialisieren
70
+
controller=SignalduinoController(
71
+
transport=transport,
72
+
message_callback=message_callback,
73
+
logger=logger
74
+
)
75
+
76
+
# Starten
77
+
try:
78
+
logger.info("Verbinde zum Signalduino...")
79
+
# NEU: Verwende async with Block
80
+
asyncwithcontroller:
81
+
logger.info("Verbunden! Starte Initialisierung und Hauptschleife...")
82
+
83
+
# Starte die Hauptschleife, warte auf deren Beendigung oder ein Timeout
84
+
awaitcontroller.run(timeout=args.timeout)
85
+
86
+
logger.info("Hauptschleife beendet.")
87
+
88
+
exceptSignalduinoConnectionErrorase:
89
+
# Wird ausgelöst, wenn die Verbindung beim Start fehlschlägt
90
+
logger.error(f"Verbindungsfehler: {e}")
91
+
logger.error("Das Programm wird beendet.")
92
+
sys.exit(1)
93
+
94
+
exceptasyncio.CancelledError:
95
+
# Wird bei SIGINT/SIGTERM durch loop.stop() ausgelöst
# Wenn weder --serial noch --tcp (oder deren ENV-Defaults) gesetzt sind
113
-
ifnottransport:
114
-
logger.error("Kein gültiger Transport konfiguriert. Bitte geben Sie --serial oder --tcp an oder setzen Sie SIGNALDUINO_SERIAL_PORT / SIGNALDUINO_TCP_HOST in der Umgebung.")
115
-
sys.exit(1)
116
-
117
-
# Controller initialisieren
118
-
controller=SignalduinoController(
119
-
transport=transport,
120
-
message_callback=message_callback,
121
-
logger=logger
122
-
)
123
-
124
-
# Graceful Shutdown Handler
158
+
# Signal-Handler zum Beenden des asyncio-Loops
125
159
defsignal_handler(sig, frame):
126
160
logger.info("Programm wird beendet...")
127
-
controller.disconnect()
128
-
sys.exit(0)
161
+
# Stoppe den Event Loop anstatt nur sys.exit zu machen
0 commit comments