What is HA DeskLink? A free, open-source desktop application (GPL-3.0) that connects a computer to a Home Assistant instance in both directions: smart-home sensor values (temperatures, energy, locks, motion) shown live in the taskbar/tray, and the computer's own status (CPU, RAM, disk, uptime) pushed into Home Assistant as sensor entities. Entity controls and toast notifications included, optional embedded WebView dashboard. Fully local, no browser, no cloud.
🌐 Project homepage & downloads
Windows Companion App für Home Assistant – nativ, schnell, zuverlässig.
🔍 Suchst du einen Home Assistant Desktop-Companion? HA DeskLink verbindet deinen PC direkt mit Home Assistant – Sensordaten, Systemstatus und Steuerelemente live auf dem Desktop. Kein Browser, kein Umweg.
🌍 Looking for a Home Assistant desktop companion for Windows? HA DeskLink connects your PC directly to Home Assistant – sensor data, system status and controls live on your desktop. No browser, no detour.
⬇️ Download HA DeskLink for Windows (.exe) — Installer für Windows 10/11
Alle Versionen: Releases
📖 Betriebsanleitung / Manual – Umfassende Anleitung: Installation, alle Sensoren, Befehle, Quick Actions, MQTT, Auto-Update, Einstellungen, Sicherheit & Fehlerbehebung (Deutsch)
📖 User Guide – Complete manual: Installation, all sensors, commands, Quick Actions, MQTT, Auto-Update, settings, security & troubleshooting (English)
📊 HASS.Agent vs. HA DeskLink – Features, Architektur & Migration im Vergleich (DE + EN)
📝 Changelog – Alle Versionen und Änderungen
👏 Credits – Mitwirkende und verwendete KI-Modelle
Geschrieben in C# / .NET 8 – treiberlose Sensor-Erfassung via WMI + PerformanceCounter (kein Kernel-Treiber nötig!).
- 🌡️ CPU & GPU Temperatur – treiberlos via WMI + PerformanceCounter (kein WinRing0, keine Defender-Warnung!)
- 📊 Alle Sensoren – CPU, GPU, RAM, alle Laufwerke (C:, D:, etc.), Battery, Uptime, VRAM, Audio, Mikrofon, Webcam, Idle-Zeit
- 🖥️ Eingebettetes Dashboard – WebView2 zeigt HA direkt in der App (einmaliges Login, Session bleibt erhalten)
- ⚡ PC-Befehle aus HA – Shutdown, Restart, Hibernate, Sleep, Lock, Lautstärke, Mediensteuerung und mehr per Benachrichtigung
- 📬 Benachrichtigungen – HA sendet Toast-Notifications an den PC
- 🔔 Actionable Notifications – Benachrichtigungen mit Aktions-Buttons
- ⚡ Quick Actions – Konfigurierbare Hotkeys für Entity-Toggles (Quick Actions: Ctrl+Shift+H, Dashboard: Ctrl+Shift+D, Einstellungen: Ctrl+Shift+S)
- 📸 Screenshot – Echtes Bildschirmfoto + Upload als HA-Event
- 📷 Webcam-Sensor – Zeigt ob Webcam aktiv ist (nur Linux/macOS, auf Windows entfernt)
- ⚙️ Einstellungen – Komplett neu gestaltet: GroupBoxes, Entity-Dropdown, JSON-Editor
- 🎨 Dark Mode – Automatisch (System), Hell oder Dunkel wählbar
- 🌐 6 Sprachen – Deutsch, Englisch, Spanisch, Französisch, Chinesisch, Japanisch (22 neue Keys in v4.2, 24 Erklärungs-Keys in v5.0)
- 🔌 mobile_app Protokoll – identisch zur Handy-App, keine Extra-Konfiguration in HA nötig
- 🔄 Auto-Update von GitHub Releases
- 📌 System Tray – läuft minimiert im Hintergrund
- 🛡️ Admin-Rechte – App startet automatisch als Administrator (für CPU/GPU-Temperatur), Autostart via Task Scheduler mit höchsten Privilegien
HA DeskLink v5.0 bringt optionale MQTT-Unterstützung für erweiterte Features:
- 🔊 Media Player Entity – Dein PC erscheint als Media Player in Home Assistant mit now-playing Info, Play/Pause und Lautstärke-Regelung
- 📡 PC Status Binary Sensor – Sofortige Online/Offline-Erkennung via Last Will Testament (LWT)
- ⚡ Befehle an schlafenden PC – MQTT-Befehle erreichen den PC auch im Energiesparmodus
- 🔍 Automatische Geräteerkennung – Media Player und PC Status erscheinen automatisch in HA
- 🔒 Zuverlässigere Verbindung – Auto-Reconnect mit exponentiellem Backoff
- 🪄 Zero-Config Setup – Beim ersten Start wird automatisch nach Mosquitto gesucht und die Verbindung eingerichtet
- 🧭 Smart Routing – MQTT für Sensoren + Befehle, WebSocket bleibt für Benachrichtigungen
MQTT ist optional – HA DeskLink funktioniert auch ohne MQTT wie gewohnt weiter.
- Windows 10/11 (x64)
- Kein .NET Runtime nötig – alles im Installer enthalten
- Keine Defender-Warnung mehr! – Ab v4.0: komplett treiberlos, kein WinRing0
- Neueste
HA_DeskLink_Setup_x.x.x.exevon Releases herunterladen - Die
HA_DeskLink_Setup_x.x.x.exeherunterladen, dann im Download-Ordner Rechtsklick → „Als Administrator ausführen“ wählen.⚠️ Ein normaler Doppelklick oder das Warten auf die UAC-Anfrage führt zu einer Fehlermeldung – bitte direkt per Rechtsklick als Administrator starten. - HA URL + Long-Lived Token eingeben
- Fertig! 🎉
HA DeskLink empfängt Befehle über Benachrichtigungen – genau wie die Handy-App. Keine Extra-Konfiguration in HA nötig!
| Befehl | Schreibweise | Wirkung |
|---|---|---|
| Herunterfahren | shutdown |
Fährt den PC in 30 Sekunden herunter |
| Neustarten | restart |
Startet den PC in 30 Sekunden neu |
| Ruhezustand | hibernate |
Versetzt den PC in den Ruhezustand |
| Energie sparen | sleep |
Versetzt den PC in den Energiesparmodus |
| PC sperren | lock_screen |
Sperrt den Windows-Bildschirm |
| Lautstärke stumm | volume_mute |
Schaltet den Ton stumm |
| Lautstärke lauter | volume_up |
Erhöht die Lautstärke um 10% |
| Lautstärke leiser | volume_down |
Verringert die Lautstärke um 10% |
| Media Play/Pause | media_play_pause |
Play/Pause für Medienwiedergabe |
| Media Nächster | media_next |
Nächster Titel |
| Media Vorheriger | media_previous |
Vorheriger Titel |
| Helligkeit rauf | brightness_up |
Erhöht die Bildschirmhelligkeit um 10% ( |
| Helligkeit runter | brightness_down |
Verringert die Bildschirmhelligkeit um 10% ( |
| Helligkeit setzen | brightness:50 |
Setzt Helligkeit auf bestimmten Wert (0-100, |
| Monitor an | monitor_on |
Schaltet den Monitor an (wenn aus) |
| Monitor aus | monitor_off |
Schaltet den Monitor aus |
| Bildschirmfoto | screenshot |
Macht einen Screenshot und lädt ihn zu HA hoch |
| Bildschirmfoto speichern | screenshot_save |
Macht einen Screenshot, speichert lokal und lädt zu HA hoch |
| Snipping Tool | snipping_tool |
Öffnet das Windows Snipping Tool |
| Nachricht | (kein command) | Zeigt nur eine Benachrichtigung an |
⚠️ volume_mute,volume_up,volume_down,monitor_on,monitor_offundscreenshotsind ab v2.1.0 verfügbar!
⚠️ Helligkeits-Befehle (brightness_up,brightness_down,brightness:XX) funktionieren in der Regel nur auf Laptops mit integriertem Display. An Desktop-PCs mit externen Monitoren werden die Befehle ignoriert – die meisten externen Monitore unterstützen keine Software-Helligkeitssteuerung.
service: notify.mobile_app_ha_desklink
data:
title: "PC herunterfahren?"
message: "Der PC wird in 30 Sekunden heruntergefahren"
data:
actions:
- action: SHUTDOWN
title: "Ausschalten"
command: shutdown
- action: CANCEL
title: "Abbrechen"
command_on_action: shutdownservice: notify.mobile_app_ha_desklink
data:
title: "PC herunterfahren"
message: "Der PC wird in 30 Sekunden heruntergefahren"
data:
command: "shutdown"service: notify.mobile_app_ha_desklink
data:
title: "PC neustarten"
message: "Der PC wird neu gestartet"
data:
command: "restart"service: notify.mobile_app_ha_desklink
data:
title: "Ruhezustand"
message: "PC geht in den Ruhezustand"
data:
command: "hibernate"service: notify.mobile_app_ha_desklink
data:
title: "PC sperren"
message: "Der PC wird gesperrt"
data:
command: "lock_screen"service: notify.mobile_app_ha_desklink
data:
title: "Erinnerung"
message: "Müll rausbringen nicht vergessen!"automation:
- alias: "PC um 22 Uhr herunterfahren"
trigger:
- platform: time
at: "22:00:00"
condition:
- condition: state
entity_id: binary_sensor.ha_desklink_connectivity
state: "on"
action:
- service: notify.mobile_app_ha_desklink
data:
title: "Gute Nacht!"
message: "Der PC wird jetzt heruntergefahren."
data:
command: "shutdown"type: button
name: "PC herunterfahren"
tap_action:
action: call-service
service: notify.mobile_app_ha_desklink
service_data:
title: "PC herunterfahren"
message: "Wird heruntergefahren..."
data:
command: "shutdown"HA DeskLink erstellt automatisch Sensoren in HA:
| Sensor | Beschreibung |
|---|---|
sensor.ha_desklink_cpu_usage |
CPU-Auslastung in % |
sensor.ha_desklink_cpu_temperature |
CPU-Temperatur in °C (braucht Admin) |
sensor.ha_desklink_cpu_clock |
CPU-Taktrate in MHz |
sensor.ha_desklink_gpu_load |
GPU-Auslastung in % |
sensor.ha_desklink_gpu_temperature |
GPU-Temperatur in °C |
sensor.ha_desklink_gpu_memory_used |
GPU VRAM verwendet in MB |
sensor.ha_desklink_gpu_memory_total |
GPU VRAM gesamt in MB |
sensor.ha_desklink_gpu_fan_speed |
GPU-Lüfter in RPM |
sensor.ha_desklink_audio_volume |
System-Lautstärke in % |
binary_sensor.ha_desklink_audio_mute |
Stummschaltung (on/off) |
binary_sensor.ha_desklink_mic_active |
Mikrofon in Benutzung (on/off) |
binary_sensor.ha_desklink_webcam_active |
Webcam in Benutzung (on/off) |
sensor.ha_desklink_idle_time |
Sekunden seit letzter Benutzereingabe |
sensor.ha_desklink_memory_usage |
RAM-Auslastung in % |
sensor.ha_desklink_memory_used |
RAM verwendet in GB |
sensor.ha_desklink_memory_free |
RAM frei in GB |
sensor.ha_desklink_memory_total |
RAM gesamt in GB |
sensor.ha_desklink_disk_c_usage |
Laufwerk C: Auslastung in % |
sensor.ha_desklink_disk_c_free |
Laufwerk C: frei in GB |
sensor.ha_desklink_disk_c_used |
Laufwerk C: verwendet in GB |
sensor.ha_desklink_disk_c_total |
Laufwerk C: gesamt in GB |
sensor.ha_desklink_uptime |
PC-Laufzeit in Stunden |
sensor.ha_desklink_last_activity |
Letzte Maus/Tastatur-Aktivität in Minuten |
sensor.ha_desklink_battery |
Akkustand in % (nur Laptops) |
sensor.ha_desklink_ip_address |
Aktuelle IPv4-Adresse |
binary_sensor.ha_desklink_connectivity |
Online/Offline-Status (Ping zu 8.8.8.8) |
sensor.ha_desklink_process_count |
Anzahl laufende Prozesse |
sensor.ha_desklink_page_file_percent |
Auslagerungsdatei-Auslastung in % |
sensor.ha_desklink_wifi_ssid |
Verbundenes WiFi-Netzwerk (Name) |
sensor.ha_desklink_wifi_signal |
WiFi-Signalstärke in % |
sensor.ha_desklink_active_window |
Aktives Fenster/Titel |
sensor.ha_desklink_fullscreen |
Vollbild-Modus (on/off) |
sensor.ha_desklink_brightness |
Bildschirmhelligkeit in % |
sensor.ha_desklink_monitor_layout |
Monitor-Layout |
sensor.ha_desklink_network_upload |
Upload-Geschwindigkeit in KB/s |
sensor.ha_desklink_network_download |
Download-Geschwindigkeit in KB/s |
sensor.ha_desklink_fan_* |
Lüfter-Drehzahlen in RPM (CPU, GPU, Mainboard) |
sensor.ha_desklink_version |
Aktuelle HA DeskLink Version |
💡 Weitere Laufwerke (D:, E: etc.) werden automatisch erkannt. GPU-Sensoren erscheinen nur wenn eine GPU vorhanden ist.
webcam_activeundmic_activesind binary_sensor Typen.
Das integrierte Dashboard öffnet HA direkt in der App (WebView2). Der erste Besuch zeigt das normale HA-Login-Formular — einmalig mit Benutzername & Passwort anmelden, danach bleibt die Session erhalten (wie im Browser). Falls WebView2 nicht installiert ist, wird automatisch angeboten es herunterzuladen. Alternativ öffnet sich HA im Standard-Browser.
dotnet publish src/HaDeskLink -c Release -r win-x64 --self-contained -o publish
iscc installer.iss| Komponente | Library |
|---|---|
| Hardware-Sensoren | WMI + PerformanceCounter (treiberlos) |
| Dashboard | Microsoft.Web.WebView2 (Session-Login) |
| UI | Windows Forms |
| HTTP | System.Net.Http |
| Config | System.Text.Json |
Die Python-Version ist abgeschlossen und archiviert: ha-desklink
Ab v2.2.1 gelten plattformunabhängige Versionsnummern:
| Änderung | Beispiel | Erklärung |
|---|---|---|
| Bug Fix | 2.2.1 → 2.2.2 | Fehlerbehebung, nur betroffene Plattform |
| Neue Funktionen | 2.2.x → 3.0.0 | Neue Features, alle Plattformen gleichzeitig |
Jede Plattform (Windows, Linux, macOS) hat eigene Versionsnummern. Ein Bug-Fix unter Linux ändert nicht die Windows-Version – und umgekehrt. Große Funktionsupdates (Major) bekommen alle Plattformen gleichzeitig.
GPL v3 – Copyright © 2026 Fabian Kirchweger
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v3.
Important: If you modify or distribute this software, you MUST release your changes under the same GPL v3 license. Closed-source or proprietary use is NOT permitted.
Es gibt jetzt eine macOS-Version von HA DeskLink! 🎉 Siehe ha-desklink-mac –
💬 Discord – Fragen, Feedback, Hilfe
- Idee: Fabian Kirchweger
- Entwicklung: J.A.R.V.I.S. (Hermes Agent)
| Modell | Rolle |
|---|---|
| GLM-5.2 | Hauptmodell |
| DeepSeek V4 Pro | Sub-Agenten |
Dieses Projekt wurde unter Verwendung von KI-Unterstützung erstellt. Der gesamte Code wurde von GLM-5.2 (J.A.R.V.I.S. – Hermes Agent) geschrieben und entwickelt – von der Architektur über die Implementierung bis zum Debugging. Für Tests und Audits wurden Sub-Agenten auf Basis von DeepSeek V4 Pro eingesetzt. Die englische Dokumentation wurde ebenfalls von der KI aus dem Deutschen ins Englische übersetzt. Die deutsche Dokumentation ist die Originalversion.