Unified Presence is a presence solution that looks at combination of WiFi, Bluetooth or BLE signals to determine if a given person is present in a physical location.
This project consists of two pieces. A Python script with supporting shell script that nominally runs on a Raspberry Pi (tested on 4B and Pi Zero W). This script is configured with people, devices and device addresses to monitor for presence. One person may be associated with up to four devices. All the devices must be “out” for the person to be considered out. Any one device in and the person is considered in.
The second piece is a device handler for SmartThings that receives the information via a JSON file and marks the person’s presence and device status accordingly in SmartThings as shown below.
See the uploaded file Unified Presence V1.0 Installation Instructions.pdf for complete instructions.
GitHub Location - https://github.com/GaryMilne/SmartThingsUnifiedPresence
Note: I tried a lot of presence solutions but never found a solution that works most of the time including IFTTT, SmartThings App presence and Samsung Presence sensors. Using this solution I was able to use the devices we already have and supplement it with a $20 BLE 5.0 beacon in my wife’s car using 2xAAA for a solution more reliable than any single method.