Yet another battery status app...
This one is based on 'Battery Notifier' by Bruce Ravenel, but heavily modified as a vehicle for me learning a bit about Groovy and ChatGPT (which admittedly did all the detail work).
Main features:
- Shows only devices that report a "battery" capability.
- Selectively shows devices based on low/critical battery, offline devices, last event (any type), last battery event, and last activity.
- Configurable reporting interval and reporting time.
- Output is in a sortable table for ease of reading.
- Parenthetical details in section headings can be suppressed.
- Multiple notification devices supported.
- Plain-text table for notifications (e.g., Pushover, Hubitat)
- Last run date displayed at bottom of UI.
- Configurable low battery warning and critical battery level.
- Users can select one or more reports via check-boxes.
- Each report has its own Sort By & Order.
- Tables automatically show when the app is opened.
- Can now suppress reporting devices in the "Last Battery Event" table if the device simply reports "NEVER" -- reduces table clutter.
- For Pushover notifications, can now specify that the first report goes to a "sound" device and other reports go to a "silent" device (must set that notification for that device to be "none").
- Now multi-hub: can track battery data, via Maker API, on 2 additional hubs.
2025-08-18 FIXES:
- Plain-text table for notification devices (e.g., Pushover, Hubitat)
- "[Never]" is red only in "Check Now" view, plain in notifications.
2025-08-19 FIXES:
- Some more cosmetic changes to the plain text "table" for notification devices
- More cosmetic changes to output tables
2025-08-22 Update
- Added "All Tables" option (sequentially outputs Any, Offline, Battery reports)
- Independent sorting per section when "All Tables" is selected
2025-09-05 Update
- Added a battery level table, configurable as to "low" and "critical" levels.
2025-09-06 Update: Fixed a bug that omitted reports when sent to a single notification device.
2025-09-19 Update: Cosmetic changes, and made the selected tables auto-generate when the app opens.
2025-10-24 Update: More cosmetic changes, and added a "Send Report Now" button.
2025-11-18 Update: Adds the ability to suppress reporting devices in the "Last Battery Event" table if the device simply reports "NEVER" -- reduces table clutter.
2026-01-01 Update: Mostly cosmetic fixes, plus a few minor bugs swatted.
2026-01-04 Update: Mostly cosmetic fixes, plus a few more minor bugs swatted.
2026-04-27 Update: Minor cosmetic fixes.
2026-05-04 Update: Can now track battery data, via Maker API, on 2 additional hubs.
2026-05-14 - v. 1.34: UI/UX improvements.
2026-05-15 - v. 1.35: UI/UX improvement: the Hub column is now hideable, useful when only one hub is being monitored.
2026-05-15 - v. 1.38: The app now can be renamed in the "Report Type, Schedule & Logging" section, and the "lastBattery" date in the Current States for IKEA Parasoll Door/Window Sensors is considered to be the same as a "Last Battery Event" date.
CAVEAT: I'm a dabbler, not a professional programmer, and I have a VERY incomplete understanding of Groovy and the Hubitat API. Accordingly, constructive comments/critiques are welcome.
Sample "Refresh Table" output:
The remote hub UI is a bit clunky because of limitation's in Hubitat's UI features, and I could not get the collapse/expand behavior to be well-behaved, but it works (for me at least).
Consider this to be a BETA app and use at your peril.
The code is now too large to post in this Forum, but you can fetch it (along with a User Guide document) from here:

