Skip to content

Releases: joshuar/go-hass-agent

v11.1.2

11 Jan 02:59
f6c05f4
Compare
Choose a tag to compare

11.1.2 (2025-01-11)

Bug Fixes

  • agent: 🐛 new graphical registration flow (5674352)

v11.1.1

11 Jan 01:39
05b51e3
Compare
Choose a tag to compare

11.1.1 (2025-01-11)

Bug Fixes

  • agent: 🐛 detect more types of "laptop" chassis (f6f32fd)
  • agent/sensor: 🐛 don't add nonexistent agent workers to worker list (3d35099)
  • linux/mem: 🐛 correct unit for percentage memory usage sensors (aa59eee)

v11.1.0

06 Jan 11:57
012bb51
Compare
Choose a tag to compare

11.1.0 (2025-01-06)

Features

  • linux/power: ✨ user enum sensor device class for power state sensor (f7c0bd6)

Bug Fixes

  • preferences: 🐛 actually use default preferences if no preferences file is found (70f49ef)
  • preferences: 🐛 more preferences fixes after 7591c7a (ee5f2d6)

v11.0.0

01 Jan 00:15
57917f8
Compare
Choose a tag to compare

11.0.0 (2024-12-31)

This release builds on recent work to offer preferences for controlling the fetching of some sensors/events. In particular, all preferences are now in the Go Hass Agent preferences file. If you previously had made changes to sensor preferences in their respective files, please see the BREAKING CHANGES document for manual steps you'll need to take to include your changes.

⚠ BREAKING CHANGES

  • preferences: Worker preferences are now in the agent preferences file, under a worker section. Any existing custom preferences will need to be manually migrated to this file.

Features

  • ✨ allow disabling app sensors (71a4969)
  • hass,linux: ♻️ support flagging for retryable requests through sensor options (5d55cc6)
  • hass,linux: ✨ use options pattern to create sensors (b614ec3)
  • hass: ✨ add support to allow some requests to be retried (b103679)
  • hass: ✨ use options pattern to create sensor requests (73f218b)
  • linux/cpu,linux/system: ✨ add ability to specify update interval for cpu and hwmon sensor polling (7f8450e)
  • linux/cpu: 🚚 split cpu usage and frequency workers (cc18b67)
  • linux/power: ✨ power state and screen lock sensor requests will be retried on response failure (e4ca6e7)
  • preferences: ✨ validate worker preferences when loading and use defaults if invalid (748b48f)

Bug Fixes

  • 🐛 code cleanup missed in 7591c7a (f6dca52)
  • agent: 🐛 fix registration flow from changes in 7591c7a (70176ce)
  • hass: 🚨 fix linter issues (92b82d0)
  • linux/battery: 🐛 don't add already tracked batteries (76b78e4)
  • preferences: 🐛 ensure consistent naming of preferences through using string constants (1397c4a)

Performance Improvements

  • agent: ⚡ don't use a "fat context" for agent options (1e9d3c9)

Code Refactoring

  • preferences: ♻️ merge worker and agent preferences into single file (7591c7a)

v10.5.1

20 Nov 05:26
92b216a
Compare
Choose a tag to compare

10.5.1 (2024-11-20)

Bug Fixes

  • linux/mem: 🔥 remove debug output (ec1b975)

v10.5.0

20 Nov 04:30
7d69ad0
Compare
Choose a tag to compare

10.5.0 (2024-11-19)

This release expands the work of the previous release to add more preferences for sensors. You can now optionally disable hwmon and per-cpu sensors.

Additionally, Go Hass Agent will now report Out Of Memory events, when your system is configured with systemd-oomd. An event will be triggered when the OOM occurs and will contain the name of the process killed and its PID.

Features

  • linux/cpu: ✨ add preferences to optionally disable all cpu (and specifically, cpu frequency) sensors (ecc5cc6)
  • linux/mem: ✨ send oom events to Home Assistant (c491e81)
  • linux/system: ✨ add preferences to optionally disable hwmon sensors (7b65aab)

Bug Fixes

  • hass: 🐛 correct JSON marshaling (bd31214)
  • linux/cpu: 🐛 cpu process state counts should not be totalincreasing state class (0183281)
  • linux/net: 🐛 only use link up/down/invalid netlink messages for link state (27919b4)
  • linux/net: 🐛 treat unknown link state as down state (813485e)

v10.4.0

04 Nov 04:12
5478e7b
Compare
Choose a tag to compare

10.4.0 (2024-10-31)

New Feature: Events 🔈

Go Hass Agent can now send events to Home Assistant. Events better encapsulate data where stats and history are not interesting, only the timing when the data occurs. This release adds events for user login/logouts (requires D-Bus and systemd-logind support), so you can set up automations in Home Assistant that react to those events. See the README for more details and the format of the data of each event.

New Feature: Sensor/events/controls Preferences 🎛️

Go Hass Agent now exposes user-configurable preferences for some sensors, events and controls. For example, you can now filter which network devices will create network rate/total sensors and you can completely disable the external IP address sensor if desired. More preferences coming in later releases. See the Sensors/Controls/Events list in the README which ones have preferences. For now, this requires editing toml files, but a future user-interface is planned!

Features Summary

  • agent: ✨ add an interface to represent a worker with preferences for future use (446857e)
  • agent: ✨ implement event controller for event workers in agent (c1d2033)
  • agent/sensor: ✨ add preference to disable external ip sensor if desired (17f8d97)
  • hass: ✨ add support for sending events to Home Assistant (6debf7e)
  • linux: ✨ add session events (61b87e6)
  • linux: ✨ add tracking stats from chronyd as sensors (3de2c09)
  • linux: ✨ add user preference to define devices to ignore for network rates sensors (c36e14e)
  • linux/media: ✨ support user preferences for camera worker (fef5dd9)
  • linux/net: ✨ filter on user-defined network devices for networkmanger connection state sensors (77e3372)
  • preferences: ✨ provide a worker preference to completely disable the worker (and its sensors/events/controls) (23c940b)
  • preferences: ✨ support worker preferences (c7c49ac)

Bug Fixes

  • hass: 🐛 fix validation of event requests (d95955e)
  • hass: 🐛 rework marshaling of sensor requests (1c579d9)
  • linux: 🐛 for ignored devices, ensure their stats are still tracked as part of the total network rate sensors (468f692)

Performance Improvements

  • ⚡ share a validator instance across packages (81bf9e8)
  • agent: ⚡ rework controller/worker concept (8bca59f)
  • hass: ⚡ rework sending requests (a8cd590)

v10.3.2

15 Oct 05:25
628e3f1
Compare
Choose a tag to compare

10.3.2 (2024-10-15)

Bug Fixes

  • linux: 🐛 fix total calculation for network rates sensors (f51acaa)

v10.3.1

12 Oct 04:52
02fcb8f
Compare
Choose a tag to compare

10.3.1 (2024-10-12)

Bug Fixes

  • linux: 🐛 safely check for hsi properties (3bb3849)

Performance Improvements

  • container: ⚡ don't install mage for container build (dace627)
  • hass: ⚡ move validation of requests (8d0eca5)

v10.3.0

03 Oct 03:55
6bd6ff4
Compare
Choose a tag to compare

10.3.0 (2024-10-01)

Important

Container users: please use the image tagged v10.3.0-7-g3b22ee4 as the v10.3.0. stable version. There was a problem during the automatic image generation for the release that led to the images not being generated. This tag only contains additional changes to the build system on top of the changes in the v10.3.0 release and so is functionally equivalent.

This release contains a few new sensors:

  • A connection latency sensor for checking the network latency between Go Hass Agent and Home Assistant.
  • Sensors reporting the firmware security status (from fwupd) and any CPU vulnerabilities (from the kernel).
  • Per network device rates/counts in addition to the existing total rate/count.
  • Per device link status and IP addresses.
  • A sensor detecting the IO operations in progress per disk.

The following sensors have changed:

  • CPU context switches and processes created are now rate values (ctx switches per sec and processes created per sec), which are hopefully more useful values.

There has been a fair bit of refactoring of the code under the hood to make it more manageable and easier to read.

Enjoy 🎉 And please keep those bug reports and feature requests coming!

Features

  • agent: ✨ add connection latency sensor (d55b1ed)
  • dbusx: ✨ Add a Data type for fetching data via a D-Bus method (edf80e1)
  • linux: ✨ add a sensor to track if the kernel has reported any CPU vulnerabilities (8d5ebf2)
  • linux: ✨ add link sensors (cece6ed)
  • linux: ✨ add per device network counts/rates sensors as well as the total counts/rates (895125f)
  • linux: ✨ add sensor for displaying firmware security details (dae37b4)
  • linux: ✨ add sensors for IO ops in progress per disk (and total of all disks) (ea33a54)
  • linux: ✨ switch total cpu context switches and processes created sensors from totals to rates (ed015e7)

Bug Fixes

  • 🚨 add more nil pointer protections (f1f4293)
  • agent: 🐛 fix error handling and change endpoint for connection latency sensor (6dedbc1)
  • agent: 🐛 pass preferences to notifications worker (30178cd)
  • agent: 🐛 try to protect against empty response in connection latency sensor (b40ccc7)
  • agent: 🐛 uncomment commented block for testing (9f4b656)
  • hass: 🐛 don't exclude nil value sensors when retrieving sensor list (886b7eb)
  • hass: 🐛 simplify validation of sensor requests (6db1638)
  • linux: 🎨 better netlink shutdown handling in link sensor worker (a265fec)
  • linux: 🐛 actually track running app and total running apps in worker (66e4a19)
  • linux: 🐛 add missing disk IO sensor attribute so that disk read/write rates are calculated correctly (8d7e6af)
  • linux: 🐛 add missing disk IO sensor attribute so that disk read/write sensors are calculated correctly (9b024ee)
  • linux: 🐛 avoid pointer ref/deref (86a5b5c)
  • linux: 🐛 correct screen lock state with new device class (f6811bb)
  • linux: 🐛 don't add last_reset attribute for cpu usage sensors with total_increasing state class (89b903f)
  • linux: 🐛 event based workers should expose a send-only channel on Events method (40e1751)
  • linux: 🐛 filter all of /run from usage stats (a0d57bf)
  • linux: 🐛 filter more mount points from generating usage sensors (b238687)
  • linux: 🐛 fix changed network rates sensor types stringer (64e9df9)
  • linux: 🐛 get the current screen lock state and send as a sensor on start (40cbb57)
  • linux: 🐛 protect against potential nil pointer exception (ab99be0)
  • linux: 🐛 use distinct device classes for intrusion and alarm hardware sensors (53b552b)
  • linux: 🐛 use distinct device classes for laptop sensors (c0f5fac)
  • linux: 🔊 add repercussions of some settings being unavailable to warning messages (af6fc62)

Performance Improvements

  • agent: 🔥 remove unnecessary context creation (80890aa)
  • dbusx: ⚡ more graceful dbus watch closure (5724468)
  • hass: 🏗️ remove sensor interfaces, use exported struct instead (80c5780)
  • hass: 🔥 remove unnecessary context creation (6dfd48a)

Reverts

  • github: ⏪ switch back to audit to check required access (03b7e2a)