Rule machine - as per the app developer, this app is no longer available for new installs, distribution, or support

If I change the behavior of this so that the timer is always canceled by a change in rule truth, would that work? Or does canceling from change need to be an option? If it’s the former, easy peasy, and it can be done in 5 minutes. If the latter, it’s more effort.

Is anyone else seeing strange behavior with Rule Machine and the ‘Restrict to Modes’ code?

There seem to be times (especially after mode change) where I have to ‘kick a rule in the pants’ (go into the rule definition main screen and click Done) before I starts running again?

I’ve had a quick look at the code, but I’m not sure if it’s an issue of the ‘runRule()’ function not being called properly…

Thanks, as always, @bravenel for the great work… :smile:

Agreed @bravenel - the pull request I sent you does it the ‘easy peasy’ way. I didn’t have a need to make it an option, which I agree adds more complexity.


I would think that the easy way would be fine. After all, if the rule truth changes to rule false, the entire rule processing should be stopped/scrapped, so makes sense to reset the timer, too. I guess we’d have to be able to try it and see where that way wouldn’t work well.

I’m not sure if this would help, but you could put in a condition for the mode to be in one of the modes you are not restricting. That would force an evaluation upon mode change, and presumably catch the event of coming out of the restricted mode.

1 Like

What about power allowance? To me that sends like a type of timer. Not necessarily a countdown timer, but it does partially fill the purpose.

Power allowance is not cancellable. So my question is, do we need both? The current function is like power allowance, it just starts a timer that turns things off no matter what (minus some restarting of the timer). The requested function cancels the timer upon the rule truth changing. There are uses for both functions – at least I use both in my system.

For my use case immediately at hand, the expected behavior is that the condition must not turn False during the countdown for the timer to complete. So I would be content with always having the timer deactivated (waiting for a new True) if it ever becomes False.

However, I know others are probably using this as a “trigger” and want Y to happen after X minutes of the last True regardless if it turns False before completing the countdown.

So the short term selfish answer is yes, please change the functionality, but the right long term answer is to have it be an option.

I can definitely see where both are needed.

Currently, In my foyer I have my lights come on when the front door opens. They turn off three minutes after the door is closed. Sometimes the door is left open for whatever reason. Since the lights come on when it opens and the timer doesn’t start until the door closes I use power allowance to have then turn off five minutes after the door is opened. This works really well, but uses two instances of the smart lighting app.

Also, restarting the timer would be great. Such as when I’m going in and out of the door to bring in groceries or something. If it restarted every time the door is opened, then the lights wouldn’t turn off on me. So that is useful as well.

Your app is turning into a very encompassing application. I believe the users here see the full potential of this app. I certainly hope those at ST see it as well.

Can you imagine if this app was running local? ST could truly become the most powerful hub on the market.


Yes, I agree with this. I’ve decided to put both flavors in. Testing it now.


Fantastic app @bravenel, and its also appreciated how responsive you are to the suggestions from the community for making this even better and more comprehensive.

One use case I have is to switch appliances on and off based on the amount of power I am generating from solar PV or importing from the grid, using capability “Power Meter”. I have clamp meter devices that measure both these values.

It would be great if you could add devices with this capability to the conditions list, so I can evaluate against a specific power level in Watts. I think this would be evaluated the same way as temperature, i.e. (= != < > <= >= relative to a number).

Thanks for the great work


It’s on my list, which is up to half a dozen good ideas from the community. Here’s my list:

SHM arm/disarm
Garage Door Control
Cancellable timer
Linked rules

And, there are several requests for other types of delays, which I intend to look at as well.


you might think about putting your to-do list up on the first post, might cut down on duplicate requests if they see it there… but I did say “might” :smiley:


Rule Machine is working great.

New features are nice but I would prioritize stability over features. There are plenty of community and ST apps (like Smart Lighting) that have frequent issues with schedules.

You should push to get this app reviewed and published by ST. This would be awesome as a local app on the V2 hub. Simple lighting and lock automations running locally on the hub would satisfy a lot of use cases.


I have moved the “rules” that I had created on the “Simple Rule Builder” web page that Joe Craddock created. All the functionality I was using on that page works with Rule Machine. It is so great to have this via the ST app. Again, great work!

1 Like

The Github has been updated to Version 1.105.

This update includes the following new features:

A condition called “Certain time” has been added. It allows a rule to only become true/false at the selected time. If you use this, please report any failures, as there is some risk of this missing the scheduled event.

An action called “Turn off these switches after a delay, pending cancellation” has been added. The timer for this will be cancelled if the rule state reverses.

The ugly input field to select how many conditions you have is gone, thanks to @Mike_Maxwell. Instead, you can just add the conditions you need, and hit Done when you have all you need. There will be an unfilled-in condition when you are done, that will be ignored.


Hey guys- Can anyone tell me what is the advantage of using this over ?

Configuration changes are made via the ST app.
One less integration to maintain…
Those are the two that come to mind.

1 Like

Right now the SRBuilder is easier to use… The web interface does make it easy to lay our rules and actions, very intuitive logic as well. The inputs and actions are more powerfull there as well, hopefully that is just for the moment while Bruce pushes this great app to the masses and the functionality grows. That said:

For me… 3rd party connections have some down sides.Security is a big one for me. Now you are also at the mercy of cloud issues at both ST and SRBuilder. So ultimately less reliable.

I want to move everything to Rule Machine eventually. I’ve moved everything I CAN, but there are some rules/functions I cannot - from SRBuilder and other apps due to input and action limits.

Please elaborate!! … …