SharpTools Rule Engine


Announcing the SharpTools Rule Engine! Automate your smart home and get your devices talking to each other.

Rule Engine is a powerful and intuitive automation tool to create activity flows to control your devices based on IF-THEN logic, device triggers, and timer triggers. It enables capabilities that where once relegated to the realm of programmers.

Request access to the Rule Engine at:

We are currently rolling out the Rule Engine as a private beta and are processing requests on a first-come first-served basis.

Note: As part of the rollout of the Rule Engine, we made a few tweaks to our authentication system so you may need to login again. If you currently have a dashboard page open, your existing authentication token should continue to work as expected, but if you do a full page refresh you will need to login again.

And check it out.

Welcome James Liu to the SharpTools Team

Here are some tips how you can use Rule Engine to automate your devices:


  • Timer: trigger the rule based on the time of the day, and user can choose if this should be repeated daily
  • Device: trigger the rule by your device event, such as motion sensor-active, garage door-open, and etc.


  • IF_Condition: build smart flow using condition check. Conditions can be based on your specific device’s status(attribute value) or time, when the rule is triggered. And you can change the condition logic to continue when “all” or “any” of the conditions are met.
  • Action: control your device by setting the device, command and arguments, such as “Living room Light - on”.
  • Delay: you can pause the flow execution by adding a delay activity. For example, you may want to delay the light sensor condition check for a few seconds after its status is changed, to get more accurate reading.

And here are some examples how for your reference. Hope you guys enjoy it. :slight_smile:

  1. Set timer as trigger to open my kitchen blinds daily.

  2. Use device(motion sensor) as trigger, and execute action based on the time of the day using time condition check

  3. When the rule is triggered, delay the activity flow, and execute different series of actions depends on if someone’s at home


Just rolled out an update to Rule Engine per the user feedback received. Now it’s easier to trigger a rule based on a device’s status change, no matter what value it changed to. See below for the example that I set the rule to be triggered if the Garage Door is == or != ‘open’, and then adjust my AC and lights depending on my presence. So this is rule can be triggered anytime when garage door’s status is changed.

Any other feedback? Leave a comment or send your request to, so we can build it. :slight_smile:


We just rolled out several new features including Mode, Routine and SHM support in the Rule Engine. See the announcement for details.

Let us know what your thoughts are. :slight_smile:


I never got into webCoRE, I was overwhelmed with the interface, since I’m not a programmer & I just now figured out how to setup Sharptools dash, which was easy!

So is this like a webCoRE/ifft alternative right? The screenshots look simple, so with help from you all here, I think I’ll mess around with this some.

Also, what are the benifits of using something like this vs just setting up automations using the native iOS Smartthings app?


@Adrian_C, glad you found SharpTools easy to use and liked it. And, yes Rule Engine is the automation tool like those you named, and we want it to be powerful, extensible but intuitive.

One of the differences for is the multi-platform support, such as SmartThings, Pushbullet, Hubitat (coming very soon), and more to come, so you can control/automate devices/services from different platforms at one place that you cannot do in each native app.


Adrian - if you haven’t already seen it, the following video has a good overview of the SharpTools Rule Engine:

I originally put it together in response to some questions on Facebook, but it has some good info in it, so I put it on YouTube for others to see. :slight_smile:


Since getting my ST hub a few months ago, I been trying to work solely within the ST app & never used webCoRE/ifft, but I’ve run into several situations that made me have to create diff automations between SHM, Smart lighting, & main automaton settings just to create 1 thing! too complicated because there simply isn’t an option to include all the variables in 1 Spot.

So this video is very helpful for me to be able to jump right in & create anything I want in one swoop, rather than jumping into 3 diff automation setting menus inside of ST app. Thx for this!


Nice start, ‘if - then’ is easy, but could you also add an ‘else’? For example I want either of two motions to start a task, but how do I end if both are inactive?


@Dan_Fox You can specify actions in both THEN and ELSE paths. See the example below for your scenario. I added two motion senors as triggers, so either one will kick off the rule.

Then I use an IF_Condition to check the 1st motion sensor’s status, and take different actions. As you can see, I can also add a nested IF_Condition in the case of both them are in active status. Let me know if you need any help.


I would probably set it up something like:

   motion1 == active
   motion1 != active
   motion2 == active
   motion2 != active

IF motion1 == active OR motion2 == active
   THEN doMyCoolThing()
   ELSE turnTheLightsOff()

So basically have triggers for anytime either of the the motion sensors change state (either to active or to not active).

Then the IF condition in the flow could be to make sure either sensor is active before doing your main action in the THEN. And if neither of the sensors were active, then both of them must be inactive, right? In that case, you could run your ‘end’ action there.

(Another approach would be to use multiple IF conditions in a row with different conditions if that’s more intuitive to you or better meets your needs)

One thing to keep in mind is that all triggers are effectively OR’ed together since they are always events.

IF conditions are used to check the state of one or more things. So even if something wasn’t part of the event that triggered the rule, the rule will figure out what current state the item(s) are in so it can evaluate the IF condition.

By default, IF conditions are AND’ed together (eg. when ALL of the conditions are met), but you can change the IF condition to OR (eg. when ANY of the conditions are met).

Sensor check in specific modes or at specific time