Using iPhone AND Presence senors to improve Triggers?


(Tom) #1

Continuing the discussion from Presence Detectors / Iphone as presence detectors:

First post…”think this is the right place”…sorry if not…

So I have a couple dozen devices and everything works well except two things so far…Nest and Arrival Sensors. Nest will probably be my next post because I’m close…but it seems everyone finds arrival sensors flaky. I find the same…

-they come and go when they actually never left…since I have 3 vehicles anyone of them could skip a heartbeat and my garage opens…doors unlock…and no one’s even home.
-if I use my iphone…even w/ the smallest geo fence…if I stop at my mailbox down the street my garage door will open…doors unlock etc when I’m not even there to see it

Does anybody have a way that I could set a larger Geo fence so that part would actually have a chance to trigger, and then after that triggered if an Aeon presence sensor showed up within “X” minutes after the iphone came inside the geo fence then that could trigger my routines I want to happen on arrival?

Once that time period triggered by entering my geo fence expired any “flakey” arrival of the Aeon presence sensor would be ignored.
I’m not 100% sure this would function well, but it would reduce the chance of false alarms/triggers since it would not just depend on one flakey device but two.

SO…In total I’d like to be able to…

If mode is not equal to “Y” (Home/Night/etc)
And
A specific iphone enters the geo fence
Then
ONLY Within the next “X” minutes if a specific presence sensors arrives Smarthings triggers a specific routine


#2

Presence continues to be one of those things that everyone would like and no one has really solved yet. you will find a lot of discussion forums about different ways that people have approached it.

Right now there are basically two different classes of devices.

Class 1: GPS

GPS-based devices use the tracking facility that’s built into your phone. This has a minimum radius of about 500 feet. However, there can be some flakiness because it’s based on the last cell tower that you connected to and there can be a balance affect where it’s going back-and-forth between two different cell towers which results in reports of you moving rapidly back-and-forth between them when you aren’t, really. So a lot depends on exactly where your home is compared to the nearest cell tower. If you happen to be just about equally distant from two or even three towers this can cause more problems then if you’re just close to one. This is one reason that phone based geo presence may work great for one person but not work for another.

class 2: local connection via zigbee, Bluetooth, or Wifi

The second class is based on devices that connect to something that is physically located in your own home. These are much more precise, but generally have a much narrower radius. Bluetooth devices like I beacons have a radius of about 30 feet maximum, but can also be set much smaller, even to within a few inches. Zigbee devices, like the SmartThings arrival sensor, have a non-adjustable radius of about 50 feet. Some people use Wi-Fi which has a non-adjustable radius of about 150 to 250 feet.

You mentioned an “Aeon presence sensor.” I’m not familiar with this device, and to be honest I’d be very surprised if Aeon made a presence sensor. Aeon makes zwave devices, not Zigbee, and for technical reasons zwave is not typically used for presence sensors. By any chance did you mean the SmartThings branded presence sensor instead? Or the iris branded presence sensor (which does not work as a presence sensor with SmartThings).

multiple device Approaches

I need presence detected within a very specific range because of what I call the bus stop problem. I use a wheelchair. It can take the bus driver several minutes to unload me at the bus stop. For that reason, I don’t want detection to kick in too early, as that would cause my door to unlock while I was still on the bus.

I ended up using a combination of a Bluetooth I beacon and another device, in my case a zigbee contact sensor on my front gate. The front gate device sets my house into coming home mode. Then when I get to the base of the wheelchair ramp at my front door, the IBeacon triggers the actual arrival events. The sequence keeps the arrival events from being triggered as I leave the house. There is a thread discussing this and some other possibilities.

The basic idea can be applied to many different kinds of devices from both class one and class two. You could definitely have your regular iPhone GPS presence act as the first detection and then use a class two device for the second.

Since you mentioned an iPhone, you do have an easy-to-use option which those using an android phone do not. There is a very nice third-party rules engine app for use with Smartthings called SmartRules. It cost about seven dollars in the App Store and there is a two dollar add-on that allows you to then Use Ibeacons as presence indicators with SmartThings. The developer @obycode , is a very active community member here. Check with him to make sure that the Beacon option is currently working, but I would definitely suggest looking into it.

http://smartrulesapp.com

Other community members have used other options, including wifi detection. Most of those projects require more technical skill. If you just search the forum for presence you should find a lot of them.


#3

It may even be possible to do things exactly as you described using the very popular rule machine smart app. It allows for delays that most of the other rules engine approaches don’t. And it’s free.

I am not as familiar with all the details of what it can do so I would ask your question again, at least the very last part of it, in the peer assistance thread for Rule machine and they should be able to tell you if it can be done. :sunglasses:


(Tom) #4

All great answers and many thanks!
…but still trying to figure out how to do this…

-iPhone enters geo fence it starts a timer for X minutes (probably 3)

-“IF and only IF” my Smarthings presence sensor arrives between the start and end of that of that timers active period expires run “this” routine.

Does anyone know of a way to do that with tools in place today?

« hide preview
saved


(Bruce) #5

That would be straight forward to do with Rule Machine.


(Bruce) #6

Here’s how to do it, using a Trigger, a Conditional Trigger, and a stand-alone set of Actions:

First Trigger:
Trigger Event: phone arrives
Actions: Rule Boolean false for second trigger, run Actions

Stand-Alone Actions:
Actions: Rule Boolean true for second trigger, delayed by 3 minutes

Second Conditional Trigger:
Trigger Event: presence sensor arrives
Condition: private Boolean false
Rule: private Boolean false
Actions for true: [whatever it is you want to trigger]

What this does is “arm” the second trigger with it’s private Boolean for a period of 3 minutes after the phone arrives. If the presence sensor arrives while it is armed, it fires whatever you want to have happen, but not otherwise.


(Tom) #7

Thanks! I get the logic flow…but have no idea how to implement it. I’m not really yet capable of coding. I’ve done a lot with C++ in the past, but haven’t looked into hacking out code for Smarthings yet.


(Bruce) #8

These are things you setup in the Rule Machine app. No coding needed. What I showed above were what you put into the app to get what you want. You just need to name each one, and put those trigger events, conditions, actions, etc. in. It’s all easy.

Go here: