[RELEASE] iPhone WiFi Presence Sensor



Yup! Definitely don't want to use this as a single point of data. I use it to augment other geofencing-based presence. The geofencing seems to work "fast" about 90% of the time, but what I'm going for is to have my iPhone connecting to the wifi fill in that last 10%.


Should be no surprise - works with a pixel 3! I've always thought that if deployed the right way, this would be my preferred method of presence detection. I'm sure I'm not the only one here with higher end/commercial network equipment at home. This is probably the most reliable method available.

I'll mull over this and will probably implement it this weekend :slight_smile: At the very least, to determine when someone comes home during the week.


Set this up yesterday with a 5 minute delay and also a couple of RM triggers to let me know it it goes not present/present.
From midnight to 6am it reported not present every hour and then present 6 minutes later.
Must be a settling on my phone somewhere for a quiet period or something. Need to do some searching.
I have Huawei Nova 2 plus.
Going to try my wife's S7 as well.


I set this up yesterday and I was getting notifications of present and then not present about every 8 minutes. Can someone tell me how you use this in conjunction with another presence sensor? Because when I incorporated it as a presence sensor along with my other one using Locative in my RM rules of being present or not it was telling me that I wasn't home and then home constantly even though I was home.


Depends on your rules.

If ensuring you are close to home you would want to use an AND...

If Locative AND WiFi Presence then ...

If at home and looking for general presence you want to use an OR...

If Locative OR WiFi Presence then ...

That is how I am using this currently. I have not converted my "guest" rules as of yet and will probably use a delayed/cancel pending rule to toggle a guest mode switch based on what I am seeing for timeouts here. Probably 10-15 minute cancel pending in a rule.


@pcgirl, please try this: https://community.hubitat.com/t/release-combined-presence/9186?u=jwetzel1492


Recorded offline times over the night on two phones on my network (iphone 7+ and 8+) just to see how long they would not reply when sleeping at max.

Neither of them were considered offline for more than 9 minutes max. I've set my offline timeout to 10 minutes and have a notification that will let me know if they go offline while sleeping but so far so good.

[RELEASE] Combined Presence

That's definitely one way to do it. I use it in combination with geofencing, but setting the timeout on this to a larger number and using it by itself would be great if your use case was:

  • You don't mind if it takes 10 minutes to detect that you've left the house
  • And you want the presence detection circle to be very tight. Just the radius of your wifi

That's definitely a valid use case I can imagine in a city. If I was just running automation on arrival, and I wanted a very tight radius.


Funny, my wife and I have Android Pixels. They were both rock solid yesterday and all of last night. Not a single drop off or false online/offline. Outstanding!

BUT, my daughters iPhone 6s is all over the place online/offline/online/offline ... Crazy!

Another win for this great ANDROID WiFi Presence Sensor! :grin::grin::grin::stuck_out_tongue_winking_eye:


Just on phones going OFFLINE/ONLINE/OFFLINE/ONLINE......
I just connected up my wifes S7 and it is showing the same.
I removed auto connection and password for 2G frequency and left it only as 5G.
I think it may be swapping channels. Not sure yet. Will update with my findings.


The ONLINE/OFFLINE/ONLINE thing is the phone trying to save battery. Unfortunately, the algorithms aren't published, so it's hard to predict, but the behavior seems to vary by model, OS, and apps installed and configured.


Yeah, I appreciate that. I have battery optimisation on both phones turned off so it shouldn't be dropping out but as you say, who knows!!!!! Great driver though. :smile:


This is really great!! My only need is for detection when I roll up in the driveway. So far it's 3 for 3 in unlocking the door when I was less than 50 feet from the house. This may turn out to be the answer to my presence issues. Thank you!


I'm going to use this to detect presence when returning home, but not quite ready to use it for arming. Our access point is dead reliable, but there's always the chance that it's down for longer than our presence timeout (currently set to 10 mins.) I tried pointing the virtual device to my access point, but that didn't work.

One way I thought to get around this would be to somehow check that the access point is accessible, and only arm if that's true. I'm not exactly sure how this would be done, but it doesn't have to be part of this app and could even try checking that some always-on device is accessible (e.g. Tablo)


I may have missed this. Anyone using IOS device?


Yes, my wife and I have iphones and this is working very well for us. So far not a single error in departure or arrival detection when being used in conjunction with "Locative" and Combined Presence by @jwetzel1492 It's great. :point_up_2:t4:


I was in RM earlier playing and ( getting fed up with life360 ) Joel thank you for sharing this, defo looks good and I will be trying it out over the next couple of days!


what does the runIn(2, refresh) do?


After 2 seconds, it calls the refresh() function one time.


Thanks for the fast response. So, in the code below:

runIn(2, refresh)

Is the refresh happening 2 seconds after the 1 minute or is there two refreshes?