diff --git a/docs/07-betrieb.md b/docs/07-betrieb.md
index 153e070..4ae4acd 100644
--- a/docs/07-betrieb.md
+++ b/docs/07-betrieb.md
@@ -135,6 +135,55 @@ Einheit allein in die nächste Zeile und sah aus wie ein fehlender Wert.
- Farbe: grün < 75 %, gelb ab 75 %, rot ab 90 %; beim Ventilator zählt der schlimmste Wert aus CPU, RAM
und Temperatur (Temperatur skaliert 45 °C → 0 %, 90 °C → 100 %).
+### Ablauf einer Abfrage
+
+```mermaid
+sequenceDiagram
+ autonumber
+ participant GUI as Browser (main.js)
+ participant API as server.js
+ participant SYS as sysstat.js
+ participant K as Kernel (/proc, statfs)
+ participant FS as recordings/
+
+ Note over SYS: eigener Ticker alle 2 s:
/proc/stat lesen, CPU-% aus der Differenz
+ loop alle 5 s (im Hintergrund-Tab ausgesetzt)
+ GUI->>API: GET /api/sysstat
+ API->>SYS: status()
+ SYS->>K: statfs(recordings/) · /proc/meminfo · thermal_zone*/temp
+ K-->>SYS: frei/gesamt · MemAvailable · °C je CPU-Zone
+ alt Scan älter als 60 s
+ SYS->>FS: readdir rekursiv + stat (nur Audio-Endungen)
+ FS-->>SYS: Bytes + Dateizahl → Puffer
+ else Puffer frisch
+ Note over SYS: Puffer wiederverwenden,
Scan höchstens 1× pro Minute
+ end
+ SYS-->>API: {cpu, ram, disk, temp}
+ API-->>GUI: JSON
+ GUI->>GUI: paintSysmon(): Ring, Balken, Zahlen,
--spin (Stufe), Ampelfarbe
+ end
+ Note over GUI: nach jedem render() sofort
paintSysmon(sysmon.last) — die Kopfzeile
wird komplett neu geschrieben
+```
+
+Rechenwege der beiden Anzeigen:
+
+```mermaid
+flowchart LR
+ subgraph Ring["Ring — Aufnahme-Vorrat"]
+ F["freier Platz
statfs.bavail"] --> B(("Vorrat
= frei + Aufnahmen"))
+ R["Aufnahmen
Summe aller mp3 + wav in recordings/
(inkl. Papierkorb)"] --> B
+ R --> P["Prozent = Aufnahmen / Vorrat"]
+ B --> P
+ end
+ subgraph Fan["Ventilator — Last"]
+ C["CPU %
/proc/stat-Differenz"] --> S["spinSeconds()
7 s … 0,35 s in Stufen"]
+ C --> W{"schlimmster Wert"}
+ M["RAM %
MemAvailable"] --> W
+ T["CPU-Temperatur
soc/bigcore/littlecore"] --> W
+ W --> A["Ampel grün / gelb / rot"]
+ end
+```
+
## Deploy-Ablauf (von Windows aus)
```mermaid
diff --git a/docs/08-changelog.md b/docs/08-changelog.md
index 5322ec0..eaa27d7 100644
--- a/docs/08-changelog.md
+++ b/docs/08-changelog.md
@@ -3,6 +3,14 @@
Chronik der Entwicklungsschritte. **Regel: jede zukünftige Änderung bekommt hier einen Eintrag** (Datum,
Was, Warum, betroffene Dateien/Backups).
+## 2026-08-17 (Nachtrag 6) — Diagramme zur Systemanzeige
+
+Kapitel 07 nachgerüstet: ein Sequenzdiagramm für den Abfrageweg (GUI-Poll → `/api/sysstat` →
+`sysstat.js` → `/proc`/`statfs`, dazu der 60-s-Puffer des `recordings/`-Scans und der 2-s-Ticker für
+die CPU-Differenz) und ein Flussdiagramm für die beiden Rechenwege (Ring = Aufnahmen / (frei +
+Aufnahmen); Ventilator = Drehstufe aus CPU-%, Ampel aus dem schlimmsten Wert von CPU, RAM,
+CPU-Temperatur). Damit erfüllt die Änderung die Hausregel „neue Abläufe als Mermaid-Diagramm“.
+
## 2026-08-17 (Nachtrag 5) — „CPU-Temperatur“ statt Zonenname in Klammern
Die Zeile heißt jetzt „CPU-Temperatur“ und zeigt nur noch `46,2 °C`; der Zonenname in Klammern