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 18.104.22.168.
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.
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.)
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!
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.
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?
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?
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.