Skip to content

Releases: LAB02-Research/HASS.Agent

b2022.2.13

13 Feb 11:55
Compare
Choose a tag to compare

Note: this is a beta release!

Beta notes: Even though the new multivalue-sensor 'audio' can be added, it currently doesn't do anything. I'm still working out the memory-leak kinks.


Features & improvements

  • New multivalue-sensor: Displays (thanks dino)

    • Amount of displays
    • Name of primary display
    • Per display: name, resolution and bits per pixel
  • You can now choose to get notified of beta updates as well (thanks Shupershuff)

    • Beta updates are generally stable, they're used to push new functions sooner
    • Regular channel only gets updates every few weeks, to prevent update fatigue
  • Disconnection grace period [#29] (thanks @amplitur)

    • Set a grace period (default 60 seconds) in which HASS.Agent tries to recover from a failed connection before logging
    • Useful for example when it takes Windows a while to connect, or when updating HA
    • Applies to MQTT and HA's API
  • QuickActions now have support for covers [#28] (thanks @ipd-otto)

    • Also added: climate and media_player
  • Sensors and commands are now still processed while the config window's open [#30] (thanks @amplitur)

  • New command: Sleep (thanks bverkron)

    • Note: due to a limitation in Windows, this only works if hibernation is disabled
    • You can use something like NirCmd to circumvent this
  • New sensor: Process active

    • Returns the number of active instances of the provided process
  • New sensor: Service check

    • Returns the current state of the provided service
  • New sensor: Logged users

    • Returns a json-formatted list of currently logged users
  • New command: Publish all sensors (thanks djagerif)

    • Resets all sensor checks, forcing them to resend their values
    • Useful for example when you want HASS.Agent to resend all values after rebooting HA
  • HASS.Agent will now try to resend all sensor values after reconnecting to HA (thanks djagerif)

  • Added a fancy 'restarting' interface

  • Various UI tweaks

Bugfixes

  • WMI queries don't return any value
  • Removed unnecessary exceptions when 'extended logging' is enabled
  • You can now set your device name during onboarding, as intended
  • Powershell's binary is now located and launched instead of using PATH [#26] (thanks @scrthq)
  • Powershell scripts containing a space in their uri aren't being executed (thanks Shupershuff)

b2022.2.23

23 Feb 10:31
Compare
Choose a tag to compare
b2022.2.23 Pre-release
Pre-release

Note: this is a beta release!


Features & improvements

  • New multi-value sensors: audio (thanks Nejc)
    • Provides information about various aspects of your device's audio:
      • Current peak volume level (can be used as a simple 'is something playing' value)
      • Default audiodevice: name, state and volume
      • Summary of your audio sessions: application name, muted state, volume and current peak volume
    • Possible thanks to @morphx666's great audio library CoreAudio and his awesome support, thank you!

b2022.2.19

19 Feb 12:00
Compare
Choose a tag to compare
b2022.2.19 Pre-release
Pre-release

Note: this is a beta release!


Features & improvements

  • WMI sensors now support configuring its scope (thanks zlodei2000)
    • This allows for instance to fetch AID64 or openhardwaremonitor sensors
    • Example cpu temperature query for the latter:
      • Scope: \.\ROOT\OpenHardwareMonitor
      • Query: SELECT value FROM Sensor WHERE Name LIKE "%CPU Core%" AND SensorType = "Temperature"

b2022.2.17

17 Feb 07:53
Compare
Choose a tag to compare
b2022.2.17 Pre-release
Pre-release

Note: this is a beta release!


Bugfixes

Forms won't close after transitioning from modal (thanks duceduc)

b2022.2.16

16 Feb 13:59
Compare
Choose a tag to compare
b2022.2.16 Pre-release
Pre-release

Note: this is a beta release!


Features & improvements

  • New configuration page: External Tools

    • Configure a specific browser and -executor
    • Allows you to add a incognito field for the new LaunchUrl command
      • I've added the args for a few browsers (detected when you select the binary)
      • If your browser isn't included, please let me know the arg and I'll add it
    • If you select a custom browser, it'll be used throughout HASS.Agent
      • In normal mode, not incognito, that's only for the LaunchUrl command
    • Executor can be used in the new CustomExecutor command
  • New command: LaunchUrl

    • Launches the specified url in your default browser
    • Optionally launch incognito (thanks duceduc)
      • For this to work, you need to config a custom browser
  • New command: CustomExecutor [#32] (thanks @scrthq)

    • Execute commands through your favorite executor (set in Configuration -> External Tools)
    • Handy for instance if you use a lot of python scripts, no more copying the binary in custom commands
    • Your command is provided as an argument 'as is', so you have to take care of quotes etc. yourself
  • Various UI tweaks

b2022.2.14

14 Feb 09:34
Compare
Choose a tag to compare
b2022.2.14 Pre-release
Pre-release

Note: this is a beta release!

--

Previous beta release didn't include the code I wrote yesterday, sorry. This release contains all release notes below.


Features & improvements

  • New multivalue-sensor: Displays (thanks dino)

    • Amount of displays
    • Name of primary display
    • Per display: name, resolution and bits per pixel
  • You can now choose to get notified of beta updates as well (thanks Shupershuff)

    • Beta updates are generally stable, they're used to push new functions sooner
    • Regular channel only gets updates every few weeks, to prevent update fatigue
  • Disconnection grace period [#29] (thanks @amplitur)

    • Set a grace period (default 60 seconds) in which HASS.Agent tries to recover from a failed connection before logging
    • Useful for example when it takes Windows a while to connect, or when updating HA
    • Applies to MQTT and HA's API
  • QuickActions now have support for covers [#28] (thanks @ipd-otto)

    • Also added: climate and media_player
  • Sensors and commands are now still processed while the config window's open [#30] (thanks @amplitur)

  • New command: Sleep (thanks bverkron)

    • Note: due to a limitation in Windows, this only works if hibernation is disabled
    • You can use something like NirCmd to circumvent this
  • New sensor: Process active

    • Returns the number of active instances of the provided process
  • New sensor: Service check

    • Returns the current state of the provided service
  • New sensor: Logged users

    • Returns a json-formatted list of currently logged users
  • New command: Publish all sensors (thanks djagerif)

    • Resets all sensor checks, forcing them to resend their values
    • Useful for example when you want HASS.Agent to resend all values after rebooting HA
  • HASS.Agent will now try to resend all sensor values after reconnecting to HA (thanks djagerif)

  • Added a fancy 'restarting' interface

  • Various UI tweaks

Bugfixes

  • WMI queries don't return any value
  • Removed unnecessary exceptions when 'extended logging' is enabled
  • You can now set your device name during onboarding, as intended
  • Powershell's binary is now located and launched instead of using PATH [#26] (thanks @scrthq)
  • Powershell scripts containing a space in their uri aren't being executed (thanks Shupershuff)

b2022.1.25

25 Jan 19:19
Compare
Choose a tag to compare
b2022.1.25 Pre-release
Pre-release

Note: this is a beta release!


Features & improvements

  • New multivalue-sensor: Displays (thanks dino)
    • Amount of displays
    • Name of primary display
    • Per display: name, resolution and bits per pixel

Bugfixes

  • WMI queries don't return any value

v2022.1.23

23 Jan 17:30
cfe5678
Compare
Choose a tag to compare

As promised, a more interesting update than the last one: new sensors, commands and configuration options - thanks a ton for all the reports/tips/ideas! Keep them coming :)

Unfortunately (but it kinda feels mature), this update also contains the very first breaking change. It's only relevant if you have a network- or disk multivalue sensor configured. Nothing too bad, read the Breaking changes section below.


Features & improvements

  • HASS.Agent now has a Discord channel! Find us on https://discord.gg/nMvqzwrVBU (thanks @Syntoxr)

    • Ask for help, share ideas, tips, nuisances as well as anything you like
    • Feel free to report bugs, although GitHub tickets are prefered (especially for high-impact issues)
  • New command: Powershell

    • You can now add your own Powershell-based commands
    • This can either be a script (ending with .ps1), or a single-line command
  • New multivalue-sensor: Windows Update

    • Currently adds 2 sensors: pending driver updates count and pending software updates count
    • Code's already complete to add sensors containing more detailed info about the individual pending updates
      • This first requires some MQTT code upgrades, as it has to be sent as 'attributes' (too long otherwise)
      • So, those are for next time :)
  • New multivalue-sensor: battery state

    • Current charging status
    • Estimated amount of minutes on a full charge
    • Remaining charge in percentage
    • Remaining charge in minutes
    • Powerline status
  • New sensor: custom performance counters

    • You can now create your own performance counter-based sensors
    • Launch perfmon.exe to find interesting counters
    • Example for an 'available memory' counter:
      • Category: Memory
      • Counter: Available MBytes
      • Instance: leave empty
  • HASS.Agent updates can now be installed directly from the 'new update' dialog

    • If enabled, the update dialog shows a button to download & launch the installer for you
    • Enabled by default, but can be disabled through the Configuration window
    • The update is downloaded from GitHub, same link as usual
    • After downloading, HASS.Agent checks the file to see if it's signed with the right certificate to prevent tampering
  • Custom commands can now be executed as 'low integrity' for added security [#15] (thanks @mitchcapper)

    • That means it will only be able to save and modify files in certain locations:
      • %USERPROFILE%\\AppData\\LocalLow
      • HKEY_CURRENT_USER\\Software\\AppDataLow
  • Connecting to HA's API now supports client certificates [#15] (thanks @mitchcapper)

    • You can either provide your own, or use automatic selection (it'll try to find the right one)
    • Not tested: if you use this, let me know if something doesn't work
  • You can now change your device's name [#25] (thanks @Avishadur)

    • Default is the machinename as configured in Windows
    • Used as the device name in HA
    • Used as the default prefix for new sensors and commands
      • Note: the default name is a suggestion, you can change it for every individual sensor or command
    • Note: when you change this value, all your sensors and commands will be temporarily unpublished
      • HASS.Agent will restart and then republish them, with the same ID's but under the new name
  • MQTT got some new connection options:

    • Support for client certificates
      • You can provide a root and client certificate
    • The option to (dis)allow untrusted certificates
      • This is set to allow by default to avoid breaking connections for existing users
    • The option to disable the retain flag
    • These new options aren't tested: if you use this, let me know if something doesn't work
    • Based on @prestomation's excellent work for hass workstation service
  • Added a help dialog with pointers to GitHub, Discord and the HA forum

  • Added an exit dialog

    • When clicking the exit button, or 'exit' on the trayicon menu, you'll be presented a small dialog
    • You can use this to (obviously) exit, but also to restart HASS.Agent
    • Useful for instance when you want to reload and reregister all sensors
  • New sensors and commands now get a suggested name based on {machinename}_{sensor/commandname} [#25] (thanks amplitur and @Avishadur)

  • Dropdown menus now have the same background color as textboxes (thanks amplitur)

  • Sensor values consisting of arrays now only contain values (no array descriptor) (thanks amplitur)

  • Custom- and Powershell commands are now executed as non-blocking

    • This means they get launched and forgotten
    • You'll still get an error entry in your log if execution fails to start
    • Output doesn't get parsed nor exitcode checked
      • The code's completed to perform 'smarter' executions and respond on the final outcome
      • If there's interest in this, let me know and I'll make it an optional setting
  • Only one log message when disconnected from HA's API, and one when reconnected, to prevent spamming

  • Modifying sensors and commands is now locked until they're all loaded, to avoid accidental deletion

Breaking changes

  • The sensors of multivalue sensors now correctly get the user provided prefix [#25] (thanks amplitur and @Avishadur)
    • Previously, all sensors of the network sensor started with nic, and storage with drive
    • That's fine for one PC, but not fine for multiple
    • From now on, every sensor that's part of a multivalue sensor will have the name of its parent sensor as a prefix
    • For instance, if you made a network sensor called pc1_nics, the sensor containing the amount of cards is now called pc1_nics_network_card_count
    • You can opt to delete your PC from the Devices list to get a clean slate
      • You can do this by going to HA, press e for the shortcut menu, search for and open devices
      • Search and open your machine, and look for DELETE under Device info
      • Make sure there's a button called MQTT INFO to the left of it, and double check that you have the right one
      • Make sure HASS.Agent is completely closed (not minimized to tray)
      • When you're ready, click and confirm DELETE
      • All sensors and commands will get recreated after you launch the new HASS.Agent release, your scripts/automations keep working

Bugfixes

  • Dragging windows can cause drawing issues [#23] (thanks @petarvucetin)
  • Parsing port-reservation output isn't language independent (fix applied to v2022.1.17 release as well) [#22] (thanks @Syntoxr)
  • Quickaction-bound hotkeys not working when only one quickaction is present [#20] (thanks @b26x and @Syntoxr)
  • Onboarding doesn't show when launching with 'update' parameter (fix applied to v2022.1.17 release as well)
  • Configuration window won't close when choosing not to restart
  • Application crash when storing configuration without a registered hotkey
  • Loading cpu-heavy sensors freezes HASS.Agent on startup
  • Powershell commands get executed twice (thanks Shupershuff)
  • Sensors won't get a value in HA until the value changes or HASS.Agent restarts

b2022.1.22

22 Jan 14:26
cfe5678
Compare
Choose a tag to compare
b2022.1.22 Pre-release
Pre-release

Note: this is a beta release!


Features & improvements

  • HASS.Agent now has a Discord channel! Find us on https://discord.gg/nMvqzwrVBU (thanks @Syntoxr)

    • Ask for help, share ideas, tips, nuisances as well as anything you like
    • Feel free to report bugs, although GitHub tickets are prefered (especially for high-impact issues)
  • New command: Powershell

    • You can now add your own Powershell-based commands
    • This can eiher be a script (ending with .ps1), or a single-line command
  • New command: hibernate

  • New multivalue-sensor: Windows updates

    • Currently adds 2 sensors: pending driver updates count and pending software updates count
    • Code's already complete to add sensors containing more detailed info about the individual pending updates
      • This first requires some MQTT code upgrades, as it has to be sent as 'attributes' (too long otherwise)
      • So, those are for next time :)
  • New multivalue-sensor: battery state

    • Current charging status
    • Estimated amount of minutes on a full charge
    • Remaining charge in percentage
    • Remaining charge in minutes and the powerline status
  • New sensor: custom performance counters

    • You can now create your own performance counter-based sensors
    • Launch perfmon.exe to find interesting counters
    • Example for an 'available memory' counter:
      • Category: Memory
      • Counter: Available MBytes
      • Instance: leave empty
  • Updates can now be launched directly from HASS.Agent

    • If enabled, the update dialog shows a button to download & launch the installer for you
    • Enabled by default, but can be disabled through the Configuration window
    • The update is downloaded from GitHub, same link as usual
    • After downloading, HASS.Agent checks the file to see if it's signed with the right certificate to prevent tampering
  • Custom commands can now be executed as 'low integrity' [#15] (thanks @mitchcapper)

    • That means it will only be able to save and modify files in certain locations:
      • %USERPROFILE%\\AppData\\LocalLow
      • HKEY_CURRENT_USER\\Software\\AppDataLow
  • Connecting to HA's API now supports client certificates [#15] (thanks @mitchcapper)

    • You can either provide your own, or use automatic selection (it'll try to find the right one)
    • Not tested: if you use this, let me know if something doesn't work
  • Experimental: you can now change your device's name [#25] (thanks @Avishadur)

    • Default is the machinename as configured in Windows
    • During onboarding, you get the chance to customize this value (this part isn't experimental, changing later on is)
    • Used as the device name in HA
    • Used as the default prefix for new sensors and commands
    • Note: when you change this value, all your sensors and commands will be temporarily unpublished
      • HASS.Agent will restart and then republish them, under the same ID's
      • In some cases, you need to restart HASS.Agent again (possible through the new exit dialog)
      • In some (other?) cases, your commands stop working
      • I'm looking into this, but the easiest solution for now is:
        • Optionally make a copy of commands.json in the config folder
        • Remove the commands in HASS.Agent (you don't have to change/remove anything in HA)
        • Click store and activate commands
        • Reopen the commands window and add your commands under the same name, optionally cut 'n pasting from your commands.json copy
        • Click store and activate commands
        • They'll work again, and so will your scripts/automations that use them
  • MQTT got some new connection options:

    • Support for client certificates
      • You can provide a root and client certificate
    • The option to (dis)allow untrusted certificates
      • This is set to allow by default to avoid breaking connections for existing users
    • The option to disable the retain flag
    • These new options aren't tested: if you use this, let me know if something doesn't work
    • Based on @prestomation's excellent work for hass workstation service
  • Added a help dialog with pointers to GitHub, Discord and the HA forum

  • Added an exit dialog

    • When clicking the exit button, or 'exit' on the trayicon menu, you'll be presented a small dialog
    • You can use this to (obviously) exit, but also to restart HASS.Agent
    • Useful for instance when you want to reload and reregister all sensors
  • New sensors and commands get a suggested name based on {machinename}_{sensor/commandname} [#25] (thanks amplitur and @Avishadur)

  • Dropdown menus now have the same background color as textboxes (thanks amplitur)

  • Sensor values consisting of arrays now only contain values (no array descriptor) (thanks amplitur)

  • Custom- and Powershell commands are now executed as non-blocking

    • This means they get launched and forgotten
    • This way, you can send the next command afterwards, and don't have to worry about time-consuming commands
    • You'll still get an error entry in your log if execution fails to start
    • Output doesn't get parsed nor exitcode checked
      • The code's completed to perform 'smarter' executions and respond on the final outcome
      • If there's interest in this, let me know and I'll make it an optional setting for commands

Breaking changes

Unfortunately (but it kinda feels mature), this update contains our very first breaking change. It's only relevant if you're using multivalue-sensors.

  • The sensors of multivalue sensors now correctly get the user provided prefix [#25] (thanks amplitur and @Avishadur)
    • Previously, all sensors of the network sensor started with nic, and storage with drive
    • That's fine for one PC, but not fine for multiple
    • From now on, every sensor that's part of a multivalue sensor will have the name of its parent sensor as a prefix
    • For instance, if you made a network sensor called pc1_nics, the sensor containing the amount of cards is now called pc1_nics_network_card_count
    • You can opt to delete your PC from the Devices list to get a clean slate
      • You can do this by going to HA, press e for the shortcut menu, search for and open devices
      • Search and open your machine, and look for DELETE under Device info
      • Make sure there's a button called MQTT INFO to the left of it, and double check that you have the right one
      • Make sure HASS.Agent is completely closed (not minimized to tray)
      • When you're ready, click and confirm DELETE
      • All sensors and commands will get recreated after you launch the new HASS.Agent release

Bugfixes

  • Configuration window won't close when chosing not to restart
  • Application crash when storing configuration without a registered hotkey
  • Loading cpu-heavy sensors freezes HASS.Agent on startup
  • Modifying sensors and commands is now locked until they're all loaded, to avoid accidental deletion

b2022.1.18

18 Jan 16:16
9ea8108
Compare
Choose a tag to compare
b2022.1.18 Pre-release
Pre-release

Note: this is a beta release!


Features & improvements:

  • Only one log message when disconnected from HA's api, and one when reconnected, to prevent spamming

Bugfixes:

  • Dragging windows can cause drawing issues [#23] (thanks @petarvucetin)
  • Parsing port-reservation output isn't language independent (fix applied to v2022.1.17 release as well) [#22] (thanks @Syntoxr)
  • Quickaction-bound hotkeys not working when only one quickaction is present [#20] (thanks @b26x and @Syntoxr)
  • Onboarding doesn't show when launching with 'update' parameter (fix applied to v2022.1.17 release as well)