diff --git a/CHANGELOG.md b/CHANGELOG.md index a62c614..145c535 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.9.1-beta12] – 2026-04-25 + +### Fixes +- Fehlermeldung bei falschen MQTT-Zugangsdaten ist jetzt verständlich: `Falsche MQTT-Zugangsdaten (falscher Benutzername, Passwort oder Device-ID)` statt kryptischem `CONNACK failed: 20020005` + +--- + ## [0.9.1-beta11] – 2026-04-25 ### Fixes diff --git a/VERSION b/VERSION index 8b8ebb9..6c79dc9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.9.1-beta11 +0.9.1-beta12 diff --git a/kobrax_moonraker_bridge.py b/kobrax_moonraker_bridge.py index c0f05bf..ce9c4f9 100644 --- a/kobrax_moonraker_bridge.py +++ b/kobrax_moonraker_bridge.py @@ -2365,7 +2365,7 @@ function toggleCam(){if(camOn)camStop();else camStart()} self._state["kobra_state"] = "free" log.info("MQTT-Verbindung wiederhergestellt") except Exception as e: - log.warning(f"Verbindungsaufbau fehlgeschlagen: {e}") + log.warning(f"Verbindungsaufbau fehlgeschlagen: {_mqtt_error_msg(e)}") stop_event.wait(_probe_interval) continue else: @@ -2408,6 +2408,13 @@ function toggleCam(){if(camOn)camStop();else camStart()} # App factory + main # --------------------------------------------------------------------------- +def _mqtt_error_msg(exc: Exception) -> str: + msg = str(exc) + if "20020005" in msg: + return "Falsche MQTT-Zugangsdaten (falscher Benutzername, Passwort oder Device-ID)" + return msg + + def build_app(bridge: KobraXBridge) -> web.Application: app = web.Application() r = app.router @@ -2488,7 +2495,7 @@ async def run_bridge(args): await loop.run_in_executor(None, client.connect) log.info("MQTT verbunden") except Exception as e: - log.warning(f"Drucker nicht erreichbar ({e}) – starte im Offline-Modus") + log.warning(f"Verbindung fehlgeschlagen: {_mqtt_error_msg(e)} – starte im Offline-Modus") bridge._state["print_state"] = "error" bridge._state["kobra_state"] = "offline" app = build_app(bridge)