Reliable Presence SmartApp

Try my modified device type for St presence
Sensor that stops the case you describe and I have neverr had
An issue since I started using it.

This may be a stupid question, but how do I install a simulated presence sensor?

Not stupid at all.

Login to the IDE https://graph.api.smartthings.com/
Click ‘My Devices’ at the top
Click "+New Device"
Fill out the Form (I use the same name for Name and Label but you don’t have to)
For ‘Device Network ID’ come up with some unique ID, it can be anything but it can’t match an existing ID.
You can leave ‘Zigbee ID’ blank
For type choose "Simulated Presence Sensor"
Choose the location and hub
Group cannot be set here. You will have to do that in the mobile app.
Click 'Create’
Go to the mobile app Click ‘Marketplace’,'Things’
Click the new device, configure it.
It will now show up as a normal device for you to use.

2 Likes

Good idea and great info here. This might be a little OT, but…

What does everyone recommend for physical presence sensors? Because it’s cheap (i.e. free), the only thing I’m using is my Android ST app. I gather from this thread that the Life360 app is a way to extend the phone’s robustness. Are there other ways to increase reliability, perhaps IFTTT?

I use and really like the ST fob for kids backpacks, girlfriend’s purse (house “wakes” up and bumps heat/cool when anyone gets home) and cars.

It used to leave and come back on me, but I repositioned the hub and that went away. I find fob reliability is all about placement of your zigbee devices. Especially keep your hub away from your router!

IFTTT worked ok for me, but I think Life360 is better. It can be cranky to setup with ST, but once running, runs very reliably

Remember, anything that uses your phone location is only as reliable as your phone location is… so all solutions that use it (IFTTT, ST, Life360) will fail at the same time. So doubling up (and using this app) on them only helps if the app is the problem, it won’t help if your phone is a problem. Thus the fob helps.

It will listen to the last event it got. So if the phone leaves, the virtual sensor will be set to away. And is a perfect use case. The leaving was a trustworthy event, the phone left, therefore the person left.

I will say that the only thing this app can’t do is figure out when an event is “untrustworthy”. This app works best to fix problems where presence gets “sticky”. The most common reasons (and both have happened to me) are:

  1. You don’t change the battery in a fob, and it dies. This is my fault, but still a reality.
  2. Your phone location “sticks” or the app in the phone “sticks”. This has happened to me with ST, with IFTTT, and much less, but a time or two with Life360.

I made this app because Rule Manager (at the time, maybe not true anymore) wasn’t able to set presence. It could also do this handily with some smart rules. :smile:

Sadly it doesn’t do this. Maybe an option I could add. This app is more about being reactive.

I would suggest that if you have a presence sensor that says you are away/home without that actually happening, then it is untrustworthy, and shouldn’t be used at all. Even combining it with other sensors will make it a beast, because if you trust the other sensor, then why have the untrustworthy one. There has to be some level of trust that a sensor/device will act a certain way. My app trusts that the sensors are sticky/less responsive if they error at all. That is the most “handleable” of errors.

BTW, I suggest for app based presence, that you open the geofence. It allows the app to keep you home when you are home (phone locations wander), and it allows the house to prepare for your arrival quicker.

This is tough I know for city dwellers, or high density where you might spend time a block or two away. In those cases I highly recommend fobs.

Can someone help me out. I installed this program two days ago, I am using my wife’s phone and my phone as the presence sensor and the simulated presence sensor. Today and yesterday I noticed that when I leave the house but she is still home that it changes the simulated presence sensor to Not Present.

That’s how it works. The simulated presence sensor is meant to be one person, or one object.

The sensors you group to set that, should be all for that one person.

So for instance, my daughter has a phone and a backback. I have Life360 on the phone, and a fob in the backpack. If she leaves for school without her phone, the backpack will set her to away, and set her arrival. If she leaves the house for her friends on the weekend with her phone, but not her backpack, her phone sets her away and then back again.

Make sense?

It does. So if I am trying to do this in IFTTT how would you do this? How would I combine to make a presence sensor since they only take one?

So I know one of your inputs is IFTTT. Not sure what the other is, SmartThings app on the same phone?

I can answer for IFTTT. Use the instructions in threads on this community. This should result in a virtual presence device that updates based on the phone with the app being in or outside the geofence. Use that as input 1.

Input 2, use whatever presence you want. Same for input 3, 4 or more if you want more devices to inspire arrive/leave.

Output is a virtual presence that is different from the input devices, it’s only function is to group the others.

Hi Brian. I just saw this and am very excited about the potential. I just installed it last night and this morning when I left the house it triggered as away (I knew this because I have a IFTTT trigger that fired which uses Reliable Presence as the trigger) even though my wife was still at home (and her phone registered as home in ST).

Should RP work in this scenario? Thanks!

Screenshot of your RP setup? I don’t understand your setup.

Here you go. It wasn’t clear how I should use “Set for specific mode(s)” so I left that blank. Should I fill in something there? I just wanted to use this as a trigger for IFTTT, so I didn’t think the mode had any bearing.

So the goal is for this simulated presence sensor to be active if either myself or my wife (or both) are present, and only be inactive if we’re both gone.

The way yours is setup, if either phone leaves, the simulated sensor will leave. If either comes back, the simulated sensor will be back.

What are you trying to accomplish? The app is meant to combine two sensors on the same person into one more reliable person. For instance, at home I have:

Presence Sensors
Jane’s Phone
Jane’s Backpack

Simulated Presence Sensor
Jane

So when Jane takes her phone or backpack, it sets her away, and when she comes back with whichever she took, it sets her home. Meant to work this way, and has worked perfectly.

Also if she takes both, if one of them dies, Jane will still be set properly by the other.

Ah, I see. I misunderstood how it worked. My root problem is that I need to be able to trigger an Away setting on my Ecobee3 thermostat, but only want to do that when everyone has left the house. I’m using the code written by @StrykerSKS found here.

This code doesn’t have a way to trigger the Away or Home modes, so I have to come up with another creative way to do it, and one of the posters on that thread (@HLlalo here - looks like they misunderstood how this works as well) recommended your solution. Looks like it’s not going to work for my specific use case. It’s close, though.

Routines or Rule Manager will do what you want.

Thanks. Those won’t work in this case because the custom ecobee3 device code doesn’t include a hook to allow me to set Away or Home based on ecobee3 status. I’m hopeful the developer will eventually add that feature, but it’s not there, yet.

It looks like I will get my desired outcome simply by modifying the presenceHandler to the following:

def presenceHandler(evt) {
    setPresence()
}

Does that look right to you? I don’t have any experience in SmartThings or Groovy (until now). Thanks for your help.

As follow-up to this, it seems to be working exactly as expected now. Thanks for leading me in the right direction!