# Handoff 2026-09-04 — TP25: Klick-Konsole auf N Clients + Pin-UI **Kurz:** Die Klick-Konsole (`docs/tp6-marker/server.py`, Port 3031) war beim Multi-Pin-Umbau (2026-09-04, `tp25-pin-multi.sh` + `TP25_PHONES`) **nicht** mitgezogen worden — sie zeigte weiter hartkodiert zwei Clients (iPhone/S22) und pinnte ueber die alte Gegen-AP-Automatik. Jetzt ist sie auf **N Clients** generalisiert und hat eine **Pin-UI**: Signal/AP/Ping-Verlust je Client live, Pinnen band-genau direkt in der Konsole. Die alte 2-Client-Automatik ist entfernt. ## Was umgebaut wurde `docs/tp6-marker/server.py` (Hauptumbau): - **Client-Liste aus Datei statt hartkodiert:** `geraete()` liest `geraete.txt` aus dem Laufverzeichnis (schreibt `tp25-walk-messung.sh`, eine Zeile `name|ip|mac` je Client). Fallback auf die zwei alten MACs fuer Alt-Laeufe. - **Kein eigenes SSH mehr in der Konsole:** der `beobachter()`-Thread (2 MACs per SSH, `beide-telefone.csv`) ist raus. Stattdessen liest die Konsole je Client die **letzte Zeile** von `sampler-.csv` (`sta_iface`, `sta_signal`) und den **juengsten Ping-Verlust** aus `walk-ping-.csv` (leeres `ms` = Verlust). Eine SSH-Session weniger gegen den Core-SPOF. - **N Client-Karten** statt der festen iPhone/S22-Zeile: Name, AP (via `ap_map()`), Signal dBm, Ping-Verlust der letzten ~30 s. **Alarm**, wenn ein **gepinnter** Client `sta_iface == "absent"` ist → „ HAENGT NIRGENDS — nicht weitergehen" (Nachfolger des alten S22-Alarms). - **Pin-UI** (Karte „Pinnen (Multi-Pin)"): je Client ein `