More On Presence Automation - ESPresence

It’s got to that time of year when the nights are drawing in and the central heating is back on. The shorter gloomier days also mean that the abundance of solar generation we had through the summer is over and my mind turns back to how to be as efficient as possible with what’s created.
Last year I discussed some of the automations I had created through Home Assistant to help reduce energy costs. The basic idea was to try to “turn down” electricity and gas usage in rooms that were not in use. This was achieved through a combination of motion sensors and examining light states. (No motion plus no lights on equals an empty room).
In general, this worked OK, but a few issues showed up :
- I enjoy watching a movie in a darker room - meaning only the side lights and not the main ones are on.
- The motion sensors are not great at detecting people sitting still.
Both have led to the occasional “power down” of everything in a room mid-movie or TV episode. It turns out the rest of the family is not as excited about saving a few kW as me under those circumstances.
Additionally, our cats are big enough to trigger motion alerts in certain rooms. In particular one likes to sit on a shelf near one of the motion sensors.
This solution doesn’t easily solve another problem around detecting if the entire house is empty. Knowing nobody is home can be handy beyond energy saving. Being able to trigger other automations can help with home security too.
Enter ESPresence. The ESPresence software can run on cheap ESP32 devices.
ESPresence monitors Bluetooth Low Energy (BLE) devices and provides an estimated distance between the device and the board. You can filter for specific devices and control the maximum distance that the devices will report etc.
I’ve used ESP32-WROOM CP2104 boards from AliExpress at a cost of about £2.50 each. I’ve 3D printed some small cases to contain them and they sip a tiny amount of electricity. Installing the software is trivial on the devices and they connect to wifi. I’ll cover the installation /configuration in Home Assistant in a future post.
Monitoring via BLE is a huge advantage over the existing process I have. All modern phones can be tracked via BLE along with devices like Apple Watches/Whoop bands etc. with no additional software required. The watch-based solutions are slightly better than via phones as folks will occasionally leave phones in rooms where they are not present.
By having an ESPresence device in the main areas of the house it becomes possible to count occupancy in any given room (or the entire house).
The model I used to print the case was ESP32 D1 Mini Case by Brian C Moses On Printables.