Integrate your Windows PC with Home Assistant using IOT Link

Disclosure: This post contains affiliate links. If you click through and make a purchase, I’ll earn a commission, at no additional cost to you. Read my full disclosure here.

The other week, macOS users got a nice little surprise in the form of the Home Assistant Companion for macOS. Windows users on the other don’t have an official app yet. But there is a way to integrate your Windows PC with Home Assistant using the application IOT Link.

IOT Link won’t provide you with a native interface or any tiles for your start menu. As such, it can’t really be described as the app’s counterpart for Windows. But IOT Link will allow you to control and monitor any system running Windows.

It is worth noting that this guide assumes that you already have Home Assistant as well as a MQTT server up and running. The installation and configuration of those two applications are not detailed here.

Table of Contents

IOT Link, just as Home Assistant itself, is open-source software. Both the IOT Link API and Engine are open-source. Why is that important? Because IOT Link has a lot of control and access to your system. And you should know what exactly is happening with the data that IOT Link collects. Once installed and configured, IOT Link will do two things: It can monitor and control your system.

Windows monitoring

If you’re looking to monitor your Windows PC using Home Assistant, IOT Link is just what you need. It can monitor just about everything. This includes CPU usage, display information (resolution), hard drive information (total, used, and free capacity), memory information (available, free, and total), power and battery information for laptops, network information, system information, and uptime.

IOT Link CPU monitoring

IOT Link will even send periodic screenshots, which you can integrate into the Lovelace UI using a camera entity. For me, this is useful when I’m rendering a video for my YouTube channel (subscribe!). Being able to see what is happening on my desktop lets me know how far along the process is.

Windows controlling

Being able to monitor your Windows PC is good and all, but being able to remotely control it is even better. Forgot to shut down your system before going out? Use the Home Assistant companion app to do just that. Want to use a ZigBee remote to control your media? That can be done too. The possibilities are endless.

Using IOT Link you can shut down, reboot, hibernate, and suspend your PC. You can control your media. You can send keys and launch applications. And it can even show notifications.

IOT Link is installed just like any other Windows application (or program, as we used to call them). Download the .exe file from the downloads page and run the installation wizard. You will have to be running Windows with administrator rights. Other than that, the only other requirement is that you have the .NET Framework 4.7.2 installed.

Once installed, you will find a new folder in your start menu named IOT Link. From that folder, you will want to select the option Open Configuration File. If you’ve already edited any YAML file, you’ll feel right at home here. In that file, you’ll want to add your MQTT username, password, and IP. There’s a good example in the IOT Link help files to help you along the way. Once you save the file the IOT Link application is reloaded and thanks to MQTT discovery it’ll automatically appear in Home Assistant.

IOT Link in the Windows start menu
IOT Link in the Windows start menu

The easiest and best way to integrate Windows with Home Assistant

IOT Link is, in my humble opinion, far and away the easiest and best way to integrate your Windows PC with Home Assistant. It might not be as uncomplicated as the macOS app, and you do have to have an MQTT server setup, but it is currently the best alternative. Thankfully, development is still ongoing and updates are frequently released. I wouldn’t trust an application which isn’t open source with this much control and access, but thankfully IOT Link is just that.

Leave a comment