[DEPRECATED THREAD: visit community.webcore.co for assistance] WebCoRE - Example Pistons

Are these pistons able to be imported to my WebCore?


  1. Create new Piston
  2. Restore piston using backup code
  3. Enter the backup code shown in the screen shots for the piston you want to import
  4. Select the devices to make the piston match your needs

Man, this is awesome, have it imported and it is showing the info on the dashboard, thanks, really appreciate, now I have to figure out how to do this on the rest.

1 Like

OMG, I nearly spit out my Coke Zero while reading some of your push notifications. Thanks for sharing!

1 Like

Any examples of how to use $weather?
“06/14/2017 - Added support for $weather and external execution of pistons”

Me too, I spilled my Diet Water onto the keyboard… :smiley:

Your keyboard should be ok if it was diet.


Does anyone have a good example of a piston to turn a light on in a closet when the door opens and closes? I have ordered a door sensor so I’m just waiting for it to come. I want to do the following (the door is always closed when no one is in the room):

User opens the door and goes into the room.
Door closes.
Light goes on.
User does what is needed in the room.
Door opens for user to come out of the room.
Light goes off.

The key part is the light stays on while the user is in the room with the door shut.

Thanks in advance

1 Like

I can’t figure how to do it without a 2nd device. Other than a timed event.

Edit. I have an idea


@tommyincville that looks great. I can’t see why it wouldn’t work. I have created a virtual switch ready for when the door sensor arrives just in case I needed to go down that road but the variable should work nicely.
Will let you know how well the piston gets on when the sensor arrives.

1 Like

Here is an updated version of my Laundry Monitor


  • Notifications are now formatted properly.
  • Switched all variables from Global to Local.
  • All of the count logic is contained in the single piston.


@tonesto7 out of curiosity what made you switch to local variables from global? Is there supposed to be a performance increase doing that?

I was wondering why myself too. Maybe just wanted to get everything under one piston?

I was seeing issues with the global variables not updating. So I tested with locals along side the globals and they updated every time.
I also had used globals before because I had the count reset logic for day, week, month, year in a separate piston which is now integrated into the single piston.

I can add logic in to update those with existing global counts into the local variables.

1 Like

Here’s my Doorbell Notification Piston below. I use global variables for my lighting so you would have to change to your lighting for it to work for you.

Here’s my living room lighting Pistons that goes by the outside illuminance levels from Nest Weather, you can use any weather device for this purpose though. I created global variables for my lights on these pistons so you would have to change those of course if you were going to use these. I execute a separate piston to check if lights needs turned on because I found with the hue lighting, sending turn on commands when light is already turned on even with the command optimizations enabled always changed the color temperature for some reason, probably a bug with the DTH for the Hue bulbs that I use.

Visitor Mode we trigger manually in ST App or with an extra arrival sensor we have. Visitor’s mode also sets my Nest Thermostat to home mode as well.

Morning Lighting Piston:

Daylight Lighting Piston:

Late Afternoon & Evening Lighting Piston:

Visitor’s Mode Piston:

Switch On Check (Hue) Piston:

Set Color Temperature Piston:


I updated my above solar report piston to also report daily peak power (and change from previous day) and using replace() to strip the formatting and newlines from the piston for the notification rather the constructing the text again. It also stores power, energy, daily energy, and daily peak power into fuel streams:


@ahndee what device do you have connected to your solar panels to get this data?

I use a custom DTH I wrote: