[SHARE] CoRE - show & tell all about Pistons

I use several IFTTT recipes to limit accidental garage door opening/cosing. One example

Any present (life 360 IFTTT)
AND any car not present (Automatic IFTTT)
AND garage door closed
with garage door turn relay on

I’m wishing that more folks would post their Pistons so I could get some inspiration on when to use Piston Modes other than Basic or Simple. All but one of the Pistons I have set up so far have been Basic most with individual actions.

And to keep with the topic, below is a Basic Piston that I set up for my daughter. I’ve given her an Iris Smart Button for her bedside to control her lights. Each button press increments the dimmers by 20 and loops back around. When held all of them turn off.


Else-if piston controlling bedroom light

1 Like

This piston uses the Aeon Siren to perform entry/exit beeping for 45 seconds, but it increases the speed of the beeps every 15 seconds.

It starts out with 1 beep every 3 seconds, then increases to 1 beep every 2 seconds and finally increases to 1 beep every second.

The numbers passed into the speak text command are:
Sound #, Volume #, Number of Beeps, Delay Between Beeps, Length of Beep.

This piston uses the GoControl siren to beep every 4 minutes, but the number of beeps and their length increases each time.

The first time it executes it performs 1 beep that’s 50 milliseconds long and the last time it executes it performs 5 beeps that are each 5 seconds apart and 250 milliseconds long.

This Piston uses the GoControl Siren to perform a beep, display the strobe for 15 seconds, perform another beep, strobe for another 15 seconds, turn the Siren and Strobe on then turn it off 10 seconds later.

Thanks again @ady624 for adding the looping functionality.


I guess I am an idiot. Where is the download so I can start migrating away from Rule machine

1 Like

Welcome back!

I just replaced 6 RM rules that I use for my minimote for aquarium equipment control with one Piston. This is pretty simple but might be a starting point for someone starting with CoRE.

I have it set up to open my gate automatically at the end of my driveway by using a simulated switch and a WeMo Maker. If my or my wife’s Android changes to present, it activates the WeMo Maker for 500 ms and back off. I did have this running using smartthings presence and IFTTT integration with the WeMo Maker but it was unreliable set up as a momentary switch because 300 ms was the max time setting. Seems to be working much better now.

can someone please guide me to do the following
turn switch on when motion is detected, turn off after 2 minutes from the time no motion is detected. thanks

This works for me.

EDIT: Or you can use Smart Lighting.

Please post your questions in this thread.

I use Core for all sorts of things, but today I had an epiphany. My husband barely uses ST. He enjoys the cool benefits of the things that are totally automated, but he never opens the App to do anything. And I get that.

  1. Unlock phone
  2. Bring up App
  3. Get error message to retry log in (every single time)
  4. Find Thing in a seriously exhaustive list
  5. Press Thing
  6. Tell thing to do something

Even routines require the first 4 steps…OR DO THEY??

I don’t know why it didn’t dawn on me before. I put my Good Night routine in my widget. Much easier to get to.

But wait…Routines control Switches. Virtual Switches can have any Core automation in them. YAYYYY!!!

So now with a quick swipe down of his finger, he can '“Turn on basment lights”, “Watch Andriod TV” which is lights and Harmony turning everything on and setting inputs, and even bump up the temperature on the thermostat if he is “Too Cold”.

I see a lot more favorable use (and opinion) of ST in my household from now on. :couple_with_heart:


Using widgets may be an option for him for some of the more frequent tasks

Away Lighting

Overview: When nobody is home, simulates occupancy at night by randomly turning on/off lights.

Implementation: From a pool of three lights, randomly selects one to turn on and off for a variable length of time. The cycle is repeated throughout a specified period of the night, or until someone (presence sensor) comes home. Uses the system variable, $random.

Feature(s): Multiple groups of lights can be made to turn on by partially (or completely) overlapping the condition values in the IF-Block statements.

Note(s): The delay time in the Follow up must be at least as large as the largest value used by the Wait times in the IF-blocks; by placing the Follow UP statement outside of each of the action blocks, the wait time to turn on the next light will also vary.


Contact Sensors Notify & Beep

Overview: Audio beep when a door is opened or closed.

Implementation: Uses a Aeon Labs Siren and @krlaframboise 's Aeon Labs Multifunction Siren device type handler to provide two different beeps for Day and Night modes (when someone is home). In Away mode, only a push notification is done; in all modes (Day, Night, Away), the door event is recorded in the Notifications->Messages page of the ST app.

Feature(s): Annoying beeps :slight_smile:

~Hour Chime

Overview: Somewhat hourly audio notification of the time

Implementation: Uses a Aeon Labs Siren and @krlaframboise 's Aeon Labs Multifunction Siren device type handler for the beeps. Uses the system variable, $hour, as the repeation argument in the Speak command.

Feature(s): REALLY annoying and numerous beeps — especially at night.

Note(s): Going to replace the Siren with Aeon Labs’ Doorbell — with a cuckoo clock sound bite, I’ll be getting a real cuckoo clock given the unreliability and inconsistency of ST’s time scheduler.

Misc. Notifications

Overview: Provides notification(s) in the Notifications->Messages page, where normally none would be recorded for certain events.

Implementation: Uses phones as the present sensors. For the GE wall switches, if the switch is physically turned on/off, the event gets recorded, but only in Away mode.

Feature(s): Wifey Early Warning System :laughing:

Note(s): This piston was initially just a test case for using the SWITCH-CASE blocks.

Notify To Open/Close Sliding Door

Overview: Notification to open or close the sliding door when certain outdoor temps are reached.

Implementation: When outdoor temps enters or leaves the range of temps that my thermostat uses, alerts me by push-notification and audio that I should probably/seriously think about doing something about that opened or closed master bedroom sliding door. Uses the BloomSky Outdoor Weather Station and @slagle 's Bloomsky (Connect) app to provide the outdoor temperature. Uses a Aeon Labs Siren and @krlaframboise 's Aeon Labs Multifunction Siren device type handler for the audio.

Feature(s): Optional to ignore the notification :wink:

Note(s): Helps to reduce that ominous number in the utility bill.

Resume HVAC When Someone Arrives

Overview: Resumes the thermostat’s program when someone arrives home.

Implementation: Does not resume when: doors are open; someone is already home; outside temps are within the thermostat’s operating temp range. Uses the Ecobee3 thermostat and @StrykerSKS 's Ecobee (Connect) service manager. Uses the BloomSky Outdoor Weather Station and @slagle 's Bloomsky (Connect) app to provide the outdoor temperature.

Note(s): This piston has never failed!

1 Like

Run Mode Routines

Overview: Switches Modes depending on the time of day and presence. This piston pretty much does the same thing as the ST Market app, Routine Director.

Implementation: I only need/use three Modes: Day (essentially home-day, sunrise to sunset); Night (essentially home-night, sunset to sunrise); Away, when everyone is gone. Switching to any mode is done through presence (cell phones) throughout the day and night; the appropriate ST Routine is then executed. Uses ST Routines to change to your modes, to change states of your lights/locks, etc. To prevent the actions from repeatedly being executed by the coming and going of the present sensors, an Action Restrictions is used (“Only execute on condition state change”).

Feature(s): The definition of “day” and “night” is not restricted to sunrise and sunset, respectively — unlike Routine Director. You can use custom times in the piston’s conditions. You can easily add conditions/actions for more modes.

Note(s): Your ST Routines (for Mode changes) should NOT be automatically executed by ST — that’s what this piston is for :wink: