added debug for loading config problems

This commit is contained in:
oberon 2026-02-11 21:28:41 +01:00
parent af4355a83f
commit cdf5f7a356
3 changed files with 63 additions and 7 deletions

37
app.py
View File

@ -53,7 +53,7 @@ def load_configs():
def index():
return render_template('index.html', configs=load_configs())
"""
@app.route('/load_config/<filename>')
def load_config(filename):
global current_config
@ -69,13 +69,48 @@ def load_config(filename):
except Exception as e:
logger.error(f"Config-Ladefehler {filename}: {e}")
return "Fehler beim Laden", 500
"""
@app.route('/load_config/<filename>')
def load_config(filename):
global current_config
path = os.path.join(app.config['CONFIG_DIR'], filename)
if not os.path.exists(path):
logger.error(f"Config nicht gefunden: {path}")
return "Konfiguration nicht gefunden", 404
try:
with open(path, 'r', encoding='utf-8') as f:
current_config = json.load(f)
current_config['filename'] = filename
logger.info(f"Config erfolgreich geladen: {filename} mit {len(current_config.get('channels', []))} Kanälen")
return redirect(url_for('control_page'))
except json.JSONDecodeError as e:
logger.error(f"Ungültiges JSON in {filename}: {e}")
return "Ungültiges JSON-Format in der Konfigurationsdatei", 500
except Exception as e:
logger.error(f"Ladefehler {filename}: {e}")
return "Fehler beim Laden der Konfiguration", 500
"""
@app.route('/control')
def control_page():
if current_config is None:
return redirect(url_for('index'))
return render_template('control.html', config=current_config)
"""
@app.route('/control')
def control_page():
if current_config is None:
logger.warning("current_config ist None → Redirect zu index")
return redirect(url_for('index'))
logger.info(f"Übergebe config an Template: {current_config}")
print("DEBUG: config hat channels?", 'channels' in current_config, len(current_config.get('channels', [])))
return render_template('control.html', config=current_config)
# ── Admin ────────────────────────────────────────────────────────────────────

View File

@ -1,12 +1,23 @@
{
"name": "Dampflok BR 01",
"image": "dampflok1.jpg",
"name": "BR 01 Dampflok",
"image": "damkpflok1.jpg",
"hub_id": 0,
"hub_type": "4channel",
"channels": [
{"port": "A", "type": "motor", "name": "Fahrtrichtung", "invert": false, "negative_only": false},
{"port": "B", "type": "motor", "name": "Unterstützung", "invert": false, "negative_only": false},
{"port": "C", "type": "light", "name": "Licht vorne", "on_value": 1.0, "off_value": 0.0, "negative_only": false},
{"port": "D", "type": "fogger", "name": "Dampf", "on_value": -1.0, "off_value": 0.0, "negative_only": true}
{
"port": "A",
"type": "motor",
"name": "Fahrtrichtung"
},
{
"port": "B",
"type": "motor",
"name": "Dampf / Kohle"
},
{
"port": "C",
"type": "light",
"name": "Spitzenlicht"
}
]
}

View File

@ -69,9 +69,19 @@
{% endblock %}
<!--
{% block scripts %}
<script>
// Config direkt ins JS übergeben
const config = {{ config | tojson | safe }};
</script>
{% endblock %}
-->
{% block scripts %}
<script>
const config = {{ config | tojson | safe }};
console.log("Config im JS:", config);
console.log("Channels:", config?.channels || "KEINE CHANNELS");
</script>
{% endblock %}