Releases: LAB02-Research/HASS.Agent
v2022.1.17
TL;DR
This update removes the (need for a) scheduled task. From now on, HASS.Agent will run without elevated privileges. If you use the installer, all will be done for you. If you update manually, this time only, open an elevated command prompt and run HASS.Agent.exe update
to perform the transition.
Extended version
Had some time to kill while flying, so developed this update to help transition away from elevated execution.
Previously, HASS.Agent used a scheduled task to run with elevated privileges. This allowed easy registering of the notifications API port (among some other things), but also imposed a security risk. This update will remove the task, and from now on HASS.Agent will run without any special privileges. To launch, HASS.Agent uses the registry to execute on login (HKCU). This can be enabled/disabled from the Configuration window. If you currently have a scheduled task, this will be enabled automatically.
Your custom commands will now execute without elevation, but I don't think that'll be a problem (if anything, another security aspect that's improved). However, if your command requires elevation, you can create a run-on-demand scheduled task, make sure it's set to run elevated, and then use schtasks /run /tn '{taskname}'
as your custom command to execute the task. Don't hesitate to ask for help!
HASS.Agent tries to make the transition as seamless as possible. If you use the installer, all will be done for you (theoretically ..). If you update manually, this time only, open an elevated command prompt in the installation directory and run HASS.Agent.exe update
to perform the transition.
From now on, whenever HASS.Agent has to perform something elevated, it'll show a one-time UAC prompt. This will only happen on demand (for instance, when you change the notification port).
There are no new features in this update, as I first want to make sure this works well for everyone so HASS.Agent has a stable and secure foundation to build on. If something doesn't work as intended, even if it's a minor inconvenience, please open a ticket to let me know.
Don't worry, next update will be more fun :)
Thanks @mitchcapper for opening the discussion about this.
Small improvement: removed the grouping points in port values [#21] (thanks @Syntoxr)
v2022.1.7.1
In addition to 2022.1.7:
- Bugfix: multi-value sensors aren't being added to HA (thanks @GegoSK and nightfever)
Some nice improvements and bugfixes in this version, thanks for all the reports :)
I'm away for 10 days; if something's broken despite my somewhat rigorous testing, you can simply uninstall and then install the previous version without loss of settings - but please post the issue and optionally your logs. I'll reply as soon as I'm back.
Features & improvements:
- Configuration screen revamp
- Every section now has its own page, to allow for more options and info text
- Configuration page added: Local Storage
- Manage how long your notification images are cached
- Configuration page added: Logging and Reporting
- Manage extended logging options
- It's now possible to set a custom discovery topic [#11] (thanks @ivanlee1007)
- New single-value sensor: LastSystemStateChange
- Contains the last system state change (you guessed it), like SystemShutdown, SessionLogon, SessionRemoteControl etc. (full list shown when you add the sensor)
- Useful to monitor (unwanted) logins, etc
- Performance counter-based sensors
- Previously, CPU load (amoung others) got fetched through WMI - which is a pain and resource-heavy
- CPU load has been changed to performance counters, the rest will follow
- The next version will enable you to add your own counters
- You can use 'perfmon.exe' to get familiar with them
Bugfixes:
- HASS.Agent will do its best to announce it's unavailable on shutdown/logout/suspend [#12] (thanks @miit86)
- Lock command isn't stored properly [#13] (thanks @bfish2)
- CurrentClockSpeed and CpuLoad sensors don't provide values [#17] (thanks @GegoSK)
- Note: CurrentClockSpeed currently provides the factory provided value (ie. what it's capable of)
- SessionState sensor changed from WMI to Windows API
- The WMI method used too much CPU
- Values changed to Locked, Unlocked and Unknown
- Unknown also occurs when the user disconnects (in case of a remote connection)
- Use a LastSystemStateChange sensor to detect what happened
- Notifier local API now won't start if notifications are disabled [#15] (thanks @mitchcapper)
v2022.1.7
Some nice improvements and bugfixes in this version, thanks for all the reports :)
I'm away for 10 days; if something's broken despite my somewhat rigorous testing, you can simply uninstall and then install the previous version without loss of settings - but please post the issue and optionally your logs. I'll reply as soon as I'm back.
Features & improvements:
- Configuration screen revamp
- Every section now has its own page, to allow for more options and info text
- Configuration page added: Local Storage
- Manage how long your notification images are cached
- Configuration page added: Logging and Reporting
- Manage extended logging options
- It's now possible to set a custom discovery topic [#11] (thanks @ivanlee1007)
- New single-value sensor: LastSystemStateChange
- Contains the last system state change (you guessed it), like SystemShutdown, SessionLogon, SessionRemoteControl etc. (full list shown when you add the sensor)
- Useful to monitor (unwanted) logins, etc
- Performance counter-based sensors
- Previously, CPU load (amoung others) got fetched through WMI - which is a pain and resource-heavy
- CPU load has been changed to performance counters, the rest will follow
- The next version will enable you to add your own counters
- You can use 'perfmon.exe' to get familiar with them
Bugfixes:
- HASS.Agent will do its best to announce it's unavailable on shutdown/logout/suspend [#12] (thanks @miit86)
- Lock command isn't stored properly [#13] (thanks @bfish2)
- CurrentClockSpeed and CpuLoad sensors don't provide values [#17] (thanks @GegoSK)
- Note: CurrentClockSpeed currently provides the factory provided value (ie. what it's capable of)
- SessionState sensor changed from WMI to Windows API
- The WMI method used too much CPU
- Values changed to Locked, Unlocked and Unknown
- Unknown also occurs when the user disconnects (in case of a remote connection)
- Use a LastSystemStateChange sensor to detect what happened
- Notifier local API now won't start if notifications are disabled [#15] (thanks @mitchcapper)
v2022.1.4
This release contains enhancements for the onboarding process, so if you're up and running - just click 'nope'.
- Onboarding will now copy the API server address as the MQTT server address [#9] (thanks @SecretiveShell)
- If no API address is given, defaults to
homeassistant.local
- If no API address is given, defaults to
- Onboarding will now warn the user if the current keyboard language collides with the default global hotkey [#10] (thanks @xpac1985)
- If the language's known to collide, it'll remove the default global hotkey and warn accordingly
- If the language's unknown, it'll keep the default global hotkey but warn the user (and ask them to submit their language if it does collide)
v2021.12.31
Just in time for the new year; a few new features & some much needed improvements!
Features:
- You can now use the arrow keys to move between Quick Actions, and press
enter
orspace
to activate (thanks freakshock) - Multi-value sensors
- The 'normal' sensors all transmit one value, for instance 'cpu usage' or 'last login moment'
- This is fine for specific values, but inadequate for sensors that contain lots of values, for instance disk information
- With the addition of multi-value sensors, we can now add 1:N value based sensors
- Values are sent in a dedicated topic:
homeassistant/sensor/{device_name}/{dedicated_topic}/{one_of_the_containing_sensors_id}/state
where {dedicated_topic} is the name you gave the multi-value sensor
- New multi-value sensor: Storage
- Provides the labels, total size (MB), available space (MB), used space (MB) and file system of all present non-removable disks
- New multi-value sensor: Network
- Provides card info, configuration, transfer- & package statistics and addresses (ip, mac, dhcp, dns) of all present network cards
- Sensor- and command information panel
- When adding a sensor or command, there's now a panel on the right that shows extended information about the selected type
- New command: Lock
- Locks the current session, useful for when you want to lock your PC when you leave the room or house
Bugfixes & improvements:
- Fixed: sensor update interval not working [#8] (thanks @miit86)
- Fixed: HASS.Agent doesn't properly announce unavailability upon closing
- Fix: MQTT notification spam on disconnect (thanks freakshock)
- After updating, if there's a Scheduled Task present, HASS.Agent will launch from there
There have been quite a few changes in the code, so bugs are imminent - please continue to create tickets, they're immensely helpful :)
v2021.12.21
Bugfix: downloading images from Home Assistant's camera proxy fail. [#5]
v2021.12.19
Bugfix for the onboarding process, if you already have HASS.Agent up & running you can skip this version.
v2021.12.18
This is a big update, all of it is UI/UX related:
- Onboarding
- When you're a first-time user, you'll be shown an onboarding window which will guide you through configuring and setting up (if you want)
- Will create a scheduled task and a firewall rule (again, if you want)
- Only shows once, if you abort it won't bug you anymore (you can always use the configuration window)
- Font size increased to 10 for readability, windows resized accordingly
- UI tweaks
- Errors (for instance disconnects) are now shown as a toast notification instead of a messagebox
- Update checker
- If enabled, will check for new releases every 30 min
- When a release is found, you'll be shown an info window and the option to open the github release page
- Only one notification per release, no bugging
- Installer
- New shiny installer :)
- Will update previous versions (even though it says 'install', your settings are saved)
- If you've installed by zip previously, make sure to select that folder as the target
- Signed, will check for tampering before installing and fail otherwise
- Releases will always be provided as a zip package as well
- Lots of improvements all around!
I'm no UI/UX expert, so tips are always welcome :)
v2021.12.14
Quickfix to mitigate breaking changes introduced by Home Assistant 2021.12 release (datetime needs to include timezone)
v2021.12.3
- Improvements on the commands/quickactions/sensors grid
- Commands/quickactions/sensors windows are now resizable
- Improvements in the hotkey code
- Every individual quickaction can now be assigned a hotkey (thanks for the tip @FiftyFour7250)