[RELEASE] Hub Health Monitor & Auto Reboot Application

NOTE: This app has grown in scope and been renamed to: Hub Health Monitor & Auto Reboot

I've been meaning to write this app for a while, and finally got around to it today with my new best mate, Claude - this app is standalone and requires no additional drivers.

Features:

  • Minimum available memory to trigger a reboot
  • Configurable Reboot window. e.g. 4-5am when you are asleep
  • Configurable polling intervals
  • Test Reboot function
  • Option to rebuild the database as part of the reboot.
  • Hub uptime display
  • Optional Periodic scheduled reboot feature eg weekly etc
  • Reboot when critical hub events are detected (Zigbee, Z-Wave and Hub Severe Loads)

The "Hub Health Monitor & Auto Reboot" app is available via HPM (Fast search for "Memory Monitor"), and also on GitHub:

https://raw.githubusercontent.com/dJOS1475/Hubitat-Memory-Monitor-Auto-Reboot/refs/heads/main/memory-monitor-reboot.groovy





11 Likes

UPDATES:

2026-01-22
v1.2.3 - Added hub model detection using getHubVersion and display in info panel. Total RAM now determined by hub model

2026-01-19
v1.2.1 - Fixed BigDecimal.round() compatibility issue for Hubitat

2026-01-12
v1.2.0 - Renamed to "Hub Health Monitor & Auto Reboot" and added hub event monitoring for zigbeeOff, zwaveCrashed, and severeLoad events with 5-minute startup grace period

2026-01-11
v1.1.5 - Updated default memory threshold to 200 MB and minor improvements to scheduler logic.

2026-01-08
v1.1.4 - Added uptime check - skips scheduled reboot if hub uptime < 70% of scheduled interval
v1.1.3 - Finally got the Rebuild Database on Reboot funtion working

2026-01-05
v1.2.2 - Improved debug mode for testing.
v1.1.2 - Fixed reboot endpoint HTTP method calls

2026-01-01
v1.1.0 - Simplified memory detection to use actual total RAM from hub data
v1.0.5 - Added hub uptime display and periodic scheduled reboot feature
v1.0.4 - added import url and updated endpoint for reboot with DB rebuild
v1.0.2 - Added option to rebuild the Database on reboot

2025-12-31
v1.0.1 - removed Hub Security credentials as they are no longer required.

1 Like

I've been doing a version of this in rule machine with a second reboot after 30 minutes which seems to add a nice jump in free memory from the first reboot.

2 Likes

Could you add the option to the reboot command, to include the DB rebuild option? -

I could get rid of some RM code, and would actually prefer to have a Groovy app - Looking forward to seeing it in HPM..

1 Like

I’ve been using an RM rule for this too, but I’d always meant to make a proper app to make it easier for noobs to manage their hubs.

Good idea, I’ll see what I can do.

1 Like

That is an option in the @thebearmay hub information driver. I saw @GuyMan question and checked and added it to my rule. I couldn't get that syntax to work with Send POST to:

1 Like

Release:

v1.0.2 - Added option to rebuild the Database on reboot

This uses the /hub/rebuildDatabase endpoint instead of the /hub/reboot endpoint.

EDIT: Now in HPM:

2 Likes

Before 2.3.7.14 the /hub/reboot endpoint with the additional rebuild parameter works; from 2.3.7.14 on that option is replaced by the /hub/rebuildDatabaseAndReboot endpoint.

1 Like

Cheers, I'll update the app,

1 Like

Release:

v1.0.4 - added import url and updated endpoint for reboot with db rebuild

Btw, if one of the more experienced devs can assist, I've broken my HPM entry for this app and can't work out what I've messed up. It's the first time I've published an app to HPM (my other projects are drivers), so I've prolly missed something obvious. :man_facepalming:

https://raw.githubusercontent.com/dJOS1475/Hubitat-Memory-Monitor-Auto-Reboot/refs/heads/main/packageManifest.json

https://raw.githubusercontent.com/dJOS1475/Hubitat_WU_Driver/refs/heads/main/repository.json

Need to have a version parameter in the main metadata.. Usually after the author..

2 Likes

do you mean in the PM or Repo file?

EDIT: NVM, I realised you meant PM file.

1 Like

I've moved the version to after the author - I assume I dont need it in two locations?

{
	"packageName": "Memory Monitor & Auto Reboot",
	"minimumHEVersion": "2.2.1",
	"author": "Derek Osborn",
	"version": "1.0.4",
	"dateReleased": "2025-12-31",
	"releaseNotes": "v1.0.4 - added import url and updated endpoint for reboot with db rebuild",
	"communityLink": "https://community.hubitat.com/t/release-memory-monitor-auto-reboot-application/160272",
	"apps" : [
		{
			"id" : "75008c0e-a035-4bfb-ad92-fd9c0f690874",
			"name": "Memory Monitor & Auto Reboot",
			"location": "https://raw.githubusercontent.com/dJOS1475/Hubitat-Memory-Monitor-Auto-Reboot/refs/heads/main/memory-monitor-reboot.groovy",
			"namespace": "dJOS",			
         	"required": true
		}
	]
}

That looks like it should work

1 Like

Cheers, I'll check HPM in half an hour and see if it reappears.

1 Like

Ok, it's finally fixed and working on HPM, I found one other silly mistake in the repo file too. :man_facepalming:

Thanks @thebearmay for the help, much appreciated. :pray:

3 Likes

Release:

v1.0.5 - Added hub uptime display and periodic scheduled reboot feature

4 Likes

Update:

v1.1.0 - Simplified memory detection to use actual total RAM from hub data

1 Like

Update:
v1.1.2 - Fixed reboot endpoint HTTP method calls