diff --git a/configs/dampflok1.json b/configs/dampflok1.json index d3fcc89..f9b55f3 100644 --- a/configs/dampflok1.json +++ b/configs/dampflok1.json @@ -1,23 +1,12 @@ { - "name": "BR 01 Dampflok", + "name": "Dampflok BR 01", "image": "dampflok1.jpg", "hub_id": 0, "hub_type": "4channel", "channels": [ - { - "port": "A", - "type": "motor", - "name": "Fahrtrichtung" - }, - { - "port": "B", - "type": "motor", - "name": "Dampf / Kohle" - }, - { - "port": "C", - "type": "light", - "name": "Spitzenlicht" - } + {"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} ] } \ No newline at end of file diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 0000000..0645a3a --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,8 @@ +Kurze Zusammenfassung des aktuellen Stands + +Verbinden → funktioniert +Kanäle rendern (Slider + Toggle + Stop-Buttons) → funktioniert +Motor ansteuern (Slider) → funktioniert +Einzelstop pro Kanal + Slider-Reset → funktioniert +Alle stoppen + alle Slider zurücksetzen → funktioniert +Erneut verbinden → Button ist da und funktioniert (wenn nötig) \ No newline at end of file diff --git a/docs/ideensammlung.md b/docs/ideensammlung.md new file mode 100644 index 0000000..32d4c70 --- /dev/null +++ b/docs/ideensammlung.md @@ -0,0 +1,26 @@ + +Was jetzt noch fehlen könnte / sinnvoll wäre +Hier ein paar kleine Verbesserungen / Nice-to-haves, die man jetzt noch einbauen könnte – je nachdem, was dir am wichtigsten ist: + +Status-Anzeige (grün/rot Punkt „Verbunden“ / „Getrennt“) +→ Kleiner Kreis oben rechts, der sich bei Connect/Reconnect/Fehler ändert +Automatischer Reconnect-Versuch oder Warnung bei Verbindungsverlust +→ z. B. alle 10 Sekunden einen Dummy-Befehl senden und bei Fehler showReconnect() aufrufen +Visuelles Feedback bei Befehlen +→ Slider kurz grün aufleuchten, Toggle-Button kurz pulsieren +Slider-Skalierung anpassen +→ Bei negative_only: true Slider nur von -100 bis 0 zeigen +→ Bei Licht/Sound ggf. andere Werte (z. B. 0/1 statt -1..1) +Admin-Seite weiter ausbauen +→ Config-Editor mit Formular (Name, Hub-ID, Kanäle hinzufügen/entfernen) statt nur Textarea +Verbindung beim Verlassen der Seite sauber trennen +→ window.onbeforeunload → current_device.Disconnect() aufrufen (falls möglich) + + +Sag einfach, was du als Nächstes priorisieren möchtest: + +Status-Anzeige + Verbindungsprüfung +Bessere visuelle Rückmeldung (Farben, Animationen) +Config-Editor in Admin-Seite (Formular statt Textarea) +Automatische Stopps bei Verbindungsverlust +Oder etwas ganz anderes (z. B. mehrere Hubs gleichzeitig, Sound- oder Fogger-Spezialbehandlung) \ No newline at end of file diff --git a/static/js/app.js b/static/js/app.js index 971af24..05e754a 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -2,6 +2,28 @@ document.addEventListener('DOMContentLoaded', () => { + const statusBadge = document.getElementById('connection-status'); + + function updateStatus(connected) { + if (!statusBadge) return; + if (connected) { + statusBadge.className = 'badge bg-success px-3 py-2'; + statusBadge.innerHTML = ' Verbunden'; + reconnectSection.style.display = 'none'; + } else { + statusBadge.className = 'badge bg-danger px-3 py-2'; + statusBadge.innerHTML = ' Getrennt'; + showReconnect(); + } + } + + // Nach erfolgreichem Connect / Reconnect + // in if (result.success) { ... } + updateStatus(true); + + // Nach Fehler in sendControl (z. B. am Ende von sendControl) + updateStatus(false); + const config = window.mkConfig || {}; console.log("app.js verwendet config:", config); console.log('MK Control Frontend geladen'); diff --git a/templates/control.html b/templates/control.html index 1ae78a8..98a7a39 100644 --- a/templates/control.html +++ b/templates/control.html @@ -30,6 +30,13 @@ + +
+
+ Nicht verbunden +
+
+