Recurring alerts based on conditions in Webcore Piston

Can someone tell me how to set the piston to repeat push notifications based on certain conditions? If I leave my garage doors open after 9pm, I would like to receive notifications every 30 min until it is closed. Once closed, I want to receive a push notification confirming the doors are closed. If the doors are already closed at 9pm, I wish to receive a push notification indicating the doors are closed.

1 Like

First, take some time to understand webCoRE. Everything you want to do can be easily done once you understand what you are doing.

If garage doors are open
And time is between 9pm and midnight (or whatever)
Using Location
Send Notification Garage Doors are open
Wait 30 minutes
Follow up with Piston

If garage doors were open
And time is between 9pm and midnight (or whatever)
And garage doors are closed
Using Location
Send Notification Garage Doors are now Closed

If garage doors are closed
And time is 9pm
Using Location
Send Notification
Garage Doors are Closed


Thank you for explaining this to me. I just have to learn how to begin the conditions, being the if’s, and’s, while’s, etc. and better understand the where to find these items when building the piston. Thanks again.

1 Like

Yep. I love the concept of importing already put together pistons but I also believes it cripples the learning experience.

The cool thing about webCoRE is that you can actually have “If” statements in the “Then” actions! The possibilities are endless. But for now, just think:

Conditions-Arguments to satisfy statement (These are before the triggers in the If statements)
Triggers-Actions that happen to satisfy statement (These are the bold actions in the If statements)

Actions-Do something

The lightning bolt on the left, when monitoring the piston, shows what “activates” the “Ifs” (makes the Piston work). If there is not a lighting bolt, the action will never fire…

The biggest problem is mixing Triggers with Conditions. (This is a no no in webCoRE)

Triggers trump conditions. In the previous CoRE app, you could sort of mixed them. But in webCoRE, conditions (satisfied) will still not fire the Piston if triggers are present. This is where putting If statements in the Then section helps. (Triggers on the outside, conditions on the inside.)<----too much to take in but once you start building your pistons it will click.)

Think If This Then That when first starting off.
If=conditions or triggers
This=your devices or virtual devices
Then=the Do section (Actions)
That=tell SmartThings or Devices what to do.

You can have multiple “If” “Then” going on in 1 Piston
So each of the three above scenarios can have their own “If” “Then” sections. Whichever is true, that is what will fire!

1 Like

That is exactly why I installed it. The process is visual, in my mind at least, which makes sense and is why I use IFTTT for a number of services. Thanks again for your help.

Where is the “Follow Up” piston found? I followed your instructions, but cannot find any info on this last item.

Aww, that’s right. It’s called Execute Piston in webCoRE. It’s under Location in the action section.

Thats what I used. Thank you. I hope this works!

1 Like

One more thing. You wrote “If garage doors were open” Is there something else in place for “were?” I saw “was,” but the comparisons only have a time reference, unless I have to use one of the other choices in the list.

I also only chose “Location” rather than the physical device. I am assuming this is correct only because the piston worked last night. I did have to remove the “between” times because it alerted at 9pm and at 6am.

I think I am making progress so far, but I need to refine it more and more importantly, learn it. Its time consuming, especially when time is limited.


You have to specify a time for the “was” to know a time frame. Was is an event that happened in the past or is still happening…for the time frame given… I have some that say in the last 120 minutes or in the last 5 minutes or at least 10 minutes.

Brain… If someone walks into the room and the door has been closed for at least 10 minutes then turn on the light.

Door was closed for at least 10 minutes
Motion is active
Using Light
Turn On

In between should be good for alerts if the garage door opens…Anytime the doors opens in between the time specified, it will fire the message.Time after is good for when the door is closed. I think the major difference is that “Time After” expires at midnight.

See you are getting it! Once your brain follows the logic then any Piston you can dream of, webCoRE will be able to accommodate!

I am sorry for pestering you, but I have not found any good tutorials out there. Thank you again for all your help.

1 Like

No pestering at all! This is why I love the ST Community. The guys here have helped me out 100s of times. I am only giving back just a small portion of what I’ve gotten. :sunglasses:


I purchased a second linear garage door opener and set up another piston. The open door alert works fine so far, but all other conditions do not. Do you have any idea where i can find more info? I’m sure once I get comfortable navigating the modules and options, it will be much easier to do what I want.

In webCore how are you doing the “in the last X minutes”? I was able to do this in core but switching over to webcore I am not able to find that functionality. I am trying to say " if presence changed to present in the last 10 minutes and contact sensor has changed, then do something.

I might be missing a advanced menu or something but I can not find “in the last”.
Thanks for any help

It’s in there just like you phrased it.

So I’m trying to do the same BUT for some reason the repeat announcement doesnt work and the condition is met all the time.
Any idea what is not configured right?