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.
📖 Betriebsanleitung / Manual – Installation, Sensoren, Befehle, Quick Actions, Actionable Notifications, Screenshot, Webcam, Plattform-Vergleich & mehr (DE + EN)
📊 HASS.Agent vs. HA DeskLink – Features, Architektur & Migration im Vergleich (DE + EN)
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)
- 🔌 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
- 🛡️ Kein Kernel-Treiber – keine Defender-Warnung, kein WinRing0, keine Admin-Rechte für Grund-Sensoren
HA DeskLink v4.3 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.1 | Hauptmodell |
| DeepSeek V4 Pro | Sub-Agenten |
Dieses Projekt wurde unter Verwendung von KI-Unterstützung erstellt. Der gesamte Code wurde von GLM-5.1 (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.