Seriously I keep waiting for something good to show up but nothing fits the bill. I’m looking for ROOM presence detection. Not motion sensors that don’t detect you sitting on a couch. They’ve got to be better than that. Not Bluetooth beacons that are unreliable and require you to have your phone on you.
There’s got to be a sensors that can do this. Occupancy sensors. Anybody have any suggestions?
I use some Nut Mini for room presence detection together with some Pi Zero Ws distributed in the different rooms. This works now for around 2 years and it’s reliable as hell, the only time it failed me was when the battery died for the first time after 7 months, since then I proactively change them every 6 months. Currently I use it only to detect if we are home or not because I haven’t found a use case for room based presence detection that couldn’t be solved easier with other methods.
What is your use case or what is your end goal?
End goal is to have lights, TVs, climate controls, music, etc. automate based on room occupancy.
As of now I can reliably automate based on being home or away from home and to a degree which room I’m in with motion sensors but they just come up short.
I’ve considered load cells under the couch and bed but I keep dreaming of a better occupancy sensor of some kind.
Hello linkdevk, welcome to the forum. I just read your question and I found the question very interesting. Good presence detection is also important to me, which is why I have been looking for a good solution for a long time. I just discovered this here. Unfortunately I can not have any experience or information on the use and integration in HA, I do not know if an integration is possible! Have fun here in the forum and set up HA.
I’ve been using an amg8833 with great success.
Just want to point out a few things:
the FOV is just 55° on this one, there are other models though
It is an 8x8 grid. I’ve seen people scale it up with a cubic interpolation to 16x16 pixels and run blob detection to detect how many people there are, but I never understood the point of it and how you get more information by some interpolation on pixels. It also did not work that well for >2 people for me - but I only cared about the binary value of room occupation
as with all thermal cameras, the heat dissipation is with an e-function, so if you are in the room for a while, it can take 3-5min for the temperature to be below a threshold. but some smarter logic behind it solves this issue for me
I am running it on a pi.
you’ll have to DIY
While it seems silly, I do not like to have a camera pointing at me to run real person detection, but the small thermal camera is fine for me (and the GF)
I missed this reply, but just happened on this sensor yesterday. This looks really promising. I read that it works reliably up to 5m. Have you found this to be the case?
Also, any tutorials or places where I can get more information on how to do this?
Thanks, this is definitely the answer for room presence detection.
Not really, just a bit of python and you’re good to go! (the other docs I have found have been using some old library that was not working anymore)
All that’s necessary is described here
If you wanna do it on the pi as well, make sure to activate i2c in the raspi-config.
Once you’ve installed the library sudo pip3 install adafruit-circuitpython-amg88xx
you get via amg.pixels your 8x8 data. Then you can play around with it and test it out!
absolutely. I’ve read it was 7m, but I can verify that it detects me as soon as I enter the room from the other corner of where the sensor is, which is a bit more than 5m away
I also wanna point out if you happen to dine a hot meal and leave the room, the food is a potential case for detection, gotta think of how to avoid that if it bothers you (motion sensors, gradient detection and verifying it, other sources of occupancy in other rooms, … the possibilities are endless)
Since then I have changed my setup to an ESP32, so if you are more comfortable with C/C++ then this seems like a good option as well (installing the adafruit library made it plug and play as well)
I am communicating via MQTT (PubSubClient library on ESP32) with HA.
The first iteration was on a pi3 with only the amg8833, I (calibrated and) averaged the 8x8 pixels and set a threshold for a boolean. This works well, but needs to be re-calibrated regularly as the room temperature rises
The second iteration was on the esp32 including more sensors (especially the BME280) and did some flood fill for a blob detection kind of approach
As of now I am simply using the ESP32 to gather the data and publish them via MQTT and have the postprocessing and blob detection done on another hardware (just be aware that there is a size limit for MQTT messages on the ESP32, so you will have to split the array of 64 values into seperate messages)
Hey,
thanks for the suggestions!
I did, but still could not see my message being published, but might have done something wrong
Can you verify that a float, or rather char array, of 64*6 ("xx.xx ") can be sent with MQTT on the esp32? I’d love to try it again!
Edit:
I just tried it - I was overriding the #define before which did not work, but the setBufferSize did the trick - thank you for the hint!
I’ve seen it supports thermal sensor types like the AMG8833 as well, but never got around trying it in the end
But I have heard many good things about people using it with bluetooth!
Honestly though, this is more of a learning project for me, since many things (including the esp) are new to me
My current setup sends a batch of data to my NUC, storing data in a db in docker and running some neural network considering the extra sensors instead of a blob detection from the AMG8833 alone.
Overkill? most likely. Fun nevertheless
Nice thanks! Any experience with the thermal sensors? As I’m reading it is supposed to be the best solution for room presence detection as they can determine presence even when sitting still like on the couch watching a movie
Too bad. I’m a newbie and that sounds complicated! Where did you get the wisdom to set that up? Any info you written about it somewhere? Sounds interesting.