FAQ: The Many Ways of Detecting Presence (2020)

Presence, regardless of the device you use, is one of those features that works great for some people, not at all for other people, and is randomly flaky for still others.

It’s very much affected by local conditions. So some people will find that phone presence works much better than the SmartThings-branded presence sensor. Other people will find the reverse. Still other people, myself included, find that they have to use a combination of two devices in order to get reliable presence indication.

So if this feature tends to work differently for different people, where do you start?

1. Using a Smart Phone as a Presence Indicator

Well, since most people who have SmartThings have a smart phone, it’s worth starting there.

This method has changed significantly in the change from the classic app to the new V3 app in late 2020. Most importantly is that the phone no longer shows up as a device for presence, instead, you just get to pick presence when you create an automation. The problem with that is there’s no longer a visual indicator of who is home and who is not.

You can get around that by using a virtual presence sensor (discussed later in this thread) and then using an automation to turn that on or off as you arrive and leave.

The other problem is that this method has been pretty flaky in October 2020, but you can certainly try it.

The following old FAQ runs through the the usual troubleshooting steps for phone based presence. The examples will be out of date, but the troubleshooting steps are the same.

1.b Life360

We should also note that some people find that the life 360 service is more reliable than the native SmartThings phone presence. This was officially supported in the classic app, but appears to have been dropped for the new app. However, you can still use it to turn on a virtual presence sensor using Ifttt.

In either case, your phone will have to have location services enabled, which generally means the phone must have a data plan and Internet access.

1.c SHARPTOOLS

If you have an android phone and you are willing to spend a total of about $10 for three separate paid apps, there is another alternative for presence detection using Sharptools and Tasker that is worth looking at:

1.d IFTTT

One more phone-based option for people who find life 360 too intrusive (because it would allow you to track them throughout the day) is just to use the regular phone geolocation with IFTTT.

Ifttt is free if you only create three rules with it, but there is a monthly fee if you need more than that.

1.e WEBCORE

Webcore, which is essentially a scripting language for SmartThings, also has its own phone-based presence detection separate from the official ST method, and some people find it more reliable.

Also, some specific models of android phones appear to kick the SmartThings mobile app out of background processing from time to time, which can affect Geopresence. Sometimes you can adjust this by changing the battery saving features, and sometimes you can’t. If presence is working fine for one family member but not for another, it may be the phone model. There has been some discussion of this in the forums:

2. SmartThings Brand Arrival Sensor and Tracking Device

The original “arrival sensor” is a Zigbee keyfob device. No subscription is required because the check-in’s are from the key fob to your hub. So it only detects you at a close range, about 50 feet from your hub.

It appears that this device no longer works with the new V3 app, although reports vary.

In 2018, smartthings released a $99 GPS-based tracker which has a $15 monthly fee. It works with the new V3 app, but only in the US. Because this uses GPS, the detection radius is much bigger than the original arrival sensor, about the same as Wi-Fi.

image

3. Other Key Fob Devices

Z wave isn’t typically suited for this use case because it doesn’t have the same kind of check in structure as zigbee. But if zigbee isn’t working for you, you can try either an NFC tag device or an Ibeacon. More about Ibeacons in the next section, but there is a Z wave pin pad which also works with an NFC key fob which is worth considering. It is available in both the US and the UK and some members are using it with SmartThings.

https://www.amazon.com/Zipato-wt-rfid-us-Keypad-Z-Wave-Reader/dp/B00KMU55TY

You will have to get the keytag quite close to the pin pad for it to work, but you can mount the key tag on a stroller or wheelchair, and it might be easier to use for a young child than the pin pad itself. You can also give the keyfob temporarily to guests or dog walkers.

4. More precise detection using two devices

And if you’re just curious about the two device method, here’s the thread on that. I should say first that I had a very specific use case I wanted to solve. I use a wheelchair, and I had problems where my presence would be detected while I was still on the bus waiting for the driver to unload me. So the timing was just really off. I didn’t want to be detected as arriving until I reach the bottom of the wheelchair ramp at my front door. So this is a very specific, quite small area. The two device method worked really well for me for this. Other people have used it just to improve reliability.

Ibeacons can be a really good choice for the two device method because you can set the detection range with some models:

There are even Ibeacons which can be worn as bracelets. They can’t connect directly to SmartThings, but you use the same methods at the link above to get integration.

5. Connected by August locks

When you use a “Connected by August” lock from Yale it has its own presence detection system which combines Bluetooth, WiFi, and GPS intended to unlock the lock as your smart phone gets quite close to it, within about 15 feet, but also not to mark you as “away” until you are at least 600 feet from the lock. For most people, this works really well to keep the lock from unlocking a second time after you are home.

So some people will be able to use the Connected by August for presence detection by having IFTTT turn on a specific virtual device when a specific person is detected as Home or Away by August.

This probably won’t work for opening the garage door because the detection range is too short. But it would work for many people for approaching the door with the lock.

It only works for people who are carrying a smartphone with the August app, though.

6. Facial Recognition Cameras

In the past, reliable facial recognition systems were very expensive. Beginning in 2016, there were some cameras starting to come on the market that were under $400, but most of these are only available for indoor use, and there have been some reliability issues. Still, although these devices are expensive, normally you would only need to get one and then teach it to recognize multiple faces, so the cost per person would be closer to some of the other approaches.

One to consider would be the Netatmo Welcome. The price has come down significantly to around $200, and it typically goes on sale a couple of times a year for even less.

https://www.amazon.com/Netatmo-Welcome-Security-Camera-Recognition/dp/B00X5X1XPU

There’s no direct integration with smartthings, but it does have a good IFTTT channel for indirect integration.

Because this is an indoor – only Camera, it won’t be useful for use cases like unlocking the door or opening the garage. But it could be used for changing comfort settings depending on who’s home once A specific person has entered the house. So you could use smartthings to make an announcement, change the thermostat, turn the television on to a specific channel, etc. depending on the other devices that you have When the welcome camera recognizes a specific household member.

People who don’t want to use geopresence to unlock the doors might combine the welcome camera with a smart lock with the keypad to provide customized experiences for different family members, for example.

Reviews are generally very good.

Another option to consider for outdoors would be the Nest Hello Doorbell, And there are some community members using its facial recognition for presence. It’s a little complicated, and you will have more options if you use an android phone, although it’s not impossible with an iPhone.

https://store.google.com/product/nest_hello_doorbell

The doorbell itself is good at recognizing individual faces that you have taught it to recognize. But the problem is the only thing it does is send you an email like “John has arrived.“ So then you have to have something capture that email and then react to it.

People with android phones can do this with Tasker and sharptools. A community member has posted a project report about that here:

Nest hello doorbell facial recognition unlock door

You could also do it with Ifttt, which is what iPhone users would have to do. That’s discussed briefly in the same thread.

The problem with this is it would be pretty easy to hack the email step, so not everyone will want to do it. But it is an option.

7. Build Your Own WiFi Detection

Some highly technical members have added their own detection systems based on their phones connected to their specific Wi-Fi. Again, people who did this were people who found that the more general solutions just weren’t accurate enough at their house. You can find a number of threads on this approach in the forums. But that’s more work than most people find necessary. You will find posts to different project reports on this method later in this thread. :sunglasses:

8. Use Homebridge to allow HomeKit Presence to trigger SmartThings events

While there is no direct SmartThings/HomeKit integration at the time of this writing, some community members with strong technical skills have set up a separate device as a server and run a hue bridge emulator called “homebridge.” This allows them to full HomeKit into thinking that non-HomeKit devices are actually Hue devices, which does allow some integration that way.

One community member has used this method to have HomeKit presence trigger smartthings activities.

9. MICROLOCATION

All of the above has to do with “Geopresence,” that is entering or leaving a house size (or larger) zone.

Once you get into home automation, many people get interested in “micro location” which is knowing when a specific person is in a specific room.

This is a lot trickier than you would think, in part because a “room” is defined by walls, and most of the radiofrequency protocols used for Geopresence go right through walls.

So unless you use three or four devices per room (which gets expensive) it can be really hard for a micro location system to know whether you’re really in the kitchen or in the hallway next door to the kitchen. Or even one floor up in the bedroom. And even then, current technologies require that the person carry something with them if you want to recognize individuals.

Everybody would like to see micro location, and there’s a lot of money being invested into it ( and a lot of bad engineering and slick marketing going into Indiegogo campaigns), but there’s no inexpensive answer yet.

You can do a lot with people counters like trip beams in doorways, but while those will tell you whether there is someone in a room, they won’t tell you whether a particular person is in that room.

Anyway, big issue, many people interested, no easy answers yet that don’t involve at least $300 of equipment per room. And there’s a big difference between knowing “someone is in the room” and knowing “Lisa is in the room.”

More discussion in the following thread:

25 Likes

Great summary!

For those interested in WiFi Presence detection (especially those with Asus routers), you should check out

I use both the Asus WiFi presence and a ST Presence sensor, then combine both into a virtual presence sensor using CoRE.

5 Likes

And for those with Android devices who like to tinker, here’s the instructions on using Tasker to detect your Wifi or Geopresence and update your presence in SmartThings:

8 Likes

Great post JD! Yet another WiFi presence option if you own a Google OnHub is to use IFTTT to trigger a virtual presence that has a switch capability.

2 Likes

Great point!

SmartThings is somewhat unusual in that it allows customers to create “virtual” devices. This is just a software entry in your account, but once you have it set up the system will treat it just like a physical switch. It will appear in the list of all your switches, smartapps and routines can turn it on and off, etc.

These can be particularly useful as an interface between SmartThings and another system, including IFTTT. By having activity on the other system (including echo, harmony, IFTTT, Tasker, etc.) turn on the virtual switch, you can then have that switch coming on trigger other events under SmartThings control.

This can be very useful for presence. Not only can you have an outside system turn presence “on”, you can just tap the device tile in the mobile app to turn presence for that particular device “off.”

For people who haven’t used custom code before, here’s the FAQ on that. It’s basically just getting someone else’s code and using a copy and paste to put it into your own account’s library.

And here is a specific device type handler that one community member coded that is for a virtual presence device that also has an on/off switch.

You don’t have to use a virtual presence device if you’re using a physical device like your smartphone or the SmartThings arrival sensor. But if you ever find yourself in a situation where you wish that an event on another system could act like a presence sensor in SmartThings, a virtual presence sensor with switch capability is usually the easiest way to go. :sunglasses:

1 Like

And another Wi-Fi presence project

Has anyone had success combining multiple presence sensors for a single user (ST App, WiFi, Tasker, etc) into a single virtual presence sensor? It seems like the “super presence sensor” would be more reliable for running routines versus having WiFI based presence sensors false triggering.

I have this set up for push notifications.
I also have other presence pistons for announcements etc.
Hope this helps.

1 Like

I had the same thought a while ago, but wasn’t sure how to execute it properly. My thought process (keep in mind that I was dropped on my head…repeatedly…as a child):

So, if I’m using two presence sensors; let’s say it’s my iPhone and a ST presence sensor. What happens if ST recognizes that I’ve left, but doesn’t recognize my phone as being gone too?

What happens if both of them are “stuck” in away or home mode?

In Bob’s example above, what I read is that all of his presence sensors have to be away in order to trigger the push notification. ST often thinks that I’ve not left the house, when in fact, I have.

I bought a ST presence sensor for Her Ladyship and disabled presence on her iPhone. My objective was to see if it would be more reliable, which it has when compared to my phone. However, I can’t get it to geofence to an appropriate distance from the house. Despite having a sizable swath around the house, she still needs to be sitting in the driveway for some amount of time before automation’s start to happen.

The SmartThings presence sensor is a zigbee device. Its range is only going to be about 40 feet. And it may take it up to 45 seconds to connect at that range. People often choose the fob instead of the phone because they don’t want their door unlocking while they’re still two blocks away. But it has a fixed range, you can’t change it one way or the other.

The geo-fence that you can change in the SmartThings mobile app only applies to the use of the phone as a presence sensor.

Well, that both explains and mirrors my experience.

A couple of nights ago I came home and sat in the driveway waiting for the garage door to open. After burning what felt like a 1/4 tank of gas, I gave up and opened the door myself using the manual opener.

After driving into the garage and manually closing the garage door, I walked into the house. About 3 minutes later I heard the “Beep, Beep, Beep” of the garage door opener and the garage door opened on its own.

It was at that point that I deleted all programs related to presence and opening the garage door.

2 Likes

Many people increase the speed of response of the fob by putting an additional zigbee repeater near the front side of the house. It could be upstairs at a clear glass window, it could be something in the garage itself. But it’s still a limited range. It’s just a little closer to the street.

In my own case, I wanted an even smaller range. So I ended up using an IBeacon so I could limit the detection zone just to the wheelchair ramp at my front door.

But different people have different requirements and the different devices have different features and you just have to find the match that works for you. :sunglasses:

Both of which I’ve done, but haven’t experienced an improvement.

What device did you use as the repeater?

Iris pocket plugs; both in the garage and in the office. The office is facing the street, and the plug-in is on the wall directly below the window facing the street.

Then it may just not work for your purposes. You could try a network heal. Put the presence sensor close to the repeater you want to use. Unplug the hub (including removing any batteries that has them). Leave everything else on power, but leave the hub off power for 15 minutes. Then when you put the hub back on power, The other devices will rebuild their neighbor tables, and the fob will try that repeater first next time. You may not see the difference until the next day, you can take a little while for the tables to rebuild. But it might be worth a try.

Thanks JD. Honestly, with everything else more or less working well at this time, I’m rather apprehensive about doing anything to the system that might (in my mind at least) make a dogs dinner of anything.

1 Like

Well my thought process was, as I heard someone else mention in another thread, “first past the post”. I don’t care which presence sensor triggers first. I just want it to trigger as soon as it detects I am near my home. Using CoRE I was thinking I could setup pistons to change the simulated master sensor to arrived when any of my individual presence sensors are detected as at home. The master sensor would only arrive once regardless of how many or how soon the remaining sensors arrive so this would prevent routines running multiple times due to multiple sensors arriving. I probably wouldn’t use all the others for departing since (although I do not have it full working yet) WiFi presence seems to have hours worth of delay before departing if relying on arp scans to detect presence. Presence sensors getting stuck is something I am too familiar with at this point, especially for Android devices. To alleviate this issue, and the annoyance of alarms when I leave guests at my house by themselves, I have already created a simulate presence sensor called guest, and using CoRE connected that to a simulated switch so I can quickly and easily disable auto-arming.

IFTTT, now has an Android connect to WiFi applet.

I use this to turn on a Virtual Presence Sensor that uses the Universal Virtual Device Type Handler (needs to be a Switch and Presence device).

That’s what I did here: Uses ST Phone Presence, IFTTT Android Location, and IFTTT WiFi to control a Virtual Presence Sensor.

5 Likes

I’m wondering, with the low price of Raspberry Pi, what the feasibility is of building something similar to the Asus router stuff specifically for Raspian. I’m actually running a VM server with a few Windows and Ubuntu VMs. I can see how having arp-scan for linux should be able to be run periodically with cron to look for specific physical addresses of devices and trigger presence in the same way that the Asus stuff does but I’m not skilled enough to translate from one platform to another. Anyone have the necessary skills or any advice?

3 Likes