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.

Was das Programm sammelt:
Datenschutz: Das Programm zeichnet keine Tastatur-Inhalte auf, macht keine Screenshots und nutzt kein Mikrofon und keine Kamera. Es sammelt nur Aktivitäts-Metadaten und sendet diese ausschließlich an deinen eigenen, konfigurierten Server.

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)

📡
1. Sensor
Bewegung, Tür, Temperatur, ...
🥧
2. Pi mit Zigbee-Stick
empfängt + leitet weiter
📨
3. MQTT-Broker
verteilt die Nachrichten
💾
4. PHP+MariaDB
speichert in Datenbank
🌐
5. Webseite
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 DatenbankWebseite wertet aus.

Was du brauchst

Schritt 1 — Visual Studio installieren

Visual Studio Community ist die kostenlose Variante für Privatpersonen:

  1. Herunterladen unter visualstudio.microsoft.com/de/vs/community
  2. Installer starten
  3. Workload ".NET-Desktopentwicklung" auswählen (alle anderen können weg, das spart Plattenplatz)
  4. 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:

API-Key sicher generieren

Mehrere Möglichkeiten:

Schritt 4 — Programm bauen

  1. ZIP-Download herunterladen (siehe unten)
  2. Entpacken
  3. Datei LebenszeichenTracker.vbproj doppelklicken — Visual Studio öffnet sich
  4. F5 zum Starten oder Strg+Shift+B zum Bauen
  5. Die fertige .exe liegt unter bin\Debug\net8.0-windows\

Schritt 5 — Erste Konfiguration

Beim ersten Start öffnet sich der Einstellungs-Dialog. Du gibst ein:

Filter-Modus wählen

Variante A — "Alles loggen außer Blacklist":

Standardmäßig werden alle deine Apps geloggt. Apps in der Blacklist werden ausgenommen. Tipp für die Blacklist:

keepass
bitwarden
banking
Variante B — "Nur Whitelist":

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

LebenszeichenTracker-v2.zip · ca. 12 KB
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
📦 ZIP herunterladen

Hilfe und Forum

Wenn du Fragen zur Hardware oder zum Selbstbau-System hast, sind diese Foren super:

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:

Wichtiger Hinweis: Dieses Projekt ist kein Ersatz für einen professionellen Hausnotruf. Im echten medizinischen Notfall wende dich bitte an die 112 oder einen zertifizierten Hausnotruf-Anbieter (z.B. DRK, Malteser, Johanniter, ASB).