HA Companion for Windows – native WinUI 3 APP

Hi everyone,

Home Assistant has companion apps for Android, iOS and macOS, but there is no official one for Windows. I wanted my dashboards and entities one keypress away without keeping a browser window open, so I built HA Companion for Windows.

Since it is the obvious question: HASS.Agent already covers a lot of this ground and does it well. The difference is the plumbing. This app needs no MQTT broker. The PC registers through the mobile_app integration and notifications arrive over the Home Assistant WebSocket connection, so there is no FCM, no APNs and no broker in between. The UI is native WinUI 3, and your real Lovelace dashboards run inside the app, custom cards included.

I have been running it on my own machines since mid-July, which is where most of the edge cases came from. I also used AI a lot while building it, mostly for Win32 API archaeology and for chasing bugs, and the commit history says so. The design decisions are mine, and so is any bug you find.

Main features

  • Registers through mobile_app: the PC appears in Home Assistant as a real device with its own entities
  • Push without a push provider: notifications and commands travel over the existing WebSocket connection. No FCM, no APNs, no MQTT. Nothing listens on the PC; commands come back down the outbound connection
  • Quick Panel: opens over any application with a global hotkey and shows your actual Home Assistant dashboards
  • Favourite entities: lights, switches, media players and sensors as tiles, with media controls and colour where the entity supports it
  • Capability-aware controls: the app reads supported_features and supported_color_modes, so you never get a button the entity cannot honour
  • Global shortcuts: bind any device, scene, script or automation to a key combination
  • PC sensors (off until you enable them): lock state, idle time, active application, fullscreen, microphone and camera use, audio playback, display state and session state
  • Windows events as triggers: use lock, idle, camera, microphone, active program or a schedule in your Home Assistant automations
  • Remote PC control from HA: lock, monitor off, volume, sleep, shutdown, or launch approved applications
  • Dashboard integration: open and switch between your existing Lovelace dashboards
  • Seven interface languages including full RTL, dark and light theme, system tray

About the remote features

Remote control of a PC deserves a straight answer rather than a checkbox. Shutdown, sleep and launching applications are off by default and have to be enabled individually. Lock, monitor off and volume ship enabled and can each be switched off. Applications have to be added to a local whitelist first, and the app always starts the whitelisted path, never the string that came in from Home Assistant, so there is no argument or path smuggling. Shutdown runs with a ten second delay, so a mistaken automation can still be cancelled with shutdown /a. The long-lived access token is stored with Windows DPAPI (current user scope) rather than in plain text, and the diagnostics export redacts it before you can share it.

The PC sensors are opt-in for the same reason: your active application and microphone and camera state should leave the machine because you decided so, not because you installed something.

Screenshots

demo-quick-panel

You can find more screenshots on GitHub, along with a link to the project website.

Install

Grab the ZIP from the releases page on GitHub, or in PowerShell:

powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/Elias0505/ha-companion-windows/main/install.ps1 | iex"

Before running that, please read the install script first.

The app itself does not require administrator rights. If WebView2 is missing, the script downloads the official Microsoft installer, which may trigger a UAC prompt. The app is not code-signed yet, so Windows SmartScreen may warn on first launch: click More info, then Run anyway.

Requirements

  • Windows 10 version 2004 (build 19041) or newer, x64
  • A Home Assistant instance and a long-lived access token

Source code

github.com/Elias0505/ha-companion-windows — AGPL-3.0. Independent project, not affiliated with Home Assistant or Nabu Casa.

Feedback and bug reports are welcome, especially from anyone running Home Assistant behind an internal CA, since certificate handling is still more basic than I’d like.

4 Likes