[RELEASE] Hub Information Driver

NOTE: Development on this version ended 11 Jan 2023 - see [RELEASE] Hub Information Driver v3 for the new version.

This device driver provides a convenient way to access many of the hub and hub location attributes. Originally written to provide information for Node-Red integration, the driver has been expanded to include temperature, free memory, cpuLoadtotal JVM Memory, Free JVM Memory and JVM Free % from the Hidden Features Wiki as well as over 40 more attributes.

Available through HPM, or alternatively from:
https://raw.githubusercontent.com/thebearmay/hubitat/main/hubInfo.groovy


HubConnect driver is also available in HPM or at https://raw.githubusercontent.com/thebearmay/hubitat/main/hubInfo-Hubconnect.groovy

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" 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.)

36 Likes

Not totally sure about a use for this but I love having more stats!

2 Likes

I have been using this with Node-red to append the firmware version to my weekly HE backup and also for logging/alerting when the hub restarts.

3 Likes

It's been interesting for me to see just how hot my C-4 gets, didn't realise it got up over 80C. I know I have problems with my rpi was getting above 80. Not sure what I can do apart from continuing to look at the apps and devices consuming the CPU....

80C ouch! My C7 stays in the 38-41C range. Guess you could try powering it down and using some canned air to try and blow out any dust it may have accumulated, but other than that maybe get it a chill pad:

https://www.amazon.com/AICHESON-Cooling-Lightweight-Portable-Notebook/dp/B01KZALHGK/ref=sr_1_13?dchild=1&keywords=chill+pad&qid=1614989110&sr=8-13

2 Likes

Thanks.

It is weird, I'm wondering whether it is reporting correctly. I certainly can't feel it being that hot it I touch it. With the rpi you could tell it was hot. I ended up buying a new enclosure for the rpi with a passive heat sink (I think that's the right term) and it worked wonders, but guessing that isn't an option for my HE....

And my C-7 stays much cooler as well, though it is predominantly Zigbee lighting with rules, whereas the C-4 has more custom apps and cloud-based API integrations, which may explain the extra load being placed on it...

Couple of examples from others today:

image

image

1 Like

Trying this out as you show temp C for your hub.
I don't get that entrie just the scale. C7 hub.

EDIT: Never mind. Enabled Temp/Mem polling. Didn't see the preferences were disables by default.
Body temp of 38, well actually a mild fever, and 344M of ram? Takes me back to my Apple II. :wink:

I had that initially, was getting a timeout error in the hub logs. I was also experiencing high CPU load on the hub at the time. I restarted the HE hub and then temperature and few other readings came through.

The all in one html attribute is awesome! One thing I am wondering about though. "Last Restart" is showing the date and time I clicked Initialize. It's been almost a week since I actually restarted the hub.

It’s a psuedo-restart - traps the initialize function which occurs at system restart but also when you install the device driver.

1 Like

You can thank @kahn-hubitat for that one...

1 Like

LOL, I remember upgrading my first PC from 256K to 512K and thinking I would never use it all....

3 Likes

Don't know why I need it, but I love info and stats! Thanks for the driver.

1 Like

Any plans to support hubs with login security enabled?
(The temp and free memory "hidden features" endpoints require login.)

Checked into what I needed to do to support hubs with security enabled this morning, and it appears that until 2.2.6.x arrives there isn’t a solution.

2 Likes

Not sure what is coming in 2.2.6 to help here, but it seems like it could be done in 2.2.5 if you take the username and password as settings, and then login to get the cookie from the header response. HPM has code to deal with login security, as an example. (is there some restrictions for drivers that doesn't apply to apps for this?)

Sounds like the intent is to move those endpoints to a less restrictive area of the hub with 2.2.6

2 Likes

We just need CPU load now!
Strange mine went flat overnight, would have expected something at 3am when hub maintenance runs

3 Likes

ppppffffft. You "youngsters" were spoiled. My first upgrade was from 8k to 16k followed by a massive upgrade to 64k. To use that much ram though you needed a piece of assembly code which you loaded into your assembler and ran it each time after you turned on the computer.

6 Likes