Welcome Home Piston - not working?

So I made a “Welcome Home” piston based on another thread I saw on here. Seems simple enough, but it NEVER triggers!!
I am checking in the SmartThings IDE and my phone is correctly changing itself from “present” and “not present” when I leave the house.

“Garage Entry Door” = this is the door that I open to get into the house from the garage.

Am I missing something?

Change the Garage Entry Door trigger to “Changes To Open”. In your piston its looking for the door to be already open and then compare that to you not being present for at least an hour which will never happen unless you forget to close the door when you leave :slight_smile:

Possibly. The ‘was not present for at least 1 hour’ can only be true if the presence is still ‘not present’, or the piston has fired to handle the change to ‘present’ and so the list of past states hasn’t been updated yet.

The piston is going to fire on any change to the contact or the presence. If the contact changes to open before the presence changes the piston looks like it ought to work. If the presence changes before the contact opens it won’t do anything.

Tried that, didn’t seem to do anything.
I noticed my Presence updates to “Present” when I am driving down the street towards my house. Then my garage door opens up and the “entry door” opens. I want her to speak then.

That’s exactly what happens. My presence changes to “present” then I the “entry door” opens a few mins later once I pull into my garage and go into my house.

So the door opening should be the trigger with you being present as the condition. Your status changing to present is not the trigger since it appears to do that before you physically arrive. The issue is that in this case it would trigger every time that door opens while you are home since you would be present at home obviously. The answer to that is to add a 3rd condition and for the piston to only proceed if previous presence was away. Not sure how your presence setup works/reports but that’s how it does for me. Try something like this;

IF Door changes to open
And “XYZ” is present
And “XYZ” presence was away
Do Speak