The Unofficial SmartThings Blog
Jump to navigation Jump to search


logo courtesy of @chickwebb

These are indexed samples of working CoRE Pistons, submitted by the SmartThings Community.

For the the main CoRE documentation page, see CoRE [1]
For indexed notes from the developer and the SmartThings community, see CoREnotes [2]

This page is a work in progress and limited by your imagination. --Whippm (talk) 21:32, 30 August 2016 (EDT)

IMPORTANT NOTICE - These are untested samples from the community. DO NOT post or submit anything with your personal information! Like your hash key in the address bar, PIN, phone number, etc.

When submitting your screenshot, leave it full resolution. If screenshot is from desktop, crop all sides down to actual piston info, this Wiki can scale the width.

If you need help uploading and posting to this Wiki, you may PM me, @Whippm or @bamarayne including your Piston Title, Author, Basic Function, Use Case, Notes, and Edited Screenshot on the Community Forums [3] for posting.

For help creating Pistons ask the Community [4]


[RELEASE CANDIDATE] CoRE (Community’s own Rule Engine) [5]
[BETA MILESTONE 2] CoRE (Community’s own Rules Engine) [6]
CoRE - Get peer assistance here with setting up Pistons [7]
[BETA MILESTONE 1] CoRE (Community’s own Rules Engine) [8]
CoRE and Piston Rules Engine, first design steps [9]
GitHub - ady624/CoRE: CoRE - Community's own Rule Engine [10]
@ady624 PayPal.Me [11]
SmartThings API (main) [12]
SmartThings Installed Smart App List (health) [13]
SmartThings Local Device List (can run local) [14]
SmartThings Platform Status [15]



Mode Change Monitor

  • Author - @Bamarayne
  • Piston type - Basic
  • Basic Function - This piston runs a check every 15 minutes of the system to ensure the system is in the correct mode. This piston assumes

that you are changing your modes automatically based on a time schedule in ST. My system consist of 7 modes. 6 modes change automatically and 1 mode is manually set. The piston takes into account for the manually set mode.

1) It uses a time restriction to run. The time restriction is based on the time of what the current mode is supposed to be. 2) If the mode is not correct for the current time restriction slot, then the piston will send and sms notification and will attempt to change the mode to the correct mode.

The piston also allows for manual changes in the system by the user. What this means is if your scheduled modes are Evening --> Night --> and then late night, the piston allows for changes.

If you are in supposed to be in "Night Mode", you are NOT supposed to be in "Evening Mode".... but, you may have advanced the system to "Late Night Mode". So, it will only find an error if you are in either of the previous 2 modes, not in the next scheduled mode.

You will need to modify the piston based on the times of your scheduling. I did not put the time restrictions to the exact mode change times to allow for delays in the SmartThings cloud and platform.

Screenshot 20170109-141322.jpg


Doggie Door

  • Author - @Bamarayne
  • Piston type - Simple
  • Basic Function - Open Door 1st Time > Turn on light, Close Door 1st Time > Light Stays on, Open Door 2nd Time > Light stays on, Close Door 2nd Time > Light turns off.
  • Use Case - Is your dog scared of the dark? Mine is. Using this piston when you open the door to let Rover out it turns the light on. But it doesn't turn the light off until after you've opened and closed the door the second time to let Rover in.
  • Notes - This piston has been modified by @Toy4Rick to work with multiple lights and multiple doors.



Time of Use Energy Savings

  • Author - @Whippm
  • Basic Function - Thermostat Scheduler
  • Use Case - Regulate temperature and a couple appliances to high and low cost electricity plan.
  • Notes - Not shown, but I have Winter and Summer simulated switches for plan changes that control which schedule to run.

TOU Summer 1-8 MF.jpg

Outside Hot/Cold

  • Author - @Whippm
  • Basic Function - Decide whether to open doors and windows
  • Use Case - Adjusted by Winter or Summer Mode virtual switch.
  • Notes - Hue color bulb indicating outside temp hotter or colder than inside. Will indicate at every temperature change, or can be adjusted to only when door opens.


Auto Set Thermostat

  • Author - @ac7ss
  • Basic Function - Set thermostat down when we are sleeping or out of the house.
  • Use Case - Always running.
  • Notes - The two doors are interior doors to the bedrooms. The lights are in the main portion of the house and generally on when the rooms are occupied. The presences are the two primary residents of the house. Our heat source is in the living room and won't heat the rooms if the doors are shut.



  • Author - @bamarayne
  • Basic Function - Provides a fast and easy way to program a minimote to do anything.
  • Use Case - Use it for whatever you want.
  • Notes - Using a Latching Piston the IF is for PUSHED and the BUT-IF is for HELD.



Good Morning

  • Author - @Whippm
  • Basic Function - Changes Mode to Home.
  • Use Case - Runs as Good Morning Routine replacement.
  • Notes - All my ST Routines are empty shells. Good Morning Virtual Switch is for Echo use. Uses Aeon Doorbell for Audio Notifications.

Mode Good Morning.jpg

Good Night

  • Author - @Whippm
  • Basic Function - Changes Mode to Night.
  • Use Case - Runs as Good Night Routine replacement.
  • Notes - All my ST Routines are empty shells. Good Night Virtual Switch is for Echo use. Uses Aeon Doorbell for Audio Notifications.




There are currently two (2) ways to use the CoRE/AskAlexa integration.

    Method One - {via CoRE} - Follow this path:
         Piston Condition --> Capability --> AskAlexa Macro
         Using this method, the Piston is triggered by the completion of the AskAlexa macro.  This method can
         be fired by any type of AskAlexa macro.  Please note that this method is probably the most versatile
         method of integration.  The AskAlexa Macro can perform actions as well as the CoRE Piston, thus allowing
         your automations to be vast, and of course, Voice Controlled.
          CoRE Dinner Time.jpg    AskAlexa Dinner Time.jpg    AskAlexa Dinner Time1.png

    Method Two - {via AskAlexa} - Follow this path: 
         Configure Macros/Voice Macros --> Create A New Macro --> Macro Type --> CoRE Trigger (Run/Execute)
         Using this method, the AskAlexa macro is the external trigger for the Piston.  This method can only be
         used with the CoRE Trigger (Run/Execute) macro.  Please note that this method acts only as a trigger
         for CoRE.  The macro does NOT perform any other physical actions.  CoRE is the work-horse for this
         type of integration.  This method does allow for certain restrictions.  Of special note is that when
         you tell Alexa to run the macro you have the ability to delay the action.  
             Example: Alexa, ask Home to tell Alex to come downstairs in 5 minutes.
          AskAlexa CoRE Trigger.jpg     CoRE Piston for AskAlexa use.jpg


Motion On Off

  • Author - @eibyer
  • Basic Function - Here's a simple Turn On and Turn Off after X minutes piston.
  • Use Case - Seems to be the first piston a new user would like to create.
  • Notes - I tested it and it works, feel free to modify if needed.
              These pistons will turn your light on as you walk into the room (using motion).
              They will then turn the lights off after a preset number of minutes.
              The 2nd piston ensures that if you walk out of the room, and then back in
              before the lights turn off, that the lights will stay on.

Motion On Off.png Cabinet Lights.png


Open/Close or On/Off

  • Author - @Bamarayne
  • Basic Function - Sends desired messages and audio notifications when your doors or windows open and close.
  • Use Case - Receive a message when something occurs in your home. A great use would be for the garage door closing

as you drive away to work. Once it's closed, you get a message, and if it opens while you're gone, you get a message.

  • Notes - Piston one sends notice ONLY when a contact opens. Piston two sends notice when a contact opens and closes.

Contact Open.png Contact Open and Close.png


Family Presence Notifications

  • Author - @Bamarayne
  • Piston type - Basic
  • Basic Function - Sends a push notification as well as it makes announcements on the home speaker system.
  • Use Case - Using my Life360 account and the official ST/Life360 integration I have push messages for arrival and departure as well as speaker announcements for all 8 of my presence sensors.
  • Notes - I have the sensors separated by kids and adults. The kids push messages and announcements are for arrival and departure. The adults are for arrival only. The push messages occur every time a presence sensor arrives/departs. The sound notifications are mode restricted so as to fire only at certain times. There is also an override switch for when the baby is sleeping.

Presence Family Notifications.jpg


Hourly Clock Chime for Doorbell

  • Author - @Whippm
  • Basic Function - Clock Chime
  • Use Case - Sounds pendulum clock chimes on the hour
  • Notes - Using captured .mp3 track uploaded to Aeon Doorbell. Volume on this device is 0-10, enter as such and not %. Set time as 59 or 01, on the hour it slows due to server congestion. I am using Aeon Labs Aeotec Doorbell DTH [16]


  • Author -
  • Basic Function -
  • Use Case -
  • Notes -