I’m trying to implement a robust “vacancy” logic for entire areas or tags in cases where I do not have a reliable presence detection devices.
In a whole room I can have different devices producing either events or state change events.
The process to list them is quite cumbersome and I feel something is missing in home assistant. We cannot figure quickly which event is an event from a human or from something else (script, automation …)
From now I am listing all events which are real human one and filter events so I know it is produce by human:
I have been usingTommy recently. It works well. It is quick way to setup almost mww quality sensor that covers large areas. I recently removed from my devices as it was not compatible with latest version of esphome but he said he was looking into and he is responsive. If I add in future it will probably be separate from my Voice devices.
I currently do not have an opinion of this other than it does work as advertised. I was suprised and impressed.
It is not open source and I cannot see code.
Long term I expect I will stop using and move on but you never know.
EDIT espectre is a similar opensource project but Tommy look more polished/complete at the moment.
Hi everyone, I’m the creator of ESPectre, and I wanted to let you know that I’ve just released version 2.0.0, which addresses exactly this kind of use case!
The new version is a complete rewrite and is now fully based on ESPHome (the previous version used ESP-IDF), making it seamlessly integrated with Home Assistant.
Key features for vacancy detection:
Binary sensor that exposes IDLE/MOTION states - perfect for creating automations based on real human presence
Adjustable sensitivity threshold directly from Home Assistant - no need to reflash or reconfigure the device
Still completely open source
This should give you a much cleaner and more maintainable way to detect actual human activity in your rooms, without having to manually list and filter all possible input events.
The IDLE/MOTION detection works reliably across large areas and can be fine-tuned for different room types and sensitivity requirements directly through the HA interface.
To be honest, I don’t know if this is valid anymore. I used to use it for detecting user vs automation based events and it worked well. But that was some time ago. In any case the code is included if you want to give it a go. You’ll need to change the set_variable command to either a persistent notification or something else though. I left it in place for the sake of how it was coded.