2022.13.0
Heads up: this is quite the release, so you might want to click the 'Release Page' link to open the notes in a browser (easier to read). You'll still be able to use the 'Install Update' button afterwards.
TL;DR breaking changes: if you use the notifier integration and aren't planning on using the new integration, update it to the latest version in HACS (no other change necessary). Because of sensor attributes being added to the multivalue sensors (and some of their individual sensors removed), your automations/scripts may need adjustments.
First of all: sorry, it's been a while. The past few months were busier than expected, but I think it's worth the wait: this release has quite a few nice additions! The last release got over 18k downloads, which is really awesome :) Thanks to everyone using HASS.Agent, submitting suggestions, bugreports and tips, creating youtube howto videos. Thanks to everyone who donated, it's really appreciated a lot, and thanks to the monthly sponsors! <3
Probably the most notable addition is @fillefilip8's work. First, he implemented actionable notifications! He did a great job: it's a very neat implementation and uses the same structure as the companion apps, so if you have those setup, it's a breeze to add them to HASS.Agent as well.
But he didn't stop there, and decided to create an entire new integration from scratch, providing:
-
MQTT support
- As long as you can reach your broker, you can now receive notifications and use the mediaplayer functionality wherever you are
- No more messing with port reservations or firewall rules
-
Autodiscovery
- Your devices show up by magic in HA's integration page
- No more looking up your device's IP
- Don't use MQTT? You can still add your device using the local API, through a config flow! No more yaml :)
-
Improved mediaplayer
- Support for seek, position and cover art
- Only when supported by the media app, like Spotify
- So so snappy! No more lagging behind
- Support for seek, position and cover art
-
Improved notifications
- Use device triggers to easily create new actions
- Change the default notification title through UI
- Use media_source in the image field
- Supports camera proxy:
/api/camera_proxy/camera.camera_name
-
One integration to rule (integrate?) them all
- Contains both notifications and mediaplayer
- Both MQTT and HASS.Agent's legacy local API are supported
This integration is now available through HACS (simply called HASS.Agent
). You don't have to switch: if you're happy with your current setup, everything will keep working (as long as you update the notifier integration through HACS). If you do switch, consider removing your old notification and media_player entities.
From now on, this integration will be considered the default, and the other two as (still supported) legacy. So, HASS.Agent will no longer automatically process the port reservation + firewall rule. You can still do so through the Configuration window. If you're switching to the new integration, consider removing the firewall rule from your system, for a little extra security.
Please test as much as you can, and report any bugs/strange behavior :)
The second notable change is that sensors can now use attributes! This is especially useful for multivalue sensors, and really cleans up the entity list HASS.Agent creates. Attributes have been implemented in all of them, and there's also a new one: printers. Contains a ton of info per printer, and info about pending documents. This means usb printers can now be fully integrated into HA as well.
However, this does mean that if you created automations/scripts using the old sensors, they may not work anymore. For instance; the storage sensor created a lot of sensors, but now only one per volume with its values (and more added!) as attributes.
All changes and features require a lot of documentation rewriting, which will get done over the following days. If you have examples or other useful stuff to share, let me know and I'll put them online.
Features & improvements
-
New monthly sponsor: @jdiegmueller, thank you! <3
-
New monthly sponsor: @ewonais, thank you! <3
-
Translations:
- German translation is now completed (thanks @Syntoxr)
- New translation: Russian (thanks Ravkovski1306)
- Added translation: French (thanks team, note: 92% done)
- Slovenian language got improved (thanks Pavel)
- English translation got its capitalization refactored (thanks Skully)
- These languages are partially done, if you can please help complete them:
- Ukrainian, Swedish, Polish, Russian and French
-
Actionable notifications! (thanks @fillefilip8)
-
Support and UI changes for @fillefilip8's new integration
-
Sensors now have the ability to include attributes
- This has been implemented for all new ánd existing multivalue sensors
- Most of the existing multivalue sensors have extra info added in their attributes
- For instance, Storage now shows diskspace used and available as percentages
-
The Key command now detects the key you want to press
- Instead of having to look up the keycode, just press the key you want simulated
- The corresponding code will be set for you
- This doesn't affect the MultipleKeys command
-
DeviceName sanitation can now be disabled (thanks ABEIDO)
- Use this if you're sure the name you want won't cause troubles in HA
- The checkbox is in Configuration -> General
-
You can now completely disable the state toasts
- This applies to the MQTT and HA (dis)connected messages
- The checkbox's in Configuration -> General
-
New sensor: BluetoothDevices (thanks ChrisRosenkreuz23)
- Creates a sensor showing the amount of bluetooth devices (both connected and disconnected)
- The devices are added as attributes, containing:
ID
,name
,paired state
andconnected state
-
New sensor: BluetoothLeDevices (thanks ChrisRosenkreuz23)
- Creates a sensor showing the amount of LE bluetooth devices (both connected and discovered)
- The devices are added as attributes, containing:
ID
,name
,connected state
andlast seen (UTC)
- Contains only devices that have been seen since the last scan interval
-
Added
manage satellite service
button to its configuration page -
The Satellite Service now uses HASS.Agent's MQTT configuration by default
- Except
client_id
- When you change the settings in the configuration page, they get synced to the service as well
- Except
-
Sensor- and command names are now sanitized on creation to prevent rejection by HA (thanks @RamonaSteve)
-
WindowsUpdates multivalue sensor now uses attributes
- Available driver & software updates sensors (containing update names, type and other info)
- Driver & software pending update count sensors
-
Display multivalue sensor now uses attributes
- Every display has its own sensor, with its info as attributes
- Added a default display sensor, and amount of displays
-
Storage multivalue sensor now uses attributes
- Every partition has its own sensor, with its info as attributes
- Added a total disk count sensor
-
Network multivalue sensor now uses attributes
- Every network card has its own sensor (or the one you specified), with its info as attributes
-
Audio multivalue sensor now uses attributes
- This only applies to the 'audio sessions' sensor, the rest is the same
-
New multivalue sensor: Printers
- Provides information about all installed (usb and network) printers and their queues
- Creates a sensor per printer, with its state as attributes
- Also creates a sensor for the default printer ('queue') and the amount of pending prints
-
New command: MonitorSleep
-
New command: MonitorWake
-
New command: SetVolume
- Sets the volume of the current default audiodevice to the provided value
- Can be used with an Action
-
New sensor: MonitorPowerState (thanks Buffalo_Bro)
- Provides the last monitor power state change:
- Dimmed, PowerOff, PowerOn and Unknown
- Provides the last monitor power state change:
-
New sensor: PowershellOutput
- Contains whatever output your powershell command or script gives, converted to text
- You can test using the test button when creating the sensor
-
New sensor: WindowState (thanks TheHolyRoger)
- Provides the current state of the process' window:
- Hidden, Maximized, Minimized, Normal and Unknown
- Provides the current state of the process' window:
-
New sensors: MicrophoneProcess and WebcamProcess [#108] (thanks @DennisGaida)
- Contains the name of the process using the device, or nothing if it's not being used
- The existing MicrophoneActive and WebcamActive sensors still exist
-
You can now configure the tray icon to show the default menu on left-click (thanks madelena)
- Only applicable when a WebView's set as the right-click action
- This is a work-in-progress, ymmv
-
Home Assistant API now has an
allow untrusted certificates
option (thanks Moldis) -
MQTT can now be completely disabled (thanks AfcaEricNL)
- This will also disable commands, sensors and the use of the new integration
-
HASS.Agent now checks the HA API token for unexpected chars and minimum length (thanks doge & @Syntoxr)
-
HASS.Agent now checks the URI formatting of the HA API & MQTT broker
-
AudioSensor: added
global muted
state (thanks Nejc) -
AudioSensor: added input device info (thanks ChrisRosenkreuz23)
- Default Input Device
- Default Input Device State
- Default Input Device Muted
- Default Input Device Volume
-
LibreHardwareMonitorLib updated to latest version
-
AudioSensors now tries to show the complete friendly name [#44] (thanks @dimmuboy and @tachibanayui)
Bugfixes
-
LoggedUser sensor shows wrong value if logged in as another user [#38] (thanks @bverkron)
-
MQTT: client doesn't respect the
allow untrusted certificates
flag [#82] (thanks @DeerMaximum) -
Button texts become misaligned on the main window
-
Webview cache location textbox remains empty
-
MQTT: gracefully handle NotAuthorized [#77] (thanks @klkohl)
-
Local API: port reservation needs to be done for all users [#90] (thanks @JvdMaat)
-
Satellite Service: changed name doesn't propagate to new entities
-
Satellite Service: various sensors aren't being stored properly [#68] (thanks @JvdMaat)
-
Powershell sensor: remove newline chars ending [#152] (thanks @99030063)
-
MQTT: device doesn't register if its name contains a whitespace
-
Improve handling of non-standard scaling [#99] (thanks @gorbunovav)
-
WebView: tray icon variant doesn't remember position for 'preview' button [#103] (thanks @Majumafoo)
-
WebView: 'Keep page loaded in the background' impacts all Webviews, processes never close [#131] (thanks @NCopeman)
-
WebView and LaunchUrl fail when using Action (thanks neonDog)
-
MQTT: messages are not sent with retain flag [#128] (thanks @TarcisioMenezes)
-
HASS.Agent no longer crashes when the OS doesn't support its media functionality [#113] (thanks @RafaelEstevamReis and @Stuke00)