# ToDo 2 — Anbindung ## Ziel der Verbesserung Die Anbindung soll zuverlässig werden: WebSocket-Eingaben, Steuerlogik und Sender müssen klar verbunden und sauber orchestriert sein. Dieses ToDo konzentriert sich auf die technische Integration der Komponenten, nicht auf G-Code-Parsing oder Konfiguration. ## Paket 1: Start/Orchestrierung - [ ] `startRobot.js` als Orchestrator behandeln - Erzeugung und Verbindung der Module - keine Geschäftslogik im Start-Skript - [ ] Bindung der WebSocket-Eingabe an die Steuerlogik - `InputWS.js` empfängt Nachrichten - Delegation an den Parser / Controller - [ ] Sauberes Fehler- und Status-Reporting beim Start - fehlende Zertifikate - fehlende Senderverbindungen ## Paket 2: Sender-Schicht (Option C) - [ ] Sender-Interface definieren - `connect()` - `send(command)` - `getStatus()` - `disconnect()` - [ ] `TelnetSenderGRBL` als konkrete Implementierung - async `connect()`-Methode - eindeutiger Verbindungsstatus, nicht nur `this.tSocket` - reconnect/backoff-Strategie - saubere Fehlerlogs - [ ] Sender-Schicht testbar und austauschbar machen - später können andere Sender als `TelnetSenderGRBL` angehängt werden ## Paket 3: Status- und Info-Anbindung - [ ] `InfoServer.js` meldet nicht nur Weboberfläche, sondern auch Senderstatus - [ ] `/api/status` erweitert um Senderverbindungen und Health-Informationen - [ ] `/api/position` liefert aktuelle Roboterposition unabhängig von laufenden Verbindungen ## Hinweis - Parsing, Konfiguration, Datei-Management und Tests werden getrennt in eigenen `doc/ToDo_*.md`-Dateien behandelt. - Event-basierte Architektur ist aktuell nicht vorgesehen; die Umsetzung folgt Option A mit einer klaren Sender-Interface-Schicht.