MQTT-Display-LaserCutter/Feature-Requests.md
2026-02-26 22:46:10 +01:00

2.4 KiB
Raw Blame History

Feature Requests & Bug Fixes

Dieses Dokument verfolgt laufende Bug Fixes und kleinere Feature Requests nach Abschluss der Hauptentwicklungsphasen (Implementation-Plan.md Phase 19).
Größere Änderungen (neue Module, neue Architektur) werden weiterhin im Implementation-Plan.md dokumentiert.


Format

- [ ] **FR-NNN** Kurzbeschreibung  
  - Details, Kontext, betroffene Dateien  
  - Commit: `<hash>` (wird nach Erledigung eingetragen)

Status: [ ] = offen · [x] = erledigt


Offen

  • FR-002 Web Console serieller Monitor über Browser
    • Library: ayushsharma82/WebSerial (ESPAsyncWebServer-basiert, WebSocket, eigene /webserial-Seite)
    • Log-Umfang: alle Serial.print-Ausgaben (inkl. Libraries) via TeeStream-Wrapper:
      • Eigene Klasse TeeStream : public Print leitet an HardwareSerial + WebSerial gleichzeitig weiter
      • In main.cpp wird Serial durch TeeSerial ersetzt → kein Refactoring der bestehenden Aufrufe nötig
    • RAM-Ringbuffer: intern durch WebSerial verwaltet (WebSocket-basiert, kein NVS)
    • Sicherheit: HTTP-Basic-Auth (gleiche Credentials wie restliches Webinterface)
      • WebSerial kennt keine native Auth → eigene Auth-Route /webserial-auth als Wrapper, oder WebSerial-Seite über eigene Handler-Registrierung mit requireAuth() absichern
    • Integration in WebServerManager::begin() + loop() (WebSerial.loop())
    • Commit:

Erledigt

  • FR-003 Bug: NTP Zeitzone falsch (UTC statt CET/CEST)

    • configTime(0, 0, ...) lieferte UTC → Anzeige 1h zu früh (CET) / 2h zu früh (CEST)
    • wifi_connector.cpp: configTzTime("CET-1CEST,M3.5.0,M10.5.0/3", "pool.ntp.org", "time.nist.gov") automatische Sommerzeit
    • mqtt_client.cpp: gmtime()localtime(), Z-Suffix entfernt Payload zeigt Lokalzeit
    • Version: 1.0.0 → 1.0.1
    • Commit: 3a31082
  • FR-001 Firmware-Version auf Webseite und im MQTT-Status-Payload

    • Definition: FIRMWARE_VERSION als build_flags in platformio.ini [env]-Basisblock (Single Source of Truth)
    • Fallback #define FIRMWARE_VERSION "0.0.0" in config.h (Arduino IDE ohne build_flags)
    • Format: 1.0.0 (Feb 26 2026) Version + C++-Makro __DATE__ (Compile-Zeitpunkt)
    • Web: Firmware-Zeile in der Statustabelle auf / + Footer auf /config
    • MQTT: "firmware_version": "1.0.0 (Feb 26 2026)" im lasercutter/status-Payload
    • Commit: 46a8c59

Erstellt: 26. Februar 2026