The answer is not really but you can fake it. I unit test individual rules by creating testing Switches in my Items file and add that Switch to the triggers for the rules I want to test. Then when I manually switch the testing item on the Sitemap it kicks off the rule. Though I can say this quickly becomes untenable when you have complex rules that depend on the state of a lot of other items like Bob’s use case above.
And I’ll just throw in that that debugging lambdas, whether manually defined or included in the of a timer is a bear because often errors do not propagate or show up in the logs. The Rule or the Timer just stops running. Logging is your friend in this case.
I’ve commented about it offhandedly here and provided examples but I have a fear in the back of my mind that I’ve actually provided an example of rescheduling a timer without checking whether it has expired or not.
However, like Bob, I usually try to structure my code so a timer doesn’t need to be rescheduled, either creating a new one or using a Time trigger on another rule and a flag to enable/disable the logic.
Normally I’m crazy about avoiding useless polling like this but I’m running openHAB on a sizable machine (an old laptop) and polling once per second or slower has negligible performance impact.