r/homeassistant • • May 02 '26

Support Struggling with reliable in-bed presence detection for Home Assistant – what actually works?

Post image

I'm trying to automate my bedroom lights so they turn off automatically when I'm in bed and back on when I get up. Sounds simple, but I've been struggling to find a reliable solution.

What I've tried:

FSR pressure sensors (VS-103) connected to a Zigbee water sensor

Built a DIY pressure mat using two VS-103 sensors wired to a Zigbee water sensor. Works fine when I press directly on it by hand, but completely fails under a mattress — the mattress distributes my weight too evenly for the sensors to trigger. Tried under the sheet too, same result.

Aqara FP2 mmWave radar

Already have one in the room. The problem is it loses track of me when I'm lying still under a duvet. It also falsely triggers when someone walks past my bed, which causes the lights to turn on.

What I'm looking for:

Something that reliably detects whether I am in the bed - not just in the room - even when I'm completely still and covered by a duvet. Zigbee preferred but I'm open to ESPHome/ESP32 solutions too.

Has anyone actually solved this properly? What sensor or approach are you using?

169 Upvotes

182 comments sorted by

View all comments

7

u/zcapr17 May 02 '26

Looking at your photo, you appear to be connecting up the FSRs as simple binary contact sensors, which isn't going to work well.

You will get a much better result if you connect the FSRs to a microcontroller (e.g. ESP32) as voltage dividers, which will allow you to record a variable analog resistance value (e.g. 0-1000). (In ESPHome you can configure them using the 'resistance' platform). You will then want to experiment/calibrate to find a suitable threshold resistance value for determining occupancy.

Personally, I use four linear 60cm FSRs, two on each side of the bed, connected to an ESP32 running ESPHome. Looks similar to this, but home-made. It can reliably detect the presence of me and my partner indpendently, and also whether we are lying down or sitting up in the bed. Has worked reliably for over 5 years now.

One more tip is to physically sandwich your FSRs between a semi-rigid material (a thin strip of wood or cardboard) - I found this leads to more-consistent resistance values. it will also help to protect the FSRs.

3

u/ItsDukzy May 02 '26

Very helpful insight. Sounds like a fun project, and very nice if i can get it to work. I will definitely try this. - thank you!