Hi all ![]()
I’d like to share a new Edge driver: WiFi Presence SD ![]()
![]()
It detects family members’ presence by checking whether their phone is connected to the home WiFi. No GPS, no app on the phone, no Tasker. It works great in apartments, where GPS geofencing is unreliable ![]()
Features
Runs 100% locally on the hub, no cloud ![]()
![]()
Works with any phone (Android
/ iPhone
)
Arrival detected in ~30 seconds ![]()
Supports multiple SSIDs on the same network (2.4G / 5G / extenders) ![]()
Built-in Learn mode: no need to find or type the phone’s IP ![]()
Standard presenceSensor, usable in Routines, Rules API, SharpTools ![]()
Installation
Enroll your hub in my channel and install WiFi Presence SD:
SmartThings. Add a little smartness to your things.
In the app: Add device → Scan nearby. A “WiFi Presence 1” device is created.
Rename it (e.g. “Dana’s phone”) ![]()
More family members: open any presence device → Settings → turn Add another phone ON, then OFF. A new device is created ![]()
Important: use a fixed MAC address on the phone
Samsung: WiFi →
next to the network → View more → MAC address type → Phone MAC
iPhone: WiFi → ⓘ next to the network → Private Wi-Fi Address → Off
Do this for every home network (SSID)
Learn the phone
Turn the phone’s WiFi OFF ![]()
In the device, turn Learn phone ON ![]()
Wait for “Turn WiFi ON now”, then turn WiFi on ![]()
When “Got .xxx” appears, switch to your next home network (if any) ![]()
Turn Learn phone OFF. Done! ![]()
The Learn status line guides you through each step, and Learned IPs shows what was learned (up to 6 addresses per phone).
Settings
Away after (minutes): delay before “Not present” (default 10, avoids false “away” while a phone sleeps)
IP labels: name each IP, e.g. 119=2.4G, 136=5G
Ignore IPs during Learn: other devices that join the network while learning
Clear learned IPs: start over
Add another phone: create a device for another family member
How it works
Every 30 seconds the hub tries a TCP connection to the phone’s learned IP(s). Any reply, even “connection refused”, means the phone is on the network. Learn mode scans the subnet with the phone’s WiFi off, then catches the new device that appears when WiFi comes back on.
Limitations: the phone must be on the same subnet as the hub. Some phones drop WiFi in deep sleep, which is why the away delay exists.
Links
Channel: SmartThings. Add a little smartness to your things.
Source & docs: SmartThings/drivers/wifi-presence-sd at main · dotanshai/SmartThings · GitHub
If you find it useful: https://buymeacoffee.com/dotan_shai
Feedback and questions are welcome ![]()
![]()
Some screenshot
-
Settings
-
1st use, no IP addresses.
Learn mode. Learn Phone turn ON, WiFi OFF. Device Learned all existing IP addresses and request to turn Wifi ON.
-
Learn mode : Learned in progress, got 3 Wifi networks
-
Learn Phone OFF , Wifi OFF,
Not present is shown after defined time
-
Present : Wifi is ON , Presence sensor showing Present







