Rule Logging and State Checker app -- BREAKING UPDATE: 2026-05-14

NOTE: Beta hub firmware 2.5.0.139 changed how to programmatically toggle the DISABLE function for a rule. Version 1.68 of this app now only works for v. 2.5.0.139 (and hopefully onwards). The Github link below is to v. 1.68, but you can find v. 1.66 if you rummage around a bit here: https://github.com/JohnFLand/Rule-Logging-and-State-Checker; v. 1.66 works for hub firmware 2.5.0.136. All versions of this app have only been tested on a C-8 Pro.

This is a little utility app to generate a table showing the logging status and enabled/paused state of Rule Machine and Button Controller rules. The partial screenshot below shows the output.

Most data columns can now be hidden, and certain types of rows can be hidden, via the push buttons at the top of the table.

The app may take some time to retrieve and parse large sets of rules, so be patient if you use it.

I shamelessly borrowed the idea from @hubitrep to make the cells "live" so that the app is not just an informational report but a live control panel, allowing you directly change the logging state for Actions, Events, and Triggers and the enabled/disabled state for Disabled and Paused.

2026-05-06 UPDATES:

  • A separate table appears for rules from the built-in apps like Basic Rules, Room Lighting, Notifications, etc.
  • The Private Boolean state for each RM/BC rule is now displayable and can be changed from the table (OAuth must be enabled for this app for this function to work).
  • New "Custom Row and Column Settings" sections allow you to pick default row and column button settings (initially, you must do 1 scan first, then choose your settings and click DONE, then reopen the app -- after that, setting changes are "instant" after you click DONE and re-open, the old table data will conform to the new settings).
  • The App Type and Rule ID columns can now be hidden by default.
  • The tables themselves are now collapsible.

2026-05-08 UPDATES:

            Controls section
            The collapsible Controls section (above Notes) provides four functions:

            β€’ App instance name β€” type a custom name for this app instance; the name
            appears in the Hubitat Apps list and logs.

            β€’ Printable HTML reports β€” opens a clean, print-optimised version of each
            table in a new browser tab. All rows are shown regardless of current filter state.
            Use the browser's Print or Save as PDF function from that tab.

            β€’ CSV export β€” downloads the table data as a CSV file
            (RM-BC_Rules.csv or Built-In_Rules.csv) for use in a spreadsheet.

            β€’ Enable debug logging β€” turns on verbose logging to the Hubitat log
            for 30 minutes, then disables itself automatically.

The app file is now too large to post in this forum -- here's the Github link (the latest version of the app includes an importURL):
https://raw.githubusercontent.com/JohnFLand/Rule-Logging-and-State-Checker/refs/heads/main/Rule_Logging_Status_Checker.groovy

7 Likes

That's a handy little utility for doing cleanup.

Innovative. Always appreciate seeing new ways to approach hub utilities.

VERY nice and USEFUL app!
Thank you!

Thanks. I have been hoping to see a utility like this.

This will make it much easier to set the logging.values as desired

Two requests.

  1. For the option to not include the column of disabled rules.
  2. For the table to be sortable by column

Edit: didn't see the sorting caret, it's already a feature

Awesome! Great utility! :+1:

The control already exists, does it not work for you? (I may not have tested it)

image

EDIT: my bad, that control removes ROWS, not the Disabled Column.

1 Like

Try new version 1.17, link in first post.

Very nice...

On version 1.22 there are two RM rulesthat show no logging and no last run date/time. Each rule has ligging enabled, one trigger the other event. Both have a last run date. Version 1.17 has all data correct.

Do you need more info or debug log to troubleshoot?

No, but thanks! I discovered that bug last night and a fix is coming today.

See new version in post #1, it should fix the bugs you noted.

There's a link to the new version 1.39 in post #1.

Thanks for the update. Really like being able to interact with Private Booleans. Unfortunately, the toggle changes the value in the rule but doesn't update in the app. Make as a one time, one way change.
Thanks for the fix to the Last Run sorting.
Please add the App Type column to the hidden column list. My rule names are sufficient to know which app they are in.

The first post link is to v. 1.43 which allows the App Type column to be hidden.

I didn't understand this comment. When I click a PB link, the PB in the corresponding app toggles and my app shows the new state, at least in my testing.

The toggle happens, but app doesn't show the update

What browser are you using? I work with Firefox.

EDIT: works for me in Chrome as well.

Just in case : the Rule page won't update dynamically, you need to reload it

1 Like

For me, the table does update dynamically. But you must have a scan generated by the current version of the app.

I was referring to the RM rule page itself. If it is open in one tab, and then your app is used in another tab to change something, then go back to the rule tab, I believe the change won’t be visible without a page refresh.

1 Like