Since there’s been no discussion of the new Sonoff SNZB-06P in the OH community, I thought I’d share my experience as I set up a couple of them.
The first thing to know is that it’s cheap. Sonoff sells them through Walmart Canada’s website, and a three pack is less than CAD$50.
It’s a surprisingly tiny little thing and feels better-built than Sonoff’s battery-powered sensors. I like the magnetic base, which allows the sensor to rotate freely and can be mounted magnetically, with screws, or with an included 3M sticker.
The SNZB-06P comes with a long USB-C cable and only needs 5V/1A, so any old USB adapter should be sufficient. Within a minute of plugging it in, I had it joined to my Zigbee2MQTT network. It also functions as a router to improve a Zigbee mesh network.
As far as detection goes, it feels as fast as a PIR motion sensor. The sensitivity range can be set to 2.5m, 3.5m, or 4m by double-pressing the sensor’s button.
When occupancy is detected, the sensor also reports dim/bright
, so that you can trigger a rule on occupancy and light level. I wish it reported actual lux levels continuously, but in most cases this would be sufficient.
Note that you need to be on Zigbee2mqtt v1.35.2 to access light levels (and get a few fixes). You can see all of the Z2M settings on their SNZB-06P page.
The challenge is going to be finding the right places to put the sensors, because they can see through non-metal objects (e.g. walls), and will pick up anything that moves (e.g. fans, curtains, pets). Unlike a PIR sensor, you can’t strategically block a radar-based presence sensor with furniture.
Questions? Let me know if there are any scenarios you’d like me to test.
Update #1
I placed a sensor on my dresser, pointing toward my bed. When I laid down, I was in line with the sensor with my feet closest to it and my head farthest away. This was asking a lot, because I presented almost no cross-section of my body to it. I was just curious if it was sensitive enough to pick me up based on just my breathing. Answer: it is not. I was practically invisible to it.
I think this is a good thing. If it were too sensitive, there would be a lot of false positives.
I then moved the sensor up over the door next to my dresser, so that it could see more me. This worked very well, and may end up being its permanent home. The included 6ft USB cable is just long enough to reach from the outlet next to the door.
Other thoughts:
- The 2.5m setting seems like less than 2.5m. I need to do more range tests.
- If I’m really close, it can pick me up from beside or even slightly behind it. For example, if I walk through the door it’s mounted above, it finds me immediately.
- I really wish it also had temperature and humidity sensors. I’d pay more for those to be included.
Update #2
I just discovered that the magnetic base is strong enough to hold the sensor to a drywall screw. So if you know where the studs are in your wall, you can just run the sensor up the wall until you find a screw.
I don’t love that the USB-C cable sticks right out the side of the body. I guess that’s necessary so that you can angle the sensor on the base, but it means that there’s no way to hide the cable.
Update #3
Building on my earlier observation, I’ve determined that Sonoff has set a reasonably high threshold for changing from clear
to occupied
, and a lower threshold for maintaining the occupied
state. I tested this by throwing a series of increasingly larger objects in front of the sensor (onto my bed).
- Things that didn’t trigger it: my phone, my wallet, a glove, a small Amazon box
- Things that did trigger it: a slightly bigger Amazon box, a baseball cap, a sweater
It would be even better if the thresholds were adjustable, so that you could adjust it to ignore small dogs and cats.
Update #4
After numerous tests, I’ve settled on using the SNZP-06P in combination with the existing IR motion sensor I already had in my bedroom (in a TP-Link Kasa lightswitch). The IR sensor turns on lights when there’s motion, and the SNZP-06P turns them off when I leave the room.
The difficulty is that you want the presence sensor to be very sensitive when someone’s in the room (so that the lights don’t turn off), and less sensitive when no one’s in the room. As noted in Update #3, I think Sonoff tried to do this, but the threshold to trigger occupancy is still too low. If Sonoff is reading this, please make that an adjustable setting!
I suspect that I’ll have to tweak some more in the summer when my bedroom fan is running most of the day, but that’s an issue for Future Russ.
Update #5
These sensors have worked pretty well for me so far, but there have been a couple of times when one of them has gotten stuck in the Occupied
state. The only way I can figure out to reset it is to change the timeout in Zigbee2mqtt. It’s not a big deal, but a bit of a concern.