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

Honestly, this app is very impressive.

I know you just released it but is it too soon for suggestions (requests)?

Hope not! :smiley: I’d love to see a timer along with the SHM.

As for a timer, this is what I’m thinking about.

My foyer lights come on with the front door open. They then turn off 3 minutes after the door closes. But they also turn off after 5 minutes of the door being open (all glass storm door).
This is probably already possible, but I just got it installed and I’m still checking it all out.

Perhaps an Action that’s “Start Timer: off after x minutes for switches y”. Would that do it for you?

1 Like

YES. That would be extremely helpful!

1 Like

The people working on the keypad are setting SHM status. @blebson should know

@bravenel I second this

We’re just coming up with so much work for you, @bravenel! Had you thought of adding push or text notifications as one of the actions?

Thanks for your hard work! - No Android issues here with latest codes, FYI

1 Like

You nailed it! No more issue with setting the FALSE condition. I just copied the new code from the GitHub repository and pasted it over the Rule Machine - saved and published for me. Then did the same with Rule and just saved without publishing. Created the Rule again and no errors or warning messages.

This is very powerful!

Just wanted to detail my use so that others may be inspired to create amazing Rules.

Commercial Fridge in Garage
Draws 4-500 watts of power when the internal compressor is on and cooling the brewskies.
No need to have compressor running and consuming power if the internal temperature is within 32 degrees fahrenheit and 40 degrees fahrenheit.
Since the garage temperature gets colder at night then the fridge itself will be able to hold the internal temperature for longer and thus not need to kick the compressor on during that time,

Installed a SmatThings Multi Sensor in the fridge to determine if door was opened or closed and when (as well as duration) and also the temperature internally. I calibrated the multi sensor to match actual temperature. Its close enough to actual temps, but not military spec :smile:

Set internal dial for fridge to keep internal temp at about 34 degrees.

Then connected the fridge to an Aeon Labs Smart Switch to allow the fridge to be turned on and off using SmartThings. Since this switch also reports power usage it made it easier to track the actual power being consumed.

Now with Rule Machine I setup a rule that checks the internal SmartThings multi for temperature readings and once the internal temp is 34 degrees or less (<=) then the rule turns the fridge off.

Then I setup another Rule that once 40 degree’s or above (=>) was reached internally then the switch turns the Fridge On.

Turns out that I could not use the False after all in this case. I tried to set it up , but the logic would have turned the fridge back on if the fridge rose even one degree in temp to 35 degree’s . I needed a 5 degree spread.

I can also think of ways that rules like this could be helpful for Wine Chillers and Cigar Humidors that require temperature and humidity monitoring and control.


Yes, I have. I actually have the code to do it. I’ll put it in, not hard.

1 Like

Delayed Off: I’m almost done with this addition. But, I won’t publish it until tomorrow.



Noted that one of the other things you had said you were going to look at was setting an action to run at a specifc time, not between x time and y time. Just wanted to make sure that didn’t get lost in our flurry of other suggestions

For now, set the period to a minute apart. The rule will evaluate twice, at each of those times. I’m going to work on adding “At a Certain Time” as a condition.


I didn’t write the base of the code, @mitchp did, but from what I’ve seen the SHM arm/disarm commands are as follows:

  • sendSHMEvent(“away”) - Arm/Away
  • sendSHMEvent(“stay”) - Arm/Stay
  • sendSHMEvent(“off”) - Disarm

the sendSHMEvent function is as follows:

private sendSHMEvent(String shmState) {
	def event = [name:"alarmSystemStatus", value: shmState, 
    			displayed: true, description: "System Status is ${shmState}"]
                log.debug "test ${event}"

That seems like a viable resolution to me

Thanks. I will take a look at adding these as Actions. Makes sense.

I just updated my post with the actual function which does the heavy lifting. It uses the command sendLocationEvent().


@bravenel: This is what I’ve been waiting for to truly bend SmartThings to my desires. Thank you for all the work you’ve done, I can’t wait to try it out!


Thanks from me also! I didn’t want to stay silent and not show my appreciation for your great app. Just fantastic work.

1 Like

Thanks for this amazing app @bravenel

Anyway you can add this to you repo in the format that the IDE can use. That way we can see your updates and not have to copy paste.

Thanks Again…

1 Like

This is amazing. I think as you can see by the response @bravenel the whole community has wanted this for some time. This tackles so many problems that were hard to do(required custom coding).

Do you have a paypal account for donations. Because I feel like I should pay for this app.


I would happily make a donation towards this app. I can’t wait to get home, put the kids to bed, and start dabbling with some rules. Awesome work! :joy: