Hass Workstation Service - Turn your PC or laptop into a bunch of sensors

That’s progress! I added a UserInterface standalone to the release. Could you try that?

hass-workstation-service.exe runs silently so you should be able to see it running in Task Manager.

I like the project - I’m glad you wrote in .NET core as that does seem to be the direction that Microsoft is going. I have a couple of (hopefully) constructive thoughts.

1.) It’d be great to see GPU load + CPU/GPU temperatures. For me, those things can help drive certain automatons like cooling the room when the server/computer is under load or monitoring the amount of time spent gaming. I currently get these values by using the following project (OpenHardwareMonitor) to get those values ( PCInfoToMQTT v0.1.3 ). The big downside of any sort of OpenHardware Monitor integration is that it is written on .NET Framework 4.5 which would be problematic for any Windows installations that don’t support legacy .NET.

2.) Disk space utilization monitor would be cool too.

3.) A basic ‘run’ command ability would be great. I see this as an app that should be run with root privileges that can run any command needed under the sun. If you can also return the run output, that’d be even better.

3.) From a roadmap perspective, what Home Assistant on Windows really needs is a companion app similar to the one available for Mac OS ( https://www.home-assistant.io/blog/2020/09/18/mac-companion/#:~:text=Introducing%20Home%20Assistant%20Companion%20for%20macOS%20Home%20Assistant,app,%20we%20have%20@zacwest%20to%20thank%20for%20this. ). The first step (in my opinion) is to build a suite of sensors to monitor the operating system. The 2nd step is the ability to run commands as needed. The 3rd step would be to integrate an optional option of a web UI. The last step would be a mechanism for that UI to display better/operating system level notifications.

Just my 2 cents. Would be great if this could be the first building block towards a cohesive Windows Home Assistant experience. Thanks for putting the time and effort into this!

Yes, that seems to send something to hass.

I however am now a little dazzled. The " Userinterface-standalone.zip" does that now include the service and the UI?

And what happens if I run the standalone, configure anything and set like:

What happens when I logoff? Reboot?

(I know I can test myself but am asking in the light of how it was intended to work)

It does indeed include both. I’ll work on the naming for the next release.

As stated in the readme, autostart won’t work for the standalone. You could probably start it through Windows Task Scheduler although this was not tested.

1 Like

Thanks for your feedback! I appreciate it a lot.

About you first two points: I think this project should focus on the user/desktop side of things first because there are alternatives like Open Hardware Monitor to use for system sensors. I don’t oppose it, and think it would be pretty cool, but it will not be my point of focus for now.

3.) This has been requested a lot today and is certainly on the roadmap! Currently there is no infrastructure for commands yet but I will work on that soon. The app doesn’t run elevated by design so it can also be used by users with a more restricted policy but this could, of course, be prompted for.

1 Like

Just FYI there is already IOT Link - Windows Management using MQTT

IOT Link’s author has indicated he wants to step away from the project - I believe it’s basically in maintenance mode only at this point. Architecturally, IOT Link is built on .NET 4.X which is a dead end. While it is theoretically ‘easy’ to migrate to .NET 5, I have a feeling that an application like this is best served starting from scratch with .NET core/.NET 5.

There’s a high likelihood based on Apple’s success with Apple silicon that ARM has a real future on Windows. IOT Link will probably not be able to be cross-CPU compatible based on the framework it was built on. Written “right”, HASS Workstation Service might just be able to bridge that gap. I’d really like to see this work.

good to know thanks, no critic on the new project :slight_smile:

This is great. I’d like to make a suggestion: report whether the microphone and camera are being used, to trigger lights to show that a zoom-call etc is in progress…

Can You Track Processes Accessing the Camera and Microphone on Windows 10? · DFIR Review (pubpub.org)

Lots of success, Johan

Hey @sleevezipper,

I installed the setup.exe but i get the following error. I then downloaded and installed windowsdesktop-runtime-3.1.10-win-x64.exe but the error and pop up still persists even after a reboot.

Thanks

Hi Johan,

Thanks for the kind words! Your suggestion is already being worked on. You can track progress here.

1 Like

Hi! Thank you for reporting this. This issue can be tracked here. I hope I’ll be able to fix this soon.

no worries, let me know if you want me to try anythign to help fix/debug the issue

Thanks

@sleevezipper I was just pointed at this app in another thread. I’m definitely going to check this out as an alternative to my current IOTLink setup. I looked at the github page and I’m curious if there is one bit of functionality in particular. With IOTL I’m able to monitor whether a current process is running and have it as a binary sensor in HA. I see you can monitor the active window, but for my “Game Mode” automation, it would need to know whether the game is running in the background as well (I tab out a lot for messaging etc). Is this possible with your app currently and if not, would it be possible to add as a feature?

Promising. IOT Link works but has been unreliable for me, and pushes way more information than I’ll ever use. Being able to pick/choose is nice.

But…I can’t get this to work. I’m guessing it’s related to MQTT…when I put in my config it always displays “NormalDisconnection” in red below MQTT Broker. That sounds…“normal” but I guess it’s really not since I can see nothing in MQTT.

Is it related to the fact I use websockets?

Hi! This is not possible currently but it shouldn’t be too hard to implement. Could you create a feature request on GitHub?

1 Like

Hi! The app currently does not support websockets to connect to the broker.

Will do good sir.

Process Monitor feature request added to github.

Thanks. Still can’t get it to work…any pointers?

I changed my MQTT broker config by adding this:

</s> <s>listener 1883</s> <s>protocol mqtt</s> <s>

Using MQTT Explorer from the same machine I can connect using mqtt:// Protocol. However, the Hass Workstation Service continues to have the “NormalDisconnection” message regardless…good config options or even if I put in garbage.

Scratch all that. I finally killed the process and restarted it, and now it’s working. Thanks!