This project is a fork of the original HASS.Agent created by Sam.
The Purpose of this project is to provide updates/features/fixes until development on the original project resumes. For now, all released from this repository will be marked as beta.
At first all PRs made by me will be merged, but in time, I'll approach authors of other PRs for permission to also include them in here.
NOTE: I did my best to always maintain backward compatibility but this cannot be guaranteed, please report any issues you may encounter.
I do hope to improve this process in the future
Step 0: I cannot stress this enough - backup the config folder of your current HASS.Agent installation before reading further
The original HASS.Agent repository is not available as far as I'm informed.
There are two options to approach this:
- creating a new installer
- going with "patch it over" approach
Currently the recommended option is the "patch it over". HASS.Agent is capable of functioning without the installer but the installer takes care of some dependencies that might need to be installed manually otherwise.
- Download and install HASS.Agent from the official release (usually in "C:\Users<username>\AppData\Roaming\LAB02 Research\HASS.Agent")
- Download and install WindowsAppSDK (explanation why) for HASS.Agent 2023.10.0 - https://aka.ms/windowsappsdk/1.3/1.3.230724000/windowsappruntimeinstall-x64.exe
- Make sure the HASS.Agent service is stopped
- Close/Exit out of the HASS.Agent
- Download the release package from this repository
- Copy/Replace the downloaded files over the installed ones (again, usually in "C:\Users<username>\AppData\Roaming\LAB02 Research\HASS.Agent")
- Launch HASS.Agent and verify that you're using the unofficial beta version by navigating to help window - "u" in the version postfix
"Project" differences from the base project:
- No separation between "HASS.Agent" and "HASS.Agent.Staging" - since I have no access to the original repositories, it'll be easier for me to maintain it this way
- No documentation available yet - best case scenario the descriptions in the application should be sufficient but even so, I'd like to have unofficial documentation created at some point
- The update functionality present in UI does not work with the unofficial version, yet
Major feature changes compared to the original project:
- Virtual desktop sensor and command
- Quick Action carousel/circular navigation
- Notification library change an improvements including possible Win11 fix
- Application volume controls (per application control, audio output command, audio sensor overhaul)
- Internal device sensors - sensors present on the device running HASS.Agent
- Ignore availability option for sensors
- Radio (BT/WiFi/Broadband) control command
- LastActive sensor refresh upon wake from sleep/hibernation
Major bug fix changes compared to the original project:
- GPU temperature and load sensor returns proper values when encountering an error
- Key commands emulation not actually "releases" the key after "pressing it"
- PowerShell command action parameters now include check culture config missing on some systems
- PerformanceCounter sensors do not call NextValue twice causing values to be borked
- Adjustments per Home Assistant 2023.8 MQTT changes regarding sensor/device naming convention
This project contains the latest code of all three parts of the HASS.Agent platform:
Project | Description |
---|---|
HASS.Agent | Main client, containing the UI, runs in userspace, by default without elevation |
HASS.Agent.Satellite.Service | Windows client, runs under SYSTEM account |
HASS.Agent.Shared | Library, contains all commands, sensors, shared functions and enums |
Note: it's best to have enable extended logging
enabled, which will also reflect on the satellite service (as long as it's started in console mode instead of service mode). But that'll also generate false positives, so primarily focus on the issue at hand.
Documentation for the original project is available here: https://hassagent.readthedocs.io/en/latest/development/introduction/
Thanks! If you need more info, please join on Discord.