updated control functions
This commit is contained in:
@@ -267,13 +267,61 @@ def api_stop_all():
|
||||
return jsonify({"success": False, "message": "Nicht verbunden"}), 400
|
||||
|
||||
try:
|
||||
current_device.Stop() # ← Stoppt alle Kanäle des Devices
|
||||
logger.info("Alle Kanäle gestoppt")
|
||||
return jsonify({"success": True})
|
||||
# Nur stoppen – KEIN Disconnect!
|
||||
current_device.Stop()
|
||||
logger.info("Alle Kanäle gestoppt (Verbindung bleibt bestehen)")
|
||||
return jsonify({"success": True, "message": "Alle Kanäle gestoppt"})
|
||||
except Exception as e:
|
||||
logger.exception("Stop-Fehler")
|
||||
return jsonify({"success": False, "message": str(e)}), 500
|
||||
|
||||
|
||||
@app.route('/api/reconnect', methods=['POST'])
|
||||
def api_reconnect():
|
||||
global current_device, current_module, current_hub
|
||||
if current_config is None:
|
||||
return jsonify({"success": False, "message": "Keine Konfiguration geladen"}), 400
|
||||
|
||||
try:
|
||||
# Alte Verbindung sauber beenden, falls nötig
|
||||
if current_device is not None:
|
||||
try:
|
||||
current_device.Disconnect()
|
||||
except:
|
||||
pass
|
||||
|
||||
# Neu verbinden (kopierter Code aus api_connect)
|
||||
hub_id = int(current_config.get('hub_id', 0))
|
||||
hub_type = current_config.get('hub_type', '6channel')
|
||||
|
||||
mk = MouldKing()
|
||||
mk.SetAdvertiser(advertiser)
|
||||
try:
|
||||
mk.SetTracer(tracer)
|
||||
except:
|
||||
pass
|
||||
|
||||
if hub_type.lower() in ['6channel', '6']:
|
||||
current_module = mk.Module6_0()
|
||||
else:
|
||||
current_module = mk.Module4_0()
|
||||
|
||||
device_attr = f'Device{hub_id}'
|
||||
if not hasattr(current_module, device_attr):
|
||||
raise ValueError(f"Hub-ID {hub_id} nicht unterstützt")
|
||||
|
||||
current_device = getattr(current_module, device_attr)
|
||||
current_device.Connect()
|
||||
|
||||
current_hub = mk
|
||||
|
||||
logger.info(f"Re-Connect erfolgreich: Hub {hub_id}")
|
||||
return jsonify({"success": True, "message": "Verbindung wiederhergestellt"})
|
||||
|
||||
except Exception as e:
|
||||
logger.exception("Re-Connect-Fehler")
|
||||
return jsonify({"success": False, "message": str(e)}), 500
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host='0.0.0.0', port=5000, debug=True)
|
||||
Reference in New Issue
Block a user