I have been reading some posts about how to setup presence detection in a smart home environment and I always feel like the alternatives are insufficient.
Most approaches refer to the use of a set of triggers in order to identify whether someone is home or not. These triggers usually fall into 3 categories:
- Motion sensors (including cameras)
- Manual actions done by a user on the system, in a pre-defined time, such as turning on a light in the last 5 minutes.
- Personal mobile devices connected to the Wi-Fi router.
However, even when combined, I believe this approach has some deficiencies, such as:
- When the inhabitant(s) don’t move for a while (reading? Sleeping?).
- When the movement is outside the range of the sensors.
- When devices get disconnected from the network (airplane mode at night? Out of battery?).
I’ve been thinking that the question “Is there someone home?” (Regardless of whom) can be more accurately answered by using connected door locks.
It would work as follows:
- IF lock is manually engaged directly on the lock’s keypad (should be done by the last person to leave the house)THEN Occupancy turns OFF.
- IF Occupancy is OFF AND lock is disengaged in any way THEN Occupancy turns ON
- IF Occupancy is ON AND lock is engaged from the inside, automatically or digital medium: No change (Occupancy stays ON)
Requirements:
- The lock has a way to be manually engaged from outside.
- The lock can provide detailed information to OH on the way in which it was engaged/disengaged (manual outside, manual inside, app)
- Lock should only be manually engaged by the last person to leave the house
It’s far simpler than creating a rule to take into account all the sensors and items, the time when they were last activated or active, etc.
I’m aware this approach can’t answer the question “Who’s home?”, but the alternatives are not that accurate either.
I don’t currently own a connected lock, so I don’t know if it’s possible to know whether it was locked or unlocked using the passcode/keypad or not. As I think this would be needed in order for this method to work.
I tried to find the answers in the documentation of the Zwave binding, but since it’s general for all kind of Zwave devices, I didn’t find it.
I wonder what do those who have implemented some sort of presence detection think about this approach.
Related posts:
https://community.openhab.org/t/generic-presence-detection/
https://community.openhab.org/t/presence-tutorial-my-implementation/