Windows Machine Status - MQTT Server

Gday All

So I wanted to learn more Python programming, so thought I would setup a simple Windows machine status server/daemon that talks to HomeAssistant via MQTT and provides a bunch of sensors.

Didn’t really explore if something better exists, but again, this was more for a learning exercise.

I have set this up on my Work PC and it works pretty good. Provides basic machine info, as well as speedtest results, and Idle status.

Some cool automations I can use now are:

  • Check speeds to alert me if my VPN connection to office is dropping off.
  • Remote monitoring of CPU/Memory/Disk usage
  • Idle time.
    • Can be used for security (if status goes to Active and Im not at work, then someones using my machine)
    • Can help me track my screen time/usage. Too much: have a break! Not Enough: Get back to work!
    • Tell me if specific apps are running or not (certain key apps need to run. if not let me know)

Can use the sensors for graphs etc. or turn it into a neat card.
Quickly knocked this together (Remote IP hidden):



If people are interested I can try cleanup the code so its legible and put it on Github.

Anyway thought I would share.

Released onto github!


Looks cool, please share, I would like to monitor my kids internet usage!!

HomeAssistant: its not spying if its your family :smiley:

Yeah no worries. I will start cleaning up things.

One thing I have to work out is how set it up as a service and have it run on start up (easy) but also restart on crashes (not easy?)

You may wish to consider collaborating with the author of this:

There is also another thread on here about a windows mqtt client that would enable shut down via mqtt (and by definition from HA).

IIRC the author refused to share his code, which is a little unfortunate in a closed source community, but that position may have changed. Anyway it may be another reference point :slight_smile:

@nickrout yeah i was thinking about adding commands. just worried about security implications. Maybe future release.

Anyway. Released a 0.1.0 version on github

1 Like