[APP][PRO] Smart Presence - Presence detection based on smartphones connected to your Wi-Fi

Smart Presence

  • Device Tracking: The app tracks devices by their IP address. You would need to set a static IP address for each device you want to track. This is necessary because if the device’s IP address changes (which can happen with DHCP), the app won’t be able to track it properly.
  • Port Scanning: The app checks whether the specified devices are reachable on the network by attempting to connect to a specified port. Closed ports are often used for this purpose. When a device is connected to Wi-Fi, the port, although closed, will respond in a certain way (usually by refusing the connection), indicating the device is present. If there’s no response (like the device is off or disconnected from Wi-Fi), it’s assumed to be away.

It’s important to note that the reliability of this method can vary based on several factors, like network configuration, device settings (some devices may turn off Wi-Fi to save power), and the accuracy of the IP address configuration. Additionally, with the increasing use of random MAC addresses by smartphones for privacy, tracking based on IP might be less reliable unless fixed IP addresses are assigned to devices.

Link to live version :fast_forward: app store.
Link to test version app store.
Link to the source.

Installing:

For adding a device, please follow these steps:

  1. Check the IP address of the smartphone. This can be done from the admin UI of the Wi-Fi router.
  2. Make a static reservation for the IP address. Also done from the admin UI of the Wi-Fi router.
  3. Add the device by entering a name, and the IP address of the smartphone. Check the ‘Is guest’ or ‘Is kid’ - checkboxes for guests or kids.

Ensure you do not use RANDOMIZED MAC when connecting your phone to your Wifi.(current defaults on Android phones)

Device: Smartphone

Triggers

  • A household member arrived / left
  • A kid (part of the household) arrived / left
  • A specific user arrived / left
  • A guest arrived / left
  • Someone arrived / left
  • The first household member arrived
  • The first kid arrived
  • The first guest arrived
  • The first person arrived
  • The last household member left
  • The last kid left
  • The last guest left
  • The last person left

Conditions

  • Household members home / No household members home
  • Kids at home / Kids not at home
  • Having guests / Not having guests
  • Someone is home / Nobody is home
  • A specific user is home / away

Acknowledgements:

  • The original ‘Smart Presence’ app created by Terry Hendrix, developed then for some time by Bjørnar Almli. Thank you guys ! :tophat:

Feedback:

Please report issues at the issues section on Github.

If you like the app, you can donate here to keep my ChatGPT running :wink: :robot:

Release Notes:

available as Changelog on Smart Presence | Homey

Recommended settings of devices :

Android

'Away Delay': '90 seconds',
'Normal Mode Check Interval': '15000 ms',
'Normal Mode Timeout': '2 seconds',
'Stress Period': '60 seconds',
'Stress Mode Check Interval': '2500 ms',
'Stress Host Timeout': '2 seconds'

iPhone

'Away Delay': '200 seconds',
'Normal Mode Check Interval': '15000 ms',
'Normal Mode Timeout': '2 seconds',
'Stress Period': '60 seconds',
'Stress Mode Check Interval': '2500 ms',
'Stress Host Timeout': '2 seconds'

(unfortunately have seen some strange behavior for iPhone, so try to increase AWAY delay even more in case you get false indication of presence)

Also please ensure Wifi Assist is turned off on iPhone !! - https://www.xda-developers.com/how-stop-iphone-switching-wi-fi-cellular/

Please note that application bugs / debug logs / should be communicated in English only. I do not respond to debug logs written in any other language. Also, I do not answer support queries - for those, we have this dedicated thread. Thank you for your understanding.*

Support the development

:heart: Community apps and appreciation

These Homey Community apps are developed and maintained in my spare time.

Did you know? In my experience maintaining community Homey apps, only a very small proportion of users choose to support their development financially—even when a new device integration or specific feature has been implemented at their request.

Contributions are never required, but they are a meaningful way to recognise the time invested in development, testing, compatibility updates and ongoing user support. If one of my apps has been useful to you, you can optionally show your appreciation here:

:heart: Send an optional thank-you via PayPal

A contribution does not unlock additional features or affect the support you receive. It is simply a way to say thank you.

My Homey apps

Smart Presence  | 72x72
Smart Presence
Wi-Fi presence detection
Xiaomi Mi Home | 72x72
Xiaomi Mi Home
Xiaomi Mi Home devices
Broadlink    | 72x72
Broadlink
IR, RF and smart devices
TP-Link KASA LAN |                     72x72
TP-Link KASA LAN
Local Kasa control
Yeelights LAN | 72x72
Yeelights LAN
Local Yeelight control
Xiaomi Miija | 72x72
Xiaomi Miija
Temperature and humidity sensors
Octoprint    |            72x72
Octoprint
Monitor your 3D printer
Virtual Radar | 72x72
Virtual Radar
ADS-B aircraft tracking
enigma2      | 72x72
enigma2
Control Enigma2 receivers

View all my Homey apps →

Love this! Do you have a download link? Btw the link to github leads to a 404 page

I’m waiting for the previous developer to transfer the app to my account, and then I will release a new version for you to test.

Hey @balmli, pleased that you are taking over the development of the app!

I use non-purpose Smart Presence to detect the general readiness of IP devices on the network with a Fritzbox. So analogous to the ubiquity function. Works very well.

Just as a hint for you that there is more potential in the app that can be expanded in the future :wink:

Very well ! Just put all your improvement suggestions here :slight_smile:

And don’t forget your PayPal donation link! :+1:t4:

Wow, this was fast :clap: now I’m just waiting for the download link :+1:

Now version 0.6.0 is ready for testing:

Please test :slight_smile:

  • That upgrading from 0.5.0 / 0.5.1 goes well
  • That the flows work as expected
  • That it works on your devices. I’ve only tested on iPhone.

Downloaded and it works on Android, thanks

Testing :slightly_smiling_face:

Working here, on my Android phone.

Thanks!

Tested on some devices like TV, printer and android. It works fine :+1::pray:

dear Balmli, thanks for quickly customizing the app. maybe you still have some time to adjust a few more apps haha. keep up the good work

I am using the app for a while now with good results, but since the update to 0.6.2 today it seems that my phone is not being noticed anymore on connecting to WiFi.

The flows I use work fine with the test button but when connecting/disconnecting from WiFi nothing happens anymore. My flows aren’t changed in any way and my IP address is still fixed and correct defined in the app config.

Is there something wrong with the update or do I need to reconfigure something? Please help, because I use smart presences for controlling my lighting every evening! Now it just stays dark :slight_smile:

Hi,

Have you checked the default Away delay in adv. settings?

It’s 900 seconds / 15 minutes.

If you still have problems, please press the «Create diagnostics report» - button from App-settings, and I might see what’s wrong

Thanks for the quick reply!

And yes, delay is 900s (unchanged after update of the app).
I will try to remove and add the flows and see if that makes a difference. If not I will send a diagnostic report to you.

Greets,

Bart

Same here. Not detecting my phone anymore since the update to 0.6.2. Rebooted Homey w/o succes. Is there a fix for this?

Hi all, thanks for reporting!

Yes, there’s a bug in 0.6.2 for existing users. Install v. 0.6.3 please, just released to test.

Or you can wait for Athom to approve it.

Thanks! v 0.6.3 is OK!

Hey all,
could someone please share a flow for leaving home (A household member left)?
Which variable I have to use in the „And…“ section?

Thanks in advance!