fix: TelemetryMonitor MQTT rc=5 (Not Authorized) #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "investigate/issues"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
TelemetryMonitor meldet beim Start wiederholt:
Obwohl der MQTT-Verbindungstest im Web-Interface erfolgreich ist.
Ursache
rc=5= MQTT CONNACK "Not Authorized" – der Broker kennt die Verbindung,lehnt sie aber wegen fehlender Credentials ab.
Der Web-Interface-Test liest Username + Passwort aus dem Request-Body und ruft
username_pw_set()auf.TelemetryMonitor._setup_mqtt()las zwarserver,portundtransportaus[MQTT], ignorierte aberusername,password,use_auth_tokenunduse_tlsvollständig.Fix
__init__()– neue Felder aus[MQTT]:self.mqtt_usernameself.mqtt_passwordself.mqtt_use_auth_tokenself.mqtt_use_tls_setup_mqtt():tls_set()wennmqtt_use_tlsusername_pw_set(username, password)wennmqtt_usernamegesetzt"as 'username'"oder"(no auth)"beim Verbinden_on_mqtt_connect():rc=5z.B.
"Nicht autorisiert (fehlende oder falsche Credentials)"Geänderte Datei
modules/service_plugins/telemetry_monitor_service.pyUrsache: TelemetryMonitor las zwar Server/Port/Transport aus [MQTT], ignorierte aber username, password, use_auth_token und use_tls komplett. _setup_mqtt() rief connect_async() ohne username_pw_set() auf. Der MQTT-Broker lehnte die Verbindung deshalb mit rc=5 (Not Authorized) ab, obwohl der Web-Interface-Test (der MQTTv5 + Credentials nutzt) funktioniert. Fix in __init__: - self.mqtt_username <- [MQTT] username - self.mqtt_password <- [MQTT] password - self.mqtt_use_auth_token <- [MQTT] use_auth_token - self.mqtt_use_tls <- [MQTT] use_tls Fix in _setup_mqtt(): - tls_set() wenn mqtt_use_tls - username_pw_set(username, password) wenn mqtt_username gesetzt - Log-Meldung zeigt jetzt ob mit oder ohne Auth verbunden wird Verbesserung in _on_mqtt_connect(): - rc-Codes mit lesbaren Fehlertexten statt rohem 'rc=5' ('Nicht autorisiert (fehlende oder falsche Credentials)') Referenz: PacketCaptureService liest Credentials korrekt seit commit 1462ff (username_pw_set in connect_mqtt_brokers)