Visual Basic PC-Tracker
Ein kleines selbst gebautes Windows-Programm das im Hintergrund mitloggt: welche App aktiv ist, wie viele Tasten du tippst, wie viele Klicks du machst, ob du AFK bist und ob Spotify gerade läuft.
- Aktive Anwendung — z.B.
Code.exe,chrome.exe,ts3client_win64.exe - Fenstertitel — z.B. "Twitch streamername - Chrome" (kann pro App ausgeblendet werden)
- Kategorie — Dev, Game, Audio, Browser, Mail, Communication
- Anzahl Tastenanschläge pro Minute (nur Anzahl, nicht der Inhalt)
- Anzahl Mausklicks pro Minute
- AFK-Status (kein Input für mehr als 5 Minuten)
- Audio-Erkennung — läuft Spotify, VLC, Twitch, oder eine andere Audio-App?
Warum selber bauen statt Home Assistant nehmen?
Es gibt fertige Lösungen — Home Assistant, openHAB, ioBroker, Smart Things. Die sind richtig gut, mächtig, vielseitig. Warum dann selber bauen?
Fertige Lösungen (z.B. Home Assistant)
- ✅ Schnell startklar
- ✅ Riesige Community, viele Tutorials
- ✅ 1000+ unterstützte Geräte
- ⚠️ Komplex und groß
- ⚠️ Updates können Sachen kaputt machen
- ⚠️ Du musst dich an die Architektur halten
Selber bauen
- ✅ Volle Kontrolle — du bestimmst was passiert
- ✅ Genau die Funktionen die du willst, keine anderen
- ✅ Du verstehst jeden Code, jede Datenbank-Tabelle
- ✅ Wartung bleibt überschaubar
- ⚠️ Mehr Lernaufwand am Anfang
- ⚠️ Keine fertigen Plugins
Auf dieser Webseite zeige ich den Selbstbau-Weg. Wer fertige Lösungen bevorzugt, ist mit Home Assistant + Zigbee2MQTT bestens bedient — wir nutzen ja auch Zigbee2MQTT, nur ohne Home Assistant drumherum.
Wie das System funktioniert (Vereinfacht)
Bewegung, Tür, Temperatur, ...
empfängt + leitet weiter
verteilt die Nachrichten
speichert in Datenbank
zeigt dir alles an
Beim PC-Tracker ist es ähnlich, nur ohne Sensor und Pi: Visual Basic Programm auf deinem PC → sendet direkt per HTTPS an die PHP-Datei auf deinem Server → speichert in Datenbank → Webseite wertet aus.
Was du brauchst
- Windows 10 oder 11 PC
- Visual Studio Community (kostenlos) — falls du den Code selbst kompilieren möchtest
- Webserver mit PHP 8 + MariaDB / MySQL (z.B. Netcup mit KeyHelp)
- Eine kleine Tabelle in der Datenbank
Schritt 1 — Visual Studio installieren
Visual Studio Community ist die kostenlose Variante für Privatpersonen:
- Herunterladen unter visualstudio.microsoft.com/de/vs/community
- Installer starten
- Workload ".NET-Desktopentwicklung" auswählen (alle anderen können weg, das spart Plattenplatz)
- Installation starten — dauert ca. 15–30 Min, ca. 5 GB
Schritt 2 — Datenbank-Tabelle anlegen
In phpMyAdmin die Datenbank auswählen → Tab "SQL" → folgenden Code reinpasten und ausführen:
DROP TABLE IF EXISTS pc_activity;
CREATE TABLE pc_activity (
id INT AUTO_INCREMENT PRIMARY KEY,
ts DATETIME NOT NULL,
active_app VARCHAR(100) NOT NULL,
window_title VARCHAR(500) DEFAULT NULL,
category VARCHAR(30) DEFAULT 'other',
keystrokes INT DEFAULT 0,
mouse_clicks INT DEFAULT 0,
afk TINYINT(1) DEFAULT 0,
audio_likely TINYINT(1) DEFAULT 0,
INDEX idx_ts (ts),
INDEX idx_app (active_app),
INDEX idx_category (category)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Im ZIP-Download ist dieser SQL-Code auch als pc-tracker-schema.sql dabei.
Schritt 3 — Server-Endpoint einrichten
Auf deinem Webserver eine Datei api/pc.php hochladen.
Den kompletten Code findest du im ZIP-Download als server-pc.php.
Anpassen musst du:
db_name,db_user,db_pass— aus deinem KeyHelp / Hostingapi_key— einen langen zufälligen String (siehe unten)
API-Key sicher generieren
Mehrere Möglichkeiten:
- random.org Strings-Generator — 32 Zeichen reichen
- In phpMyAdmin SQL:
SELECT SHA2(UUID(), 256); - Auf Linux per SSH:
openssl rand -hex 32
Schritt 4 — Programm bauen
- ZIP-Download herunterladen (siehe unten)
- Entpacken
- Datei
LebenszeichenTracker.vbprojdoppelklicken — Visual Studio öffnet sich - F5 zum Starten oder Strg+Shift+B zum Bauen
- Die fertige
.exeliegt unterbin\Debug\net8.0-windows\
Schritt 5 — Erste Konfiguration
Beim ersten Start öffnet sich der Einstellungs-Dialog. Du gibst ein:
- Server-URL:
https://deine-domain.de/api/pc.php - API-Key: dein zufälliger String, gleich wie auf dem Server
- Sende-Intervall: 60 Sekunden (Standard)
- AFK-Schwelle: 300 Sekunden = 5 Minuten
Filter-Modus wählen
Standardmäßig werden alle deine Apps geloggt. Apps in der Blacklist werden ausgenommen. Tipp für die Blacklist:
keepass
bitwarden
banking
Es werden nur Apps geloggt die du explizit eingetragen hast. Das ist datensparsamer. Beispiel-Whitelist:
code
devenv
chrome
firefox
thunderbird
ts3client_win64
filezilla
putty
steam
spotify
claude
Titel verbergen für sensible Apps
Bei manchen Apps willst du nur wissen dass sie aktiv sind, aber nicht was du da gerade machst. Liste:
thunderbird
outlook
keepass
bitwarden
Bei diesen Apps wird der Fenstertitel (z.B. "Email an Mama" oder "Passwort für Bank") nicht übertragen — nur der App-Name.
Was das Programm besonders macht
Tipp-Rekord & Klick-Rekord
Das Programm merkt sich deinen schnellsten Tipp-Moment und deine klickintensivste Minute. Sieht man im "Status"-Menü vom Tray-Icon. Beispiel: "Tipp-Rekord: 287 Anschläge/min" — das war wohl bei der hitzigen TeamSpeak-Diskussion oder beim VS Code Refactoring.
Audio-Erkennung
Das Programm checkt alle bekannten Audio-Apps (Spotify, VLC, Winamp,
Tidal, MusicBee...) und merkt: läuft eines davon? Dann wird das Feld
audio_likely auf 1 gesetzt. Damit kannst du später
auswerten: "wie viel Stunden Musik habe ich im Hintergrund gehört
während ich gearbeitet habe?"
Kategorisierung
Apps werden automatisch in Kategorien eingeordnet: Dev (VSCode, Visual Studio, Claude Code), Game (Steam, Epic, Discord), Audio (Spotify, VLC, Twitch), Browser (Chrome, Firefox, Edge), Mail (Thunderbird, Outlook), Communication (TeamSpeak). So kannst du später Berichte machen wie: "Diese Woche 14h Dev, 7h Browser, 2h Game".
Download
Enthält: Quellcode (Visual Basic .NET), Projektdatei für Visual Studio, SQL-Schema, PHP-Endpoint, README mit Anleitung
Status: Quellcode fertig, kompilierte EXE folgt nach Tests · Bisher heruntergeladen: 0
Hilfe und Forum
Wenn du Fragen zur Hardware oder zum Selbstbau-System hast, sind diese Foren super:
- iobroker.net Forum — sehr aktive deutsche Smart-Home-Community, breit aufgestellt, oft auch DIY-Themen
- hifi-forum.de — wenn es um Audio/Klang geht
- fhem.de Forum — deutsches Bastler-Smart-Home-Forum
- simon42.com — sehr gute deutsche Anleitungen für Home Assistant + Zigbee
- hobbyblogging.de — deutscher Blog mit DIY-Smart-Home-Themen
Speziell für Probleme mit dem Sonoff Zigbee Stick und Aqara-Sensoren findest du oft Lösungen über die GitHub-Issues von Koenkk/zigbee2mqtt.
Auswertung auf der Webseite (kommt später)
Wenn das Programm Daten liefert, baue ich eine Auswertungs-Seite mit:
- "Heute genutzt: 3h 14min Visual Studio, 2h 48min TeamSpeak, 1h 22min Twitch"
- Tagesverlauf als Balken-Diagramm
- Wochenstatistik nach Kategorien
- Aktive vs. AFK-Zeit
- Audio-Stunden pro Tag