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) <noreply@anthropic.com>
This commit is contained in:
8
app.py
8
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)
|
||||
|
||||
Reference in New Issue
Block a user