Commit Graph

23 Commits

Author SHA1 Message Date
MaPaLo76
7935dfbba4 feat(mqtt): reset_reason im Heartbeat-JSON hinzugefuegt
- esp_reset_reason() einmalig in begin() gespeichert (_resetReason[32])
- reset_reason-Feld in publishHeartbeat() JSON-Payload
- Moegliche Werte: POWERON, SOFTWARE, PANIC, TASK_WDT, INT_WDT, WDT, BROWNOUT, EXT_PIN, DEEPSLEEP, SDIO, UNKNOWN
- README.md: Status-JSON-Beispiel und Werteliste dokumentiert
2026-03-01 12:10:07 +01:00
MaPaLo76
323d4d0261 docs(README-md, Feature-Requests.md) 2026-03-01 10:11:28 +01:00
MaPaLo76
4dd4ce0620 feat(FR-002): Web Console via HTTP-Polling (/log + /log-data) -- v1.1.0
- Ring-Buffer _logBuf in web_server.cpp: webLogForward() schreibt auf Core 1
- GET /log-data liefert Puffer als Plain-Text (kein WebSocket, kein Core-Konflikt)
- Browser pollt alle 2 s, Auto-Scroll, dunkles Terminal-Theme
- LOG_I/LOG_E/LOG_D: Timestamp (HH:MM:SS nach NTP, sonst +Xs), webLogForward()
- Alle Serial.* in laser_tracker.cpp, mqtt_client.cpp, web_server.cpp auf LOG_I/LOG_E
- main.cpp: esp_reset_reason() beim Booten loggen (POWER_ON / WATCHDOG / PANIC...)
- telnet_logger.h entfernt (war nur noch Deprecated-Stub)
- Feature-Requests.md: FR-002 abgeschlossen
2026-02-28 17:24:56 +01:00
MaPaLo76
3a310828b6 fix(ntp): Zeitzone CET/CEST + Lokalzeit im MQTT-Payload
- wifi_connector.cpp: configTime(0,0) -> configTzTime(CET-1CEST,M3.5.0,M10.5.0/3)
  Automatische Sommer-/Winterzeitumschaltung fuer Deutschland
- mqtt_client.cpp: gmtime() -> localtime(), Z-Suffix entfernt
  session_start_time zeigt Lokalzeit (CET/CEST)
- platformio.ini: Version 1.0.0 -> 1.0.1 (Patch)
- README.md: session_start_time Dokumentation aktualisiert
- Feature-Requests.md: FR-003 abgeschlossen
2026-02-26 22:45:53 +01:00
MaPaLo76
234a3a4b9b docs(plan): Phase 10 abgeschlossen, Projekt vollstaendig dokumentiert
- Implementation-Plan.md: Phase 10 alle Tasks als erledigt markiert
- README.md: Implementierungsstand-Tabelle aktualisiert (Phase 8-10 abgeschlossen)
2026-02-26 21:41:08 +01:00
MaPaLo76
6bef93210e feat(ota): ArduinoOTA integration + platformio.ini refactor
- ArduinoOTA in web_server.cpp integriert (Hostname: lasercutter-display)
- WebServerManager::loop() hinzugefuegt -> ArduinoOTA.handle()
- webServer.loop() in main.cpp aufgerufen
- platformio.ini: gemeinsamer [env]-Basisblock (lib_deps einmalig)
- Neues env az-delivery-devkit-v4-ota (espota, upload_flags --auth Anleitung)
- Neues env az-delivery-devkit-v4-ota-http (ElegantOTA HTTP Fallback)
- upload_ota.py: HTTP-Multipart-Upload Script fuer ElegantOTA
- README.md: Abschnitt Via WiFi (OTA) mit Passwort-Anleitung
- Implementation-Plan.md: Task 9.9 dokumentiert
2026-02-26 21:35:55 +01:00
MaPaLo76
7fb14307ea Vor Architektur Änderung 2026-02-26 18:50:45 +01:00
MaPaLo76
99b5c25e37 feat(tracker): resetSessionSum + MQTT reset_session + UI-Verbesserungen
- resetSession() umbenannt in resetSessionSum() (klarere Semantik)
- Bug fix: resetSessionSum() setzt laufende Session-Timer korrekt zurueck
  (vorher: getAllSessionsSumMinutes() blieb > 0 nach Reset)
- consumeSessionReset() nach consumeSessionEnd()-Muster (consume-Semantik)
- Vor Reset: akkumulierte Netto-Sekunden sichern -> publishSession() wie Session-Ende
- MQTT: payload {reset_session:true} via lasercutter/reset loest resetSessionSum() aus
- MQTT: Session-Reset publiziert identisches JSON wie normales Session-Ende
- Web: Button-Layout ueberarbeitet (alle 3 Buttons blau, uebereinander, gleich breit)
- Docs: README.md + Implementation-Plan.md aktualisiert
2026-02-23 22:49:30 +01:00
MaPaLo76
07c99dc7d8 feat(web): HTTP-Basic-Auth fuer alle Routen; webUser/webPassword in NVS; ElegantOTA.setAuth() 2026-02-23 21:32:47 +01:00
MaPaLo76
18a1f67f64 feat(mqtt): session_start_time ISO-8601 UTC; NTP waitForNtp nach WLAN-Connect; docs: README + Plan Phase 9 abgeschlossen 2026-02-23 21:23:45 +01:00
MaPaLo76
530d2f4670 feat(main): Phase 8 - WebServer, Watchdog, WLAN/MQTT-Fehlerstatus, Initialisierungsreihenfolge, Ceiling-Minuten pro Session 2026-02-23 20:50:04 +01:00
MaPaLo76
e98002db7b refactor(laser,web): getSessionMinutes->getAllSessionsSumMinutes, Platzhalter SESSION->ALLSESSIONS, BURST->LASTSESSION 2026-02-23 19:50:47 +01:00
MaPaLo76
dbe2e9791b Update README.md Screenshots 2026-02-22 21:22:54 +01:00
MaPaLo76
e18b00f37e Update README.md Screenshots 2026-02-22 21:21:24 +01:00
MaPaLo76
52b04ac9a6 Update README.md Screenshots 2026-02-22 21:20:06 +01:00
MaPaLo76
546b155af2 fix(web): POST /reset setzt nur Session zurueck (resetSession), nicht NVS-Gesamtzeit 2026-02-22 20:55:24 +01:00
MaPaLo76
d6adc9f23e docs: Phase 7 Checkliste, README Test 7.7 Abschnitt und Implementierungsstand 2026-02-22 20:44:51 +01:00
MaPaLo76
82ae93626a docs(readme): Implementierungsstand Phase 6 ergaenzt, Test 6.5 in Uebersicht, Projektstruktur aktualisiert 2026-02-22 20:26:04 +01:00
MaPaLo76
84e6062ab1 docs(readme): MQTT-Sektion auf Phase-6-Stand (TLS, JSON-Reset, korrekte Payloads, Broker-Default) 2026-02-22 20:17:45 +01:00
MaPaLo76
d5d0085d93 docs(readme): README auf Phase-5-Stand aktualisiert, Tests-Sektion ergaenzt 2026-02-22 19:14:15 +01:00
MaPaLo76
6ac33f459d feat(phase1): complete hardware setup, display and button test sketches
- platformio.ini: add all 8 libraries via Git URLs, add test-display and
  test-button environments, reduce SPI clock to 1 MHz for stability
- include/config.h: add pin definitions, DISPLAY_HW_TYPE=GENERIC_HW,
  MQTT topics, NVS keys and logging macros
- src/main.cpp: add minimal startup skeleton with config.h include
- test_sketches/test_display.cpp: diagnostic sketch showing 0-based module
  index; GENERIC_HW verified with 90 deg CCW software rotation
- test_sketches/test_button.cpp: GPIO INPUT_PULLUP test; LOW_ACTIVE confirmed
- test_sketches/README.md: add wiring tables, flash commands, results table
- README.md: update HW type to GENERIC_HW, add power supply note (0.5A /
  2.5W measured, external 5V PSU required), add Conventional Commits section
- Implementation-Plan.md: mark tasks 1.1-1.5 as complete

BREAKING CHANGE: none
2026-02-22 13:20:52 +01:00
MaPaLo76
d84dfd2119 1. Vorschlag Implementierung 2026-02-22 11:13:16 +01:00
MaPaLo76
5a3a4e40bd Initial Version of README.md 2026-02-22 10:34:37 +01:00