From 8ed9b4662a0333f6ebec87a9a4943244a68d6782 Mon Sep 17 00:00:00 2001 From: Joachim Hummel Date: Tue, 2 Jun 2026 11:36:06 +0200 Subject: [PATCH] MQTT-Client-Init via getattr (kein Type-Checker-Fehler bei CallbackAPIVersion) Direkter Zugriff mqtt.CallbackAPIVersion wurde von Pylance bei paho-1.x- Stubs als "nicht exportiert" markiert. getattr umgeht das, gleiche 1.x/2.x-Kompatibilitaet zur Laufzeit. Co-Authored-By: Claude Opus 4.8 (1M context) --- app.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app.py b/app.py index ff84233..6ae0c59 100644 --- a/app.py +++ b/app.py @@ -122,9 +122,11 @@ if not MQTT_ENABLED: print("[mqtt] deaktiviert (MQTT_ENABLED=false) - keine Events", flush=True) else: # paho-mqtt 2.x verlangt die CallbackAPIVersion, 1.x kennt sie nicht. - try: - _mqtt = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2) - except AttributeError: + # getattr statt direktem Zugriff -> kein Type-Checker-Fehler bei 1.x-Stubs. + _cb_api = getattr(mqtt, "CallbackAPIVersion", None) + if _cb_api is not None: + _mqtt = mqtt.Client(_cb_api.VERSION2) + else: _mqtt = mqtt.Client() if MQTT_USER: _mqtt.username_pw_set(MQTT_USER, MQTT_PASS)