That is almost definitely the problem.
But the term is subnet. If Hubitat is on a different subnet than your phone, then this driver won’t work, nor will most (all?) of Hubitat’s LAN-based integrations.
Edit: and judging by your last screenshot. The device you used to try to send a ping to the hub was on a third subnet. Look at the IP address after “from” in the log output.
That was it!!! My home internet comes to the ISP router(from Bell), and then i connected google mesh router to the Bell router. Hubitat remained connected by wire to the ISP router and hence was on different subnet.
Just moved Hubitat to the google mesh router, and it is able to ping the phone...and the device has immediately switched to 'present' ![]()
Thanks everybody for pitching in with suggestions!! This is EXACTLY why I love Hubitat... for a very active, helpful community.
By using a router connected to your ISP router, you’ve created a situation called “double NAT,” and there at least a few reasons why it can cause issues with not just your Hubitat hub, but also other devices on your LAN.
You should consider putting your ISP router into something called “bridge mode.”
Thank you for pointing that out!! For a different issue, i had contacted google support, and they did mention that I should remove my 'double nat' situation, but I was too lazy to attempt it. Looks like it is high time now and i will look into it.
Thank you for this app. It seems to work really well on my Samsung S22+
![]()
I've been using this for over a year now, thanks for developing it.
In the last couple days my iPhone started constantly toggling between present and not present. The phone is not losing wifi connection though as far as I can tell. iPhone 15 pro max running IOS 18.1.1. I am using the "fixed" private address setting and an assigned IP from my routers DHCP so the mac address and IP are never changing. That's how it's been set up for months.
Any ideas as to what is happening?
I've also been seeing the issue of iphone not being consistently "present" via ip address. (Extra interesting when "welcome home" turns on lights and phone "arrives" at 4am...) I also have private wifi addr turned off.
From experimenting, it looks like the latest iOS (18.2) is being more stingy about responding to the http query being used in any way, when the phone is not on and in use. If you set the timeout time to 1 for the device detection in Hubitat, it will quickly go away once the screen turns off on the iphone, and then come back periodically until the screen is back on the phone is in use.
Bumping timeout to 25 min has been working for me, but it sure would be nice to have something more reliable because that still seems a bit inconsistent.
This is expected behavior. iPhones drop WiFi when it is not "needed" and then turn it back on when it wants it. I use WiFi "present" to potentially trigger welcome - but only if no other devices were present. Also I do NOT use iPhone departure for anything.
I use Advanced Combiner for presence - then use the vPresence device to trigger actions - note WiFi departing is ignored. My welcome would not trigger at 4am because the vPresence device would already be present.
Thanks for the pointer to Advanced Combiner - I'll take a look at that! (And a few of the other things mentioned in that rule.)
That said, the behavior has changed with iOS 18.x or my new iPhone 16pro -- no changes to any rules or behaviors over the last year or more, but suddenly the concept of "present" has gone all out of whack.
The bump to 25 min timeout seemed to have mostly fixed any issues for me, but there's definitely some different behavior going on recently, either because iPhone 16 or iOS 18.
Taking a breath from that rabbithole... Have you looked into setting up an iBeacon to use with Geofency? Now that I know those are still things, I'll probably try to find and get one or more up to establish some zones around the home...
how can i dynamically change the timeout of the presence or hit the refresh button automatically?
Because of the problems described above I ended up with a long timeout for the presence, but in my scenario I can use a 2nd situation where someone would potentially leave home
So i want to make an automation that sounds like this, if front door opened and...() then change presence timeout to 1 minute(or hit the refresh button), wait 3 mins, change back timeout to a long timeout.
Basically I want to check fast for presence in a certain situation but then revert back to the usual longer timeout.
I can't seem to find a possibile way of doing this, I tried the refresh action and custom attribute with no luck, Can I do something about it without changes to the driver itself that allows this customization ?
It implements the refresh attribute. You should be able to trigger that from Rule Machine.
there is a specific refresh action on rule machine(where there is pooling and others) , I tried using it but it doesn't do anything, If i manually press the refresh button even on a long timeout, the presence is updated in few seconds , but doing it from the rule machine does nothing sadly
Oh, that's interesting. That seems like either a Rule Machine issue, or somehow I didn't implement the attribute enough for Rule Machine to pick up on. But it's a really simple attribute, so I don't know.
can you please fix it or add an attribute where we can change the timeout in rulemachine ?
FWIW, this works perfectly on our Pixel Android phones running Android 15 (Pixel 8 Pro and Pixel 7a). The WiFi does not sleep on either of them, so this never reports a false "gone".
Notes: Both have Data Saver off. One has Adaptive Connectively turned off, the other on.
Neither of our phones get low enough in power to turn on battery saver.
The "Keep Wi-Fi on during sleep" setting is removed from Pixel devices (for the last 4+ years) and defaults to on, so WiFi never goes off.
I've assigned my Apple watches a fixed IP and set them up just as I did the iphones. However, I'm not able to get them to report present.
Has anyone successfully added Apple Watches and gotten them to work correctly?
I have my Apple Watch setup with a fixed IP. When it connects to Wifi, it gets detected. However, it is often not connected to Wifi, so it is unfortunately not the best way to confirm my presence.
I'm using Combined Presence, so the disconnection is not an issue (same with the phones). I'm using it for the initial connection to trigger "arrived".
The watches just were not showing ONLINE for a whole week. Then suddenly, my wife's watch started showing online/offline events this morning. Mine still has not shown an event since setting it up on Feb 1. ![]()



