CoRE - Get peer assistance here with setting up Pistons

I’m having trouble figuring out the On True Part
I’m selecting an Then-If Piston
First IF is Any Sensor
Then If is any phone present
Then I select Using Location then For first I select Wait
Then I set 5 minutes I cannot figure out where to add the Second area for Turn on virtual Switch. I initially added more actions, but of course that did not work it turned on the switch immediately
I think I have the “False” set up.

So my question is how do I set up the Action to take place after the 5 minute delay.

Thanks again

@dorigal

If you change your setup to how I mentioned then it will cancel if there is motion detected. It would look like this:

IF

Each of Dori’s iPhone, Noa’s iPhone or Ossi’s iPhone is not present

AND

Each of Family Room Motion Sensor, Kitchen Motion Sensor, and Living Room Motion Sensor is not active

AND

Smart Home Monitor is Disarmed

THEN

Using location… (Task Cancelation Policy ‘Cancel on condition or piston state change’)
Wait 10 minutes
Set location mode to ‘Away’
Set SHM alarm to ‘Armed/Away’

What this will do is check if anyone is home AND if all motion sensors are not active AND that your SHM is disarmed and then it will start a timer for 10 minutes. If any of those 3 things change in that 10 minute window then the tasks will be canceled (IE it wont arm and set the mode away).

As you currently have it you will never see success because these conditions are fighting each other. It has been explained more elegantly above but I am saving you the trouble of finding it.

@Nezmo No you will not have to redo anything when you update this.

@I2eflux this is for you

@ady624 Ok please be easy on me but if I want to do something like call for example a variable in a piston

$DiningRoomDevices or $AllMotionSensors

Where do I create the variable list of names of said devices? And I assume I just use the name of the device that I set up when the device was added to SmartThings?

Ideally I could set these globally i.e all at once and call them in any piston I would like. This would cut down on the number of my pistons significantly.

Thanks in advance.
Automation Hoarder

Are you looking to set a variable that contains all your motion sensors or devices in a specific room and then use this variable in a piston condition?

Example:

(What works)

If
any kitchen motion, living room motion, bedroom motion IS active
THEN
Turn on some light

(what you want? I think)

if
$allMotionSensors is active
THEN
Turn on some light

That is my interpretation of what you are asking and my answer to that is no you can not do that.

Darn… yes thats what i want to do

itd be nice if we could do that… store items in a datagroup and then call them in a piston

Feature request /\

If you haven’t heard already then there is a new version of CoRE in the works. It will be web based so we will be able to work from a computer to input and manipulate all our pistons. Unfortunately we will have to redo them all. Also this will probably still not be a possibility but I may be wrong in that aspect. You can currently play around with the alpha version but just know it will not affect anything as it is still very young in development.

For the quickest way to play around with it then just add ady624/webCoRE/master to your ide github integration. Make sure you install and publish WebCoRE and WebCoRE piston. You need only install WebCoRE into your smartapps. Both need OAuth enabled. Then from ST open WebCoRE and follow the simple guide to set a password, add devices and then use live logging to catch the link and have fun playing around with it.

Thank you.

You need to put all the actions in the same “Using Location”. If it’s in different action they all fire at the same time. To do that don’t leave the Using Location, just add the wait and scroll down below that to add your Turn On. Check out the pic below.

Thanks. That’s where I was. The problem is that the tasks under add a task when location is selected does not have options for turning on and off items, or I’m missing it. I could create a routine that includes the Switch I guess. Just seems like and extra step that would be cool to avoid.

I guess I’m down to just figuring out how to turn on a Switch 5 minutes after someone arrives. Ha ha

I think this works ok.


Bob,

I’ll give this a try this morning. I’ll let you know.

You need expert mode enabled to see the ‘when true’ section.

Can you post ta screen cap of the piston from the dashboard?

Bob, what is the “Or If” statement that is covered in the screen shot by the black bar from your phone?

When I click Add a task I get the options you see in the screen capture. If I’m not doing “On location” then of course I do have device options.

Thanks Again

It is an or-if piston.
The screen shots overlap each other so there is only one or-if.

Sorry I was off. You need to change the “using location” in the THEN to the switch you want to use like you have in your ELSE statement, then add the Wait and On actions to that Switch.

Thanks, I think that’s it. So no need for “using location”
Here’s what I have
IF ANY Presence changes
ThenIF Any Presence is Present
Then Using Switch (Virtual Switch) > Wait 5 min > Turn on
Else Using Switch (virtual Switch) > Turn off

Thanks again for the help with this. Getting the delay to turn something on based on presence was a bit tricky, but I think there are other things I can do with this. :slight_smile: Appreciate the help

What does it mean if a piston doesn’t rebuild? When I click rebuilt nothing happens. I also get some error messages at times when I’m setting the times in a piston. Just says error occurred but it still works