fixxed errors in connecting hub

This commit is contained in:
oberon 2026-02-11 19:42:36 +01:00
parent 0a63ceca7f
commit 5b64bef1bc
2 changed files with 30 additions and 10 deletions

27
app.py
View File

@ -149,7 +149,7 @@ def admin_logs():
logs = "Keine Logs vorhanden."
return render_template('admin_logs.html', logs=logs)
@app.route('/configs/<path:filename>')
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"})

13
other/test-mk.py Normal file
View File

@ -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()