From 5b64bef1bc98581c81bcbcb35207c2566c056cb7 Mon Sep 17 00:00:00 2001 From: oberon Date: Wed, 11 Feb 2026 19:42:36 +0100 Subject: [PATCH] fixxed errors in connecting hub --- app.py | 27 +++++++++++++++++---------- other/test-mk.py | 13 +++++++++++++ 2 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 other/test-mk.py diff --git a/app.py b/app.py index 557bad9..d55d4b4 100644 --- a/app.py +++ b/app.py @@ -149,7 +149,7 @@ def admin_logs(): logs = "Keine Logs vorhanden." return render_template('admin_logs.html', logs=logs) - + @app.route('/configs/') def serve_config_file(filename): @@ -167,20 +167,27 @@ def api_connect(): try: hub_id = int(current_config.get('hub_id', 0)) - # Falls schon verbunden → erstmal trennen (sauberer Neustart) + # Falls schon eine Instanz existiert → erstmal sauber trennen if current_hub is not None: try: - current_hub.disconnect() # oder .close() – je nach Methode - except: + current_hub.disconnect() # ← falls diese Methode existiert + except AttributeError: pass + except Exception as e: + logger.warning(f"Fehler beim Trennen der alten Instanz: {e}") - current_hub = MouldKing( - hub_id=hub_id, - advertiser=advertiser, - tracer=tracer # ← falls das doch geht; sonst entfernen - ) + # Instanz ohne Argumente erstellen + current_hub = MouldKing() # ← KEINE Argumente! + + # Hub-ID und andere Einstellungen ggf. nachträglich setzen + # (das muss deine Bibliothek unterstützen – teste!) + try: + current_hub.set_hub_id(hub_id) # ← falls diese Methode existiert + except AttributeError: + logger.warning("Keine set_hub_id-Methode → ID wird evtl. anders gesetzt") + + current_hub.connect() # ← das sollte den Hub in BT-Modus schalten - current_hub.connect() # ← das ist der entscheidende Aufruf logger.info(f"Erfolgreich verbunden mit Hub-ID {hub_id}") return jsonify({"success": True, "message": f"Hub {hub_id} verbunden"}) diff --git a/other/test-mk.py b/other/test-mk.py new file mode 100644 index 0000000..b3ec7a5 --- /dev/null +++ b/other/test-mk.py @@ -0,0 +1,13 @@ +# test-mk.py +from mkconnect.mouldking.MouldKing import MouldKing + +print("MouldKing erstellen...") +hub = MouldKing() # ← sollte jetzt gehen + +print("\nVerfügbare Methoden:") +print([m for m in dir(hub) if not m.startswith('_')]) + +# Teste ein paar typische Aufrufe (auskommentieren was Sinn macht) +# hub.connect() +# hub.set_motor('A', 0.5) +# hub.stop_all() \ No newline at end of file