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

56 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
- [x] **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`
- [x] **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*