- dashboard.py: plugin-based renderer with 4x4 grid layout - admin.py: web UI with layout editor + plugin configs - layout.py: pack algorithm, item placement, grid system - plugins/: clock, weather, system, spotify, strava, gmail, minimax, hello - network_watchdog.py: WiFi AP/client mode management - waveshare_epd_init.py: vendor driver stub
1.9 KiB
1.9 KiB
Recovery wenn der Pi nicht mehr per SSH erreichbar ist
Was passiert ist
- Auf dem Pi lief ein WLAN mit SSID
IoT, Profil-Namenetplan-wlan0-IoT - Recovery-AP-Test über
nmcli device wifi hotspothat einen WLAN-Hotspotepaper-testgestartet - Dies hat wahrscheinlich die WLAN-Verbindung zum Heimnetz unterbrochen
- SSH-Connect zum Pi schlägt jetzt fehl (Timeout)
Sofortige Hilfe
Option A: Strom-Reset
- Pi vom Strom trennen
- 10 Sekunden warten
- Strom wieder rein
- Pi bootet → NetworkManager verbindet sich automatisch mit
IoT(sofern in Reichweite) - Nach ~60 Sekunden:
ssh koptikp@10.11.3.144sollte wieder gehen
Option B: Recovery-Hotspot
Falls Strom-Reset nicht hilft (z.B. weil Profil netplan-wlan0-IoT kaputt ist):
- Auf dem Laptop WLAN-Liste scannen
epaper-recoverysuchen (Passwortrecovery1234) — falls der Pi im Recovery-Modus ist oderepaper-testsuchen (Passworttest1234) — falls der Test-Hotspot noch läuft- Verbinden, dann im Browser http://10.42.0.1:8080
- Bei Auth-Prompt:
admin:changeme123(oderadmin:admin) - Im Netzwerk-Panel: WLAN neu konfigurieren oder "Force AP Mode" / "Disconnect"
Option C: Tastatur + Monitor
- HDMI + USB-Tastatur an den Pi
- Anmelden als
koptikp sudo nmcli connection show→ sehen was aktiv istsudo nmcli connection down epaper-test(oder welcher Müll-Profile da sind)sudo nmcli connection delete epaper-testsudo nmcli connection up netplan-wlan0-IoTsudo reboot
Was ich anders machen würde
- Hotspot-Tests nie auf einem produktiven Pi laufen lassen, ohne physischen Zugang als Fallback zu haben
- Watchdog-Code war korrekt; das Problem ist die PolicyKit-Konfiguration
- Polkit-Restart nach Rule-Update: besser nur
polkitdSIGHUP schicken, nicht systemctl restart (das hat in dieser Session offenbar den Polkit-Daemon in einem inkonsistenten Zustand hinterlassen)