Skip to content

TechFlipsi/ha-desklink-windows

Repository files navigation

HA DeskLink v4.3

Build Version License Downloads Discord

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!).

Features

  • 🌡️ 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

MQTT (v4.3)

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.

Systemanforderungen

  • Windows 10/11 (x64)
  • Kein .NET Runtime nötig – alles im Installer enthalten
  • Keine Defender-Warnung mehr! – Ab v4.0: komplett treiberlos, kein WinRing0

Installation

  1. Neueste HA_DeskLink_Setup_x.x.x.exe von Releases herunterladen
  2. Die HA_DeskLink_Setup_x.x.x.exe herunterladen, 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.
  3. HA URL + Long-Lived Token eingeben
  4. Fertig! 🎉

PC-Befehle aus Home Assistant

HA DeskLink empfängt Befehle über Benachrichtigungen – genau wie die Handy-App. Keine Extra-Konfiguration in HA nötig!

Alle verfügbaren Befehle

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% (⚠️ nur Laptops/int. Monitore)
Helligkeit runter brightness_down Verringert die Bildschirmhelligkeit um 10% (⚠️ nur Laptops/int. Monitore)
Helligkeit setzen brightness:50 Setzt Helligkeit auf bestimmten Wert (0-100, ⚠️ nur Laptops/int. Monitore)
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_off und screenshot sind 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.

Beispiele

Actionable Notification (v3.0+)

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: shutdown

Herunterfahren

service: notify.mobile_app_ha_desklink
data:
  title: "PC herunterfahren"
  message: "Der PC wird in 30 Sekunden heruntergefahren"
  data:
    command: "shutdown"

Neustarten

service: notify.mobile_app_ha_desklink
data:
  title: "PC neustarten"
  message: "Der PC wird neu gestartet"
  data:
    command: "restart"

Ruhezustand

service: notify.mobile_app_ha_desklink
data:
  title: "Ruhezustand"
  message: "PC geht in den Ruhezustand"
  data:
    command: "hibernate"

PC sperren

service: notify.mobile_app_ha_desklink
data:
  title: "PC sperren"
  message: "Der PC wird gesperrt"
  data:
    command: "lock_screen"

Einfache Benachrichtigung (ohne Befehl)

service: notify.mobile_app_ha_desklink
data:
  title: "Erinnerung"
  message: "Müll rausbringen nicht vergessen!"

Automatisierung in HA

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"

Dashboard-Button in HA

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"

Sensoren in Home Assistant

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_active und mic_active sind binary_sensor Typen.

Dashboard

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.

Build

dotnet publish src/HaDeskLink -c Release -r win-x64 --self-contained -o publish
iscc installer.iss

Technologie

Komponente Library
Hardware-Sensoren WMI + PerformanceCounter (treiberlos)
Dashboard Microsoft.Web.WebView2 (Session-Login)
UI Windows Forms
HTTP System.Net.Http
Config System.Text.Json

v1.x (Python)

Die Python-Version ist abgeschlossen und archiviert: ha-desklink

📐 Versionierung

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.

Lizenz

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.

macOS-Version

Es gibt jetzt eine macOS-Version von HA DeskLink! 🎉 Siehe ha-desklink-mac⚠️ Community Test Version, nicht vom Entwickler getestet.

Community

💬 Discord – Fragen, Feedback, Hilfe

Credits

  • Idee: Fabian Kirchweger
  • Entwicklung: J.A.R.V.I.S. (Hermes Agent)

Verwendete KI-Modelle

Modell Rolle
GLM-5.1 Hauptmodell
DeepSeek V4 Pro Sub-Agenten

Erstellung

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.

About

HA DeskLink v4.1 – Home Assistant Companion (WebView2 Dashboard, modern Settings & Toast, driverless Sensors)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors