"GonnaReboot" is a virtual switch.
"IfGreaterThanReBoot" is self explanatory local variable. (Number)
"CountRate" is a global variable largely used to show on a dashboard if a hub is heading down the reboot path. It could just as well be a local variable if no "show" is required.
CountRate is referring to the hub "Flo-Rate"
Each hub has a different global variable: CountRida is for the hub "Flo-Rida" etc...
First rule increments global variable on the trigger of "severeLoad".
When global variable is great enough to justify a reboot, you pick the threshold, then the virtual switch is turned on.
Once virtual switch is on, run actions of second rule, basically a wait till appropriate time to reboot.
When the first rule runs again on next trigger, exit rule, the reboot is already scheduled.
The second screenshot had an "endif" cut off.
There are no local variables in the second rule.
There are several ways that this rule set can be done, this is just the way I worked out, that works for me.
Most of my rules are able to be called from other rules.
Hope this helps, glad to attempt to explain my spaghetti logic.
Post yours when you are done, I am interested in other methods.