CoRE - Get peer assistance here with setting up Pistons

Hello Phil,
Sorry…Really short answer is No…
Explanation is found at link below.

Also Web core is in beta stage if you’d like to try that

good luck

EDIT: I had to rebuild My CoRE Today …Not fun …luckily i had taken screen shots from within the Core Dashboard of the pistons a while back.

Hello All,
Here once more to ask for assistance.( And the community has always responded kindly …Thanks)

I have created a piston to sms me if a switch power meter reading either goes below 80 or above 100.
My issue is once its above 100 it continues to sms me and like wise when it s below 80 …which option or setting do i use to have it only sms me once per action?

For example if the power meter reads above 100 sms me but do not continue to do so or only do it once?

Any help is appreciated

Look for the option that says only execute on piston state change.


Still struggling with my self-locking front door. My door has a contact sensor and an electronic lock. I want the door to be able to lock itself if (1) the door unlocks and is unopened for 5 minutes, and (2) if the door is opened and closes - after waiting 5 minutes. If the door is opened, I want the all timers to stop - only to restart after the door closes.

While I have the formula working well under most circumstances, if the door is unlocked and opened, but not closed, the lock timer associated with the “unlocked” condition keeps running (the one that reads 2:59 in the photo). Once that timer runs out, the door locks (with the door open). If the door is closed before the “unlocked” timer runs out, the BUT IF section appropriately takes over and replaces the “unlocked” timer.

I have tried having the “unlocked” action cancel on condition or piston state change, but it seems that once the timer starts under that section, the timer is locked - unless the other (BUT IF) section of the piston takes over.


This is what I have for auto-lock, see if you can pattern from it.

Hey Folks, I have been getting along nicely with CORE for a while now… but, for some reason, my return home just isn’t functioning now that I moved them into one master group. I have the ST app perform im back as for some reason, when using iphones its better… and I thought i had this down… but no!?

Just FYI, the Energy Alerts stock SmartThings smartapp can do this for you.

Much thanks!
I cant believe i missed that.
I was trying all the Task Cancellation Policies to no avail.

Nesmo much thanks for the FYI.
I just tried it , it works well.
I figured I would just complicate my life .with Core.
Next time I will seriously look at the simple stuff first

1 Like

I find that sometimes I have a larger number of actions in a piston. I then find I missed something and want to insert an action or change the order of the actions. Is this possible?

No, not in CoRE. webCoRE addresses that issue but it’s still in alpha.

CoRE is brilliant and will allow you to add more conditions if you ever want them. Just wanted to make you aware of the energy app for your specific use case.

I have been struggling with this logic of a piston and how to implement it. So I have 5 contacts outside the parameter of my house. I would like to be alerted if two of those contacts are tripped withing a 10 minutes and it can’t be the same contact in a row. I guess a case statement would be good if we could use them but even that not sure how I would implement that either. Anyone have any ideas? Now I was thinking global statements but I think that I would have to implement 5 different pistons?

I’m having trouble with a piston that uses a temperature sensor I just received. The goal is to have the fire place turn on in the morning when a certain motion sensor activates but only if the temperature sensor reads less than a certain value. I’ve tested it at several temperatures and dropped it as low as 50 degrees which will never be the case yet the fire still turns on. What am I doing wrong?

The flag is there so that it only happens once per day. There’s probably an easier way to do it but it works for me.

See if this makes sense… latching piston type, untested and may have bugs lol.

any of c1, c2, c3, c4 or c5 changes to open
variable cTripped = true
variable $currentEventDevice != cDevice
  Sound the alarm
  set boolean variable cTripped = false  

but if
any of c1, c2, c3, c4 or c5 changes to open
variable cTripped = false
  set boolean variable cTripped = true
  set string variable cDevice =  $currentEventDevice
  wait 10 mins
  set boolean variable cTripped = false

i think that will work. I will give it a shot

Hello Cleanest Buffalo,
Im not an expert here. i ran into this with a similar situation turning on some lights with motion and setting variables.
It seems the variable fire flag is being skipped. What i did and it worked for me at least, is run the piston once with out the first variable under iF block…then put the variable condition back in… Variable has to be present for it to work.

Also just noticed look at the variable names in the then block its {fire flag} in the If block its {fire_flag}. two have spaces the other has an underscore.

these are my 2 cents
Hope they help

so it kind of works. however if the same contact hits twice it it sends the alarm. I want to make sure that the device only hits one. those contacts are actually Dakota motion sensors hooked to a contact. so if someone stands in front of it it will hit…

edited. my bad i picked is instead of is not.

1 Like

I’m having trouble getting a piston to set the color temperature on a couple of colored bulbs (Osram Lightify RGBW). If I create a ‘Do’ piston and manually trigger it using a ‘Tap’ on the dashboard, it works fine (meaning the bulbs change to 2703k and the IDE logs show the piston setting the temp to 2703). But if I trigger a different piston using the same command, it never sets the color temperature (the bulbs stay on whatever color they were last set to).

First off, here’s the “manual” piston I used for testing (which properly sets the color temperature):

Next up is the broken piston. Everything in this piston works except for setting the color temperature.

Any tips on why this works in one piston but not in the other? I’m still pretty new to Core.

Might be network flooding? Is it always not working? Consistently? Try disabling command optimizations (it won’t set the temp again if it already is what you want it). Any logs from the non-working piston?