[RELEASE] Hub Information Driver v3

Driver is a large scale rewrite of the original driver and brings added flexibility in the gathering of ~60 attributes related to general operation of the hub. Driver allows the assignment of these attributes to one of 4 user selectable polling queues and intervals in an effort to allow the impact of the data polling to be minimized (I average around 0.12% of total or less), and the generation of an html attribute for display on a dashboard (template is a text file that may be edited to allow customization of the content).

Minimum HE version for this driver is 2.2.8.141.

Hovering over the preference description for those that are assigning attributes to a queue will display the attributes affected by the selection

Driver also has commands available to Reboot or Shutdown the hub.

Now available through HPM or via https://raw.githubusercontent.com/thebearmay/hubitat/main/hubInfoV3.groovy


For those migrating from an earlier version of the driver, after changing to this driver and saving, hit Initialize, go down into the Preferences and select the poll queue (1-4, 0 is do not report) for each set of attributes you wish to have reported on, and then enter the polling interval for each queue (note that the polling interval for queue 4 is in hours). Hit Save, and then Refresh.

Some minor differences from v2:

  • hubVersion (use firmwareVersionString instead), nextPoll, data, and zwaveData are no longer reported
  • timeZone is now a JSON string
  • hubUpdateStatus now only reports Current or Update Available

Thoughts on CPU Load

Not sure where HE has their warning threshold at, but a few general thoughts:

  • It’s not a single occurance that is an issue, it’s a repeated or long running high load that you need to be concerned about (believe this is what drives HE’s indicator)
  • HE has 4 cores, so a load of 4 is an indicator that the hub is fully scheduled (running processes + waits); fully scheduled does not equal 100% busy
  • Understand your pattern - everyone’s app/driver mix is different, so determine your normal/good pattern and watch for long running deviation
  • If everything is running without issue, is it really a problem if the load spikes a few times; i.e. if nothing is broke…..
  • The load reported is an average over the last 5 minutes, refreshing the stats every 1 to 30 seconds isn’t going to change the number in a positive way, give it a minute or 2 at least (the sweet spot seems to be in the 5-10 minute range for most)

NOTE FOR NEW USERS: After installing the code into the Drivers Code section via HPM (recommended) or the import method, go to the Devices tab and: Add Device -> Virtual -> add device name and select "Hub Information Driver v3" under Type and save.* (The driver will be in the User Devices section of the drop down. This is after all of the built-in drivers.)

41 Likes

Just when I believed 2.7.22 couldn't possibly get any better. THANKS for all your hard work on this most useful driver, to which I devote an entire custom dashboard.

Kinda reminds me of the Vax mainframe I sysop'd in the early 1980s, upon which you could conjure up all kinds of fascinating system parameters (if you knew where to look). HID gives HE users a mighty handy "place to look" and it works flawlessly!

8 Likes

So if I have an html attribute set up on a dashboard it shouldn't "break" if I update to v3? As long as I do the extra steps as you stated, of course.

Should carry over. That section of code was a lift and shift. :sunglasses:

1 Like

Excellent! I think I might toy with changing the tile to a full dashboard link since there is so much more available. Maybe incorporate Unifi stats too.

1 Like

Whats the name to search for in HPM. Cant find it.

1 Like

Looks great. Very straightforward changeover from V2. No errors in the logs. I used 2,4,8 minutes and 6 hours for my intervals. I'm going to reboot when I get home and see how the utilization looks after a couple of days.

Thanks for all of the work on this!

1 Like

2 Likes

Why, oh why must I be reminded of my all-time favorite OS periodically? The one whose loss I've never completely reconciled. Sigh, the good ol' days.

6 Likes

Its worth noting that the CPU stat only updates at the hub level every 5 minutes since it is a 5 min avg load value. I tried pulling this more often but it just resulted in choppy results with it still only changing every 5 minutes at the earliest. Setting that poll to multiple of 5 minutes is best, 5 minutes being the lowest.

Also @thebearmay I was having issues with the poll4 not refreshing, I looked at the code to see if refresh calls poll4 which it does, so looking at that function, is this a copy/paste mistake?

image

I fixed that to be a 4 and refreshed, NOW I have all my attributes back!

Also, does it automatically remove un-used attributes now? So if I decide I don't want something and turn it off, it should get deleted? I have it ALL on right now, going to see what's useful for me and what isn't.

One last request, I see Uptime is bundled in with the Base Data. Looks like pretty much all the base data I could set to my longest poll4, except the uptime. Is there any way to just save the timestamp of current time - uptime at the base refresh and the recalculate the uptime from that timestamp at one of the other intervals?

2 Likes

That would definitely be a copy/paste error - congratulations you found the first release bug! :sunglasses:

Uptime is also updated by every poll.

I'm recoding the remove unused function as the attributes are grouped slightly different from v2. It will probably come out in a point release in the next few days.

2 Likes

Perfect, may want to remove that from the tip on the Base Data. Going to change that one to interval 4 now.

Also, this looks great. I can now turn on everything I want without worrying about how its going to impact the hub polling it needlessly every 5 minutes. Truly a lot of this info never really changes but its handy to have on here readily available.

@thebearmay also, I had installed the beta manually and updated it using the new URL. HPM is refusing to find it for a match up. I can search and find it but the Match Up is not working. I just checked the manifest file and I think its because you are missing the namespace keyword in the "drivers" section.

1 Like

Great work @thebearmay, THANKS!
Quick one, is there any effect on the Aggregate driver?

1 Like

I need to change it to detect the new driver fingerprint, but if you already have the device selected it will purr happily along.

1 Like

:+1:

1 Like

I downloaded the new driver to 2 of my hubs using HPM, In both the driver did not show up until I did a Repair using the HPM app.
Might be just me but wanted to let you know.

5 Likes

Done in 3.0.1, you'll need to Save Preferences to pull in the new tooltip.

Thanks, just noticed that trying to pull down to my production hub. Investigating now.

Edit: Should be fixed - @jtp10181 caught my error in the manifest file for HPM

Thanks for this...was wondering why it wasn't showing up :wink:

1 Like

OOPS! Yeah, I accidently clicked into the drop down in the app while just poking around and lost it.

Awesome job on the overhaul. Love the hover functions.