New Feature: Rule HTTP Trigger

We’re excited to announce Rule HTTP Triggers which enable third party applications and services like IFTTT, WebCoRE, Zapier, Tasker (and more!) to trigger SharpTools rules. This opens up a variety of exciting integration possibilities!

:crown: HTTP Trigger is a Premium feature.
If you are using the free tier, please let us know if you’d like us to reset your trial.

Overview

Rule HTTP Trigger allows a rule to be triggered from a standard HTTP request from a third party application or service, such as IFTTT, Zapier, Microsoft Power Automate (Flow), and Tasker, or any other applications/services that can send an HTTP request. This was also one of the most popular features requested in the community.

How to use HTTP Trigger

Add HTTP Trigger to your rule(s)

HTTP Trigger can be added by tapping the “+” button in the Trigger(s) section, select Event Trigger and HTTP in the rule editor. Once added, you can tap the copy button to copy the request URL and use it in the other services/applications. (URL will not be functional until the rule is saved.)

:warning: Keep the HTTP Trigger URL private! Do not post the rule’s HTTP trigger URL publicly or share with anyone you don’t trust as the trigger URL contains a special key that is authorized to execute the associated rule.

How to trigger the rule with the HTTP request

HTTP Trigger accepts both GET and POST methods so you can use either one in a third party service/application to initiate the HTTP request to the URL copied from the previous step. See below for a Webhook (request) example in IFTTT.

How to pass data to a rule? (Request Parameters)

Data can be included in the HTTP request as query parameters or as a JSON payload to be passed to the SharpTools rule. These parameters can be used in IF conditions, device command parameters, notifications and more.

The predefined parameters in the HTTP Trigger block can be selected directly in the Context Variable list.

As an alternative approach to defining expected parameters in the HTTP Trigger, you can also select the Custom Parameter option from the Select Variable Prompt, Note that this approach also provides access to nested properties of objects using standard . syntax. (eg: switch.value)

More detailed parameter examples can be found in the Help Article - How to Us Rule HTTP Trigger.

The sky’s the limit

There are tons of integration possibilities that HTTP Trigger allows, and we are excited to see what the community comes up with. :wink:

Other Enhancements

We’ve also updated the $.runRule() hyperlink syntax to support parameters. This can be used in any tile which supports the Hyperlink Action.

For example, use the same rule but provide a parameter indicating which button number you want to simulate pressing:

$.runRule("RULEID", {"button": 1})

Or customize the message that you plan on including as part of a notification:

$.runRule("RULEID", {"message": "Hello World"});

These parameters can be accessed in the rule flow using the Custom Parameters option from the Context Variable → Event → HTTP Event section noted in the ‘How to pass parameters’ section above.

6 Likes

Wiki Post

This is a community wiki post. Please feel free to edit it with creative use cases, services, etc.

Services w/ HTTP

  • IFTTT
  • Zapier
  • Microsoft Power Automate
  • WebCoRE
  • Hubitat Rule Machine
  • Event Ghost
  • Tasker (Android)
  • Shortcuts (iOS)
  • Blue Iris
    - In Camera Property, configure the Alert to send web request to SharpTools Rule HTTP Trigger to turn on the light, play sounds on speakers and etc.
  • TinyCam
    - In the settings for a camera, select Motion Detection, then scroll down to Webhook on Motion
  • Home Assistant - RESTful Command
  • HomeSeer - GetURL or URLAction

As part of the beta, we had some questions about use cases and how the various examples in the wiki post immediately above can be used. Here’s my response from the beta thread:

IFTTT

Something like IFTTT could be used if you wanted to display data from a device or service that wasn’t natively supported in SmartThings. For example, there are a variety smart devices (lighting, air quality, kettles, appliances, shades, etc) as well as just generally helpful services (calendars, business tools, storage, sports, health, task management, etc).

Since these things can all be used as part of the “IF” side of IFTTT, you could then use them to trigger rules to run in SharpTools. And many of the services allow passing of data (“ingredients”) from the triggering service over to SharpTools letting to react in your SharpTools rules based on certain conditions being met (eg. your favorite team scoring flashes a light the team color).

WebCoRE

Some of our users were already existing WebCoRE users and a common use case is wanting to display variables from WebCoRE in SharpTools.

For example, some people have highly complex rules that they’ve created in WebCoRE that do all sorts of averaging, counting, or other math that ultimately gets stored into a WebCoRE variable. Prior to the release of SharpTools HTTP Triggers, those users had to resort to Rube Goldberg style integrations where they pushed data to external services and then used middle man services to turn the data into images (phew! :open_mouth:).

This update makes things much easier as they can just post the data straight from their WebCoRE rules over to SharpTools Rules… basically copying data from a WebCoRE variable into a SharpTools variable which can then be displayed in dashboards or used in SharpTools rules.

Hubitat Rule Machine

Similar to both WebCoRE and IFTTT, there’s several use cases that are opened up like pushing global variables from Hubitat to SharpTools.

Another use case is being able to trigger SharpTools Rules without needing a Virtual Device. Some people have lots of virtual devices just for being able to communicate between Hubitat and SharpTools - for example, at the end of a Hubitat rule they might flip on a Virtual Switch so they could indicate status over in SharpTools.

Now they could just push the status over via the HTTP Triggers to store the data in a SharpTools Variable.

As another use case, you could use the SharpTools HTTP Triggers to post data over to a SharpTools rule that sends an email notification.

Shortcuts (iOS)

Shortcuts is an app that’s built into modern iOS devices and is something of a workflow or automation tool for phones and tablets.

One common use case is to be able to create a widget in iOS which directly runs a SharpTools rule (via the HTTP Trigger). This lets you easily and quickly tap a widget on your phone and run a series of actions (or even condition actions) in a SharpTools rule.

Tasker (Android)

Tasker is a third party app developed for Android that enables automation and workflow on Android devices. It’s a bit of a tinkerers paradise, but it enables all sorts of creative things.

For example, when you connected your phone to a charger, you could have to push the status over to SharpTools. Or when your phone dropped below a certain battery level, you could have it push the status over. (Maybe displaying the status of your battery in a tile or turning a light a certain color to warn you).

Tasker has tons of ‘plugins’ and it’s also commonly used as a bridge for apps that don’t have any integration with SmartThings, IFTTT, or other popular services. For example, I’ve seen people monitoring their wood pellet smokers by watching for a notification on the phone that had a certain string of text and then reacting to that.

Blue Iris or TinyCam

These are both IP Camera monitoring solutions, so being able to webhook out of them means you could take motion data from your cameras and integrate it into your rules.

TinyCam even has object detection meaning it can detect between Person / Pet / Vehicle and you could use that information in a rule to decide how to react.

Home Assistant / HomeSeer

Home Assistant and HomeSeer are both popular home automation platforms. Like the WebCoRE example above, this allows you to push data from those home automation platforms over to SharpTools either for display in dashboard or for use as conditions in rules.

For example, when a motion sensor trips in HomeSeer, have it trigger a rule in SharpTools. Or when a mode or input component (variable) in Home Assistant changes, have that trigger a rule in SharpTools.

2 Likes

Oh my lord! Could I love this tool any more?!

This has made my day. Can’t wait to start playing with this!

Well done guys!

3 Likes

I don’t seem to be able to find an example of this. In Tasker I can send data to webcore by using the piston URL and simply adding =batterylow at the end of the URL, then in the webcore piston an IF =batterylow then do stuff, but how is this done with SharpTools?

What I’m trying to achieve is pass a paramter/variable/a word, from a get request. In webcore I have a piston that when it recieves one of 10 triggers via get request, does things. nothing i seem to try seems to be able to do it, with webcore it was easy you just added =word at the end of the URL, hit the piston, then if =word was received do stuff. I’m not wanting to store and pass variables into another variable in Sharptools, an example would be if phone battery at 15 percent, make request with =low battery, then in the Rule if =low battery received, do stuff.

it’s not working from Tasker or another rule.
in Tasker i’ve tried battery on it’s own in parameter, header and at the end of the url with :?battery
tried in parameter as the Tasker example of battery:%BATT

Still not able to get it. I found another thread where it says to add /?value=XXXX to the end of the url, I’ve done that in the Tasker task and in the browser, I can still trigger the Rule, but not able to trigger an IF from the parameter XXXX or battery in my case. It’s quite remarkable how hard this is.

I’ve tried every permutation it seems, but still lacking, all thats happening is my living Room lights turn on on the Else.

Logs
07/10/2022

GMT+2

11:49:17

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

11:49:17

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

11:49:17

Sending device command: Living Room ▸ on()

view

11:49:18

Set variable value: $HTTPtrigger = undefined

view

11:49:18

Rule execution is completed.

view

11:51:11

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

11:51:11

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

11:51:11

Sending device command: Living Room ▸ on()

view

11:51:11

Set variable value: $HTTPtrigger = undefined

view

11:51:11

Rule execution is completed.

view

11:58:54

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

11:58:54

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

11:58:54

Sending device command: Living Room ▸ on()

view

11:58:54

Set variable value: $HTTPtrigger = undefined

view

11:58:54

Rule execution is completed.

view

11:59:34

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

11:59:34

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

11:59:34

Sending device command: Living Room ▸ on()

view

11:59:35

Set variable value: $HTTPtrigger = undefined

view

11:59:35

Rule execution is completed.

view

12:01:58

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:01:58

Set variable value: $HTTPtrigger = undefined

view

12:01:58

Rule execution is completed.

view

12:03:15

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:03:15

Set variable value: $Httpbattery = undefined

view

12:03:15

Rule execution is completed.

view

12:04:13

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:04:14

Set variable value: $Httpbattery = undefined

view

12:04:15

Rule execution is completed.

view

12:04:51

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:04:51

Set variable value: $Httpbattery = undefined

view

12:04:51

Rule execution is completed.

view

12:07:50

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:07:50

Set variable value: $Httpbattery = undefined

view

12:07:50

Rule execution is completed.

view

12:10:15

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:10:15

Set variable value: $Httpbattery = undefined

view

12:10:15

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

12:10:15

Sending device command: Living Room ▸ on()

view

12:10:15

Rule execution is completed.

view

12:55:07

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:55:07

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

12:55:07

Sending device command: Living Room ▸ on()

view

12:55:08

Rule execution is completed.

view

12:55:50

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:55:50

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

12:55:50

Sending device command: Living Room ▸ on()

view

12:55:50

Rule execution is completed.

view

12:58:33

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:58:33

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

12:58:33

Sending device command: Living Room ▸ on()

view

12:58:33

Rule execution is completed.

view

12:59:15

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:59:15

Set variable value: $Httpbattery = undefined

view

12:59:15

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

12:59:15

Sending device command: Living Room ▸ on()

view

12:59:15

Rule execution is completed.

view

12:59:50

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

12:59:50

Set variable value: $Httpbattery = undefined

view

12:59:50

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

12:59:50

Sending device command: Living Room ▸ on()

view

12:59:51

Rule execution is completed.

view

13:00:09

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:00:09

Set variable value: $Httpbattery = undefined

view

13:00:10

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:00:10

Sending device command: Living Room ▸ on()

view

13:00:10

Rule execution is completed.

view

13:01:52

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:01:52

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:01:52

Sending device command: Living Room ▸ on()

view

13:01:52

Rule execution is completed.

view

13:02:20

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:02:20

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:02:20

Sending device command: Living Room ▸ on()

view

13:02:20

Rule execution is completed.

view

13:03:56

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:03:56

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:03:56

Sending device command: Living Room ▸ on()

view

13:03:57

Rule execution is completed.

view

13:04:18

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:04:18

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:04:18

Sending device command: Living Room ▸ on()

view

13:04:19

Rule execution is completed.

view

13:05:41

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:05:41

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:05:41

Sending device command: Living Room ▸ on()

view

13:05:41

Rule execution is completed.

view

13:08:03

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:08:03

Set variable value: $Httpbattery = undefined

view

13:08:03

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:08:03

Sending device command: Living Room ▸ on()

view

13:08:03

Rule execution is completed.

view

13:08:41

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:08:41

Set variable value: $Httpbattery = undefined

view

13:08:41

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:08:41

Sending device command: Living Room ▸ on()

view

13:08:42

Rule execution is completed.

view

13:09:18

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:09:18

Set variable value: $Httpbattery = undefined

view

13:09:18

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:09:18

Sending device command: Living Room ▸ on()

view

13:09:18

Rule execution is completed.

view

13:10:49

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:10:49

Set variable value: $Httpbattery = undefined

view

13:10:49

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:10:49

Sending device command: Living Room ▸ on()

view

13:10:50

Rule execution is completed.

view

13:12:23

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:12:23

Set variable value: $Httpbattery = undefined

view

13:12:24

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:12:24

Sending device command: Living Room ▸ on()

view

13:12:24

Rule execution is completed.

view

13:12:44

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:12:44

Set variable value: $Httpbattery = undefined

view

13:12:45

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:12:45

Sending device command: Living Room ▸ on()

view

13:12:46

Rule execution is completed.

view

13:22:16

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:22:16

Set variable value: $Httpbattery = undefined

view

13:22:16

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:22:16

Sending device command: Living Room ▸ on()

view

13:22:16

Rule execution is completed.

view

13:52:53

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:52:53

Set variable value: $Httpbattery = undefined

view

13:52:53

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:52:53

Sending device command: Living Room ▸ on()

view

13:52:53

Rule execution is completed.

view

13:56:04

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:56:04

Set variable value: $Httpbattery = undefined

view

13:56:04

Set variable value: $HTTPtrigger = undefined

view

13:56:04

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:56:04

Sending device command: Living Room ▸ on()

view

13:56:04

Rule execution is completed.

view

13:56:38

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:56:38

Set variable value: $Httpbattery = undefined

view

13:56:38

Set variable value: $HTTPtrigger = undefined

view

13:56:38

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:56:38

Sending device command: Living Room ▸ on()

view

13:56:38

Rule execution is completed.

view

13:57:22

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:57:22

Set variable value: $Httpbattery = undefined

view

13:57:22

Set variable value: $HTTPtrigger = undefined

view

13:57:22

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:57:22

Sending device command: Living Room ▸ on()

view

13:57:22

Rule execution is completed.

view

13:57:51

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:57:51

Set variable value: $Httpbattery = undefined

view

13:57:51

Set variable value: $HTTPtrigger = undefined

view

13:57:51

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:57:51

Sending device command: Living Room ▸ on()

view

13:57:51

Rule execution is completed.

view

13:58:48

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

13:58:48

Set variable value: $Httpbattery = undefined

view

13:58:48

Set variable value: $HTTPtrigger = undefined

view

13:58:48

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

13:58:48

Sending device command: Living Room ▸ on()

view

13:58:49

Rule execution is completed.

view

14:01:03

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:01:03

Set variable value: $Httpbattery = undefined

view

14:01:03

Set variable value: $HTTPtrigger = undefined

view

14:01:03

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:01:03

Sending device command: Living Room ▸ on()

view

14:01:04

Rule execution is completed.

view

14:01:41

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:01:41

Set variable value: $Httpbattery = undefined

view

14:01:41

Set variable value: $HTTPtrigger = undefined

view

14:01:42

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:01:42

Sending device command: Living Room ▸ on()

view

14:01:42

Rule execution is completed.

view

14:02:21

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:02:21

Set variable value: $Httpbattery = undefined

view

14:02:22

Set variable value: $HTTPtrigger = undefined

view

14:02:22

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:02:22

Sending device command: Living Room ▸ on()

view

14:02:22

Rule execution is completed.

view

14:06:32

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:06:32

Set variable value: $Httpbattery = undefined

view

14:06:32

Set variable value: $HTTPtrigger = undefined

view

14:06:32

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:06:32

Sending device command: Living Room ▸ on()

view

14:06:32

Rule execution is completed.

view

14:07:10

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:07:10

Set variable value: $Httpbattery = undefined

view

14:07:10

Set variable value: $HTTPtrigger = undefined

view

14:07:10

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:07:10

Sending device command: Living Room ▸ on()

view

14:07:10

Rule execution is completed.

view

14:08:01

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:08:01

Set variable value: $Httpbattery = undefined

view

14:08:01

Set variable value: $HTTPtrigger = undefined

view

14:08:01

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:08:01

Sending device command: Living Room ▸ on()

view

14:08:02

Rule execution is completed.

view

14:08:44

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:08:44

Set variable value: $Httpbattery = undefined

view

14:08:44

Set variable value: $HTTPtrigger = undefined

view

14:08:44

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:08:44

Sending device command: Living Room ▸ on()

view

14:08:45

Rule execution is completed.

view

14:09:08

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:09:08

Set variable value: $Httpbattery = undefined

view

14:09:08

Set variable value: $HTTPtrigger = undefined

view

14:09:09

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:09:09

Sending device command: Living Room ▸ on()

view

14:09:09

Rule execution is completed.

view

14:09:41

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:09:41

Set variable value: $Httpbattery = undefined

view

14:09:41

Set variable value: $HTTPtrigger = undefined

view

14:09:41

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:09:41

Sending device command: Living Room ▸ on()

view

14:09:41

Rule execution is completed.

view

14:11:01

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:11:01

Set variable value: $Httpbattery = undefined

view

14:11:02

Set variable value: $HTTPtrigger = undefined

view

14:11:02

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:11:02

Sending device command: Living Room ▸ on()

view

14:11:02

Rule execution is completed.

view

14:11:23

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:11:23

Set variable value: $Httpbattery = undefined

view

14:11:23

Set variable value: $HTTPtrigger = undefined

view

14:11:23

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:11:23

Sending device command: Living Room ▸ on()

view

14:11:24

Rule execution is completed.

view

14:14:25

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:14:25

Set variable value: $Httpbattery = undefined

view

14:14:25

Set variable value: $HTTPtrigger = undefined

view

14:14:25

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:14:25

Sending device command: Living Room ▸ on()

view

14:14:25

Rule execution is completed.

view

14:27:04

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:27:04

Set variable value: $Httpbattery = undefined

view

14:27:04

Set variable value: $HTTPtrigger = undefined

view

14:27:04

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:27:04

Sending device command: Living Room ▸ on()

view

14:27:05

Rule execution is completed.

view

14:44:34

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:44:34

Set variable value: $Httpbattery = undefined

view

14:44:34

Set variable value: $HTTPtrigger = undefined

view

14:44:34

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:44:34

Sending device command: Living Room ▸ on()

view

14:44:34

Rule execution is completed.

view

14:44:50

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:44:50

Set variable value: $Httpbattery = undefined

view

14:44:50

Set variable value: $HTTPtrigger = undefined

view

14:44:50

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:44:50

Sending device command: Living Room ▸ on()

view

14:44:51

Rule execution is completed.

view

14:45:04

Triggered by http event: API Key def58exxx-xxxx-xxxx-xxxx-xxxxxx79c7f9

view

14:45:04

Set variable value: $Httpbattery = undefined

view

14:45:04

Set variable value: $HTTPtrigger = undefined

view

14:45:04

IF condition logic is not matched. Continuing to activities in the “ELSE” path.

view

14:45:04

Sending device command: Living Room ▸ on()

view

14:45:04

Rule execution is completed.

view

14:45:17

Rule execution is completed.

You can find an example of sending data from Tasker here: Tasker Plugins + Android Widgets Ending - #10 by josh

I would need to see the Tasker side of things to help. Usually you can’t just append =something onto a URL as that’s not valid. It would need to be in a parameter like http://my.url/?value=word

In that case, the parameter wouldn’t be accessible in the value parameter in SharpTools though. That means Tasker would be sending it across in a parameter called battery, so either the Tasker profile would have to be updated to value:%BATT to match your rule or you would have to update the rule to grab the value from whatever you name the parameter as in Tasker (eg. battery in your example)

As noted above, the issue seems to be with how the Tasker profile is configured. If you want to share some screenshots of the Tasker profile, I’d be happy to help.

Thanks so much for your help, I’ve just this second been able to resolve, after much trial an error. Honestly the issue was I first created a rule with an http trigger to trigger another rule, as it wasnt working initially I went to Tasker to continue more indepth testing, the issue in Tasker was I was calling the initial trigger rule, that wasn’t passing the parameters over to the second rule. That’s 5 hours I wont get back of my life! :sweat_smile:

1 Like

I’m new to SharpTools and coming to it from webCore on the Smartthings platform.

In WC, I could pass the name of the device and desired status via the URL and validate if name exists, then execute a state change on the device name from the variable.

I might just be missing it, but is it possible to create an input variable on the incoming request (json or url, doesn’t matter) for device name then execute based on that variable content in one block of code, or do I need to create an if/then for all of the different devices I care about of that class?

for instance.

https://?deviceName=SomeLight&satus=switch

I could then basically say (pseudocode follows):

if (status==switch)
{
{{deviceName}}.toggle
}

You can pass arbitrary data via the URL or JSON payload and use that in the rule, but you cannot currently get a device reference based on variables/parameters.

As you alluded to, you can use IF conditions to determine which device to take action on. While this is reasonable for a handful of devices, I could certainly see reason for a feature request if you want to create one.

I’m trying to understand if I could do the following with this: If my door remains unlocked for X minutes, send a text (I have this part already working) can I include a URL in that message so I could click it and trigger the door to lock with this functionality? If so, how would I begin to do that? Thanks!