Room Presence Detection Concept

Hi everyone, I wanted to share an exciting concept I’ve been working on for my home automation setup. The goal is to create a presence detection system that can reliably track and monitor my movements throughout the house. This would be super helpful for automating things like lighting, media, and security systems based on where I am in the house. Let me start by explaining why I think this is important. As my Home Assistant system has grown, I’ve added more sensors and devices, and I want to leverage them to create a more intuitive and seamless experience. For instance, being able to precisely determine my location within a room could allow for more accurate automation triggers, like turning on the lights when I enter the kitchen or pausing the TV when I leave the living room. So, how do I plan to achieve this? My idea is to use a combination of different sensors and devices, each with varying levels of reliability. I’ve categorized these into three groups: High, Medium, and Low. - High Reliability: Devices like my PC logged-in status, Bluetooth tracking of my phone and watch, and facial recognition. These provide a high confidence level that I’m present in a specific room. - Medium Reliability: Sensors like my TV, Nest Hub, and Xbox. While these indicate activity in the room, they aren’t as definitive since others in the household might occasionally use them. - Low Reliability: Basic sensors like motion detectors, door contacts, and light switches. These are more prone to false positives, especially with pets wandering around or accidental button presses. To turn this into a functional system, I’ve assigned a score to each category. High reliability devices get a score of 1000, Medium a score of 100, and Low a score of 1. By aggregating these scores, I can create a presence rating for each room. For example: - If the score is between 1000 and 3999, it means I’m definitely occupying the room. - If the score is between 100 and 499, it suggests I might be in the room. - If the score is between 1 and 99, it’s unclear if I’m present. This approach allows for a flexible and scalable system. I’m considering using Node-Red or some scripting to handle the logic, but I’d love to hear your thoughts on the best way to implement this. I’d also love to know if anyone else has tackled a similar project or has insights on improving this concept. Maybe there are more reliable sensors or methods I haven’t considered yet. Let me know what you think!