Best mmWave Presence Sensors for Home Assistant

Intro

What’s up Smart Homers, my name’s Aaron. In this article I’m going to show you a ton of different mmWave presence sensors. I’ll show you some of the testing I’ve done, and tell you which ones are my favorites and which are my least favorites!

One of the first things people do when starting out with smart home tech is automate their lights. Typically they’ll use some sort of motion sensor combined with smart bulbs or smart switches. If you read my motion sensor comparison article, you’ll remember that I compared a TON of different PIR motion sensors, but they all had one problem: they couldn’t detect human presence. Instead, they work by detecting changes in Infrared Radiation, meaning there has to be significant movement in order for the sensor to pick up human activity.

Recently there’s been an abundance of sensors of a different style popping up called millimeter-wave (mmWave) sensors, or human presence sensors. Instead of passive infrared, these use mmWave radar to determine if there is human presence. These can pick up the most subtle of movements, as small has the movement caused by human breathing.

I bought 16 of these presence sensors, and I’ve tested each to see how they work. I’ll compare their prices and features, and then I’ll show how they work my smart home platform of choice, Home Assistant. If you don’t use Home Assistant, I can’t guarantee that these are gonna work for you.

Note: I’ve put affiliate links for each sensor in this article. Using these links helps out my work financially at no cost to you.

For all of these devices, I’ve tried to avoid those that rely on cloud connectivity, because those devices can stop working if the company hosting the cloud goes bust. Also, while a couple of the sensors will work on WiFi, some use Zigbee, which is a different wireless protocol and requires a special hub or radio set up to get them working.

Also, none of these devices are battery powered, because mmWave sensors are not passive like PIR sensors, and they use enough power where batteries are not practical.

In Home Assistant, I’ll be using Zigbee2MQTT to add these devices, as device support is much better for Z2M than ZHA, Home Assistant’s default integration for Zigbee devices. However, I will show what entities are exposed in ZHA so you can see that.

Tuya ZY-M100-S

The first one we’ll look at is the Tuya ZY-M100-S. This sensor has a nice, clean look, that I think can blend in well with the modern smart home. It has a white and grey aesthetic that reminds me of Aqara devices, but may be a little less polished. On the front you have an icon that indicates it’s a human presence sensor, and on the back you have some devices info and some ventilation holes. The front also has two holes, one for light level sensing, and one for an LED. The bottom edge has a pairing button and a USB-type-B port for powering it. It comes with the cable, but no adapter.

The seller that I bought this device from provided an adhesive stand to mount it to a wall or horizontal surface, but if you end up buying it from somewhere else, you can buy the stand separately on AliExpress for a dollar.

Pairing

To put this device into pairing mode you just plug in the USB cable and connect it to power. The red LED lights up and then goes out for a minute. Press and hold the pairing button for about 8 seconds until it flashes, and then it will blink repeatedly to let you know it’s in pairing mode. Once paired, the light will go out.

In Home Assistant you get Illuminance, Presence, and Target Distance sensors, but you also get options to adjust Radar Sensitivity, Minimum and Maximum detection ranges, detection delay, and fading time.

Features

Despite this being a fairly cheap sensor, it has quite a few adjustment options. Target distance tracking was not very accurate, so I wouldn’t rely on that data, but since it has the sensitivity and detection delay adjustments, it’s pretty easy to dial in for a living room sized room.

Tuya ZY-M100-L

This next one is very similar, except that it’s a ceiling mount unit rather than a wall or stand mount. It has a round, flat face, with a lip that extends wider than the body of the device. The front has two holes like the previous device, one for light level sensing, and one for the status LED.  The two orange flipper arms are spring-loaded, and the idea is that you use a hole-saw to cut a hole in your ceiling, fold the arms against the body, and pop it into the hole. The retaining arms will snap into place, holding it against the drywall, and the lip on the face will retain it from passing up into your ceiling. You need a 2” or 50mm diameter hole in your ceiling for this device.

On the back, you’ll also notice that this has two spring-terminals for Line and Neutral wires, because this device is powered by 80-250 Volts AC rather than 5V DC. It also has a paring button back there, as well as some device information.

Pairing

To get this thing working we need to connect power, and while this would typically be hard wired once installed in the ceiling, I’ll just test it by connecting it to a short electrical cord. This would be the same with residential wiring – to insert the wires you just depress the spring terminal, slide the wire in, and release. Do this for both the line and neutral wires, and then plug it in if you’re using a cord, or turn the breaker back on if you’re installing it in the ceiling. If you look at the side of the device you’ll see an LED flashing through the side wall, and that should indicate that it’s in pairing mode. If it doesn’t flash, hold the pairing button on the back until it does.

This device exposes the exact same things that the previous device did. In Home Assistant you get Illuminance, Presence, and Target Distance sensors; and options to adjust Radar Sensitivity, Miniumum and Maximum detection ranges, detection delay, and fading time.

Features

I really like the idea of a ceiling mounted sensor, and this one is pretty inconspicuous. With that style you really wouldn’t think target distance measurement would be very important, but this sensor had much better target accuracy than it’s wall-mounted brother!

ZG-205ZL

This next device takes things to another level in terms of features. It appears to be meant for use in a ceiling-mount application, but the feature that really stands out is its alarm capability. The device is puck-shaped, but it comes with a stand that can either be mounted with adhesive or screws. One thing I really like is that they provided an extra-long USB-type-B cable for the 5VDC that it requires, so you hopefully won’t need to buy a cable separately. It also comes with a reset pin tool because that’s how you put it into pairing mode. On the back of the device, you can see a bunch of speaker holes, because this device has a 120dB alarm! The alarm can be set to a couple different modes, where regular is a typical alarm sound, and the doorbell mode plays a tune. You can also see holes to attach the mount. On the edges of the puck, you can see a translucent ring, which actual has some LEDs behind it and will flash at different times. There are two holes on the front like we saw with the previous ones, at least one of them is for illuminance sensing. Overall, this device is a bit big, but to me it’s looks well designed, and I like the style.

Pairing

To get this device paired with Home Assistant, we just plug in the provided USB cable into power. When you do that, the LED ring round the edge of the device lights up white, but then goes out. It’s still not in pairing mode, but it will flash blue when it detects presence. To put it into pairing mode, use the provided sim card tool to depress the reset button found on the back of the device. Hold it for three seconds, and then you should see the LED ring start flashing red. It will stop flashing red and flash blue once when it has finished pairing.

In Home Assistant you get Presence, Motion, and Illuminance sensors, and a ton of fine tuning adjustments including Fading Time, Large Motion Detection Distance and Sensitivity, Small Motion detection Distance and Sensitivity, and Static Detection Distance and Sensitivity. This sensor also has an alarm mode, which can be set in 4 different modes: off, arm, alarm, and doorbell. Off plays no sound, arm triggers an alarm when presence is detected, alarm turns the alarm on until turned off, and doorbell plays a tune. You can set the alarm to 4 different settings: mute, low, medium, and high, and you can also set how long the alarm will sound in minutes. You can also turn the Light Mode to off, so the LED indicator doesn’t flash if that’s annoying to you.

Features

So this alarm is super loud, and I can see how you might use it as a warning to intruders, though this one isn’t really meant for indoor use. The only thing I wish they’d add with this one is a target distance sensor, but overall, nice job.

Tuya PH-PS

This next sensor is one of the ugliest I’ve ever seen. It’s almost like they bought a project box and put a sensor inside it. It’s a huge square-shaped box that’s solid black, but the front has a tinted plastic window on it. The back has a slotted hole for wall or ceiling mount, and there you can also see the reset/pairing button. On the side you can see the USB-type-B port for powering the device, and it comes with a decent length cable.

Pairing

To pair this device with Home Assistant, you just plug it in with the provided cable and you’ll see the light in the window come on. It will turn red and stay that way, so then you’ll need to put it into pairing mode by pressing and holding the pairing button on the back of it for a few seconds until the LED turns blue and starts flashing. Once it has paired it will turn red again.

In Home Assistant you get the bare minimum. You get Presence, Duration of Attendance, and Duration of Absence sensors, and an LED state toggle to turn off the LED if you want. That’s literally it.

Features

I’m not gonna waste any more time on this sensor – it would randomly sense things and randomly not with no accuracy at all, and would sometimes stay in detected mode for an hour when no one was there. Don’t waste your money on this one. Next!

MTG275-ZB-RL

This next Tuya sensor is a ceiling mount style with a circular design, making it look a lot like a smoke or carbon monoxide detector. It comes with some screws and anchors, and also a 3M adhesive pad for adhesive mount. The front has a circular cover, and the cover has a translucent white window for allowing the light from the underlying LEDs to be seen. It also has a section with perforated holes, but I’m not really sure why they are there unless they just repurposed a smoke detector shell.

On the back you can see a hole for some terminals for Line and Neutral wires, because this device is powered by 85-265 Volts AC.

To remove the cover, simply twist the face of the device and it will come right off. Underneath, you can see the terminals more clearly, and you can also see the status LEDs and a pairing button. It also gives you access to the holes for screw-mounting the device to the ceiling. There are four terminals, two for power and two for passing power through the device. I’ll explain what this is for in a bit.

Pairing

To power this thing up, you just connect power wires to the terminals. Like I did with the mains powered sensor we looked at a few minutes ago, I’m just going to use an electrical cord to power this one. Once you install the wires or cord you can plug it in or turn on the breaker. I actually messed up here and didn’t pass the wires through the hole in the back of the sensor, so the lid won’t go back on. Make sure you pass the wires through that hole first before connecting or else it will be a bit of a pain. When you plug it in the LED on the front will turn red for a few seconds, then switch to blue, and then it will start flashing. It’s automatically in pairing mode, but if it isn’t, hold the pairing button on the front of the device for a few seconds.

In Home Assistant you get Presence, Illuminance, and Target Distance sensors, and you get quite a few controls. You get Radar sensitivity, Entry sensitivity, Illuminance threshold, Detection range, Shield range, Entry distance indentation, Entry filter time, Departure delay, and Block time.

Entry Sensitivity is set to filter out minor movements at the edge of the sensing range.

Entry Distance Indentation is the distance from the edge of the detection range that you want to filter with the Entry Sensitivity parameter.

Entry Filter Time is used to say how long an “entry” should be detected before it is considered such.

Departure Delay is how long it should wait when a target disappears before it says there is no longer presence. It prevents “false disappearance”.

Shield range is the space closest to the sensor that you want presence ignored.

Block Time is like a cooldown before presence can be detected again.

It also has Breaker Status and Breaker Mode. Breaker status allows you to turn the internal relay on and off. This is where the two extra terminals come in. Powering a light from those terminals will allow you to turn it on and off by changing the Breaker Status. Now let’s say you want a light to come on when presence is detected. You can set the Breaker Mode to “local”, and when presence is detected, the internal relay turns on, sending power to the connected light. That’s kinda cool!

The Illumination Threshold controls the internal relay as well, and setting this will keep the internal relay on if the actual illuminance of the room is below the threshold.

Finally, we have Status Indication, which turns on or off the LED that flashes when presence is detected.

Features

One thing about this sensor that I like is that it just kinda looks like smoke detector, so people won’t know that it’s actually a presence sensor. If they could just add a smoke detector sensor in here, that would be perfect!

TZ-GS-200

This next one has a tall, slim body with a radar symbol in the center of it, and a small window at the top for an illuminance sensor. On the back you can see some info about the device, and on the bottom you can see the micro-USB type B port for powering it and a pairing button. This device didn’t come with any adhesive, so you’ll need to have your own if you want to stick it to the wall.

Pairing

Just a note before we get this paired, as of recording this article, this device is not officially supported by Zigbee2MQTT in Home Assistant yet, but it is under testing and I hope will be ready soon. However, the functionality that I show here may change a little bit by the time it is fully supported.

Anyway, first we need to plug it in. When you do that, the white LED on the bottom of the device starts flashing. To put it into pairing mode, press and hold the pairing mode button on the bottom for a second or two until the white LED begins to flash rapidly.

In Home Assistant you get Presence, Target Distance, Fading Time, and Illuminance sensors, as well as three flags, Breath, Small, and Large. These flags refer to the amount of energy that a target “emits”, or the amount of movement that the target has. These flags just turn to “True” when there is that type of movement, but I don’t think they really work right now.

There are also a bunch of adjustment options: Detection delay – how long presence should be detected before the Presence entity says it is True, Radar Sensitivity – how much energy should be considered True presence, Keep Time – time Presence should stay true before checking again, and finally, Min and Max detection ranges.

Features

While I do like the minimalist look, this sensor only has a 90 degree FOV. I guess it’s meant to mount in the corner, but that small angle limits it a lot. The documentation also says it is a 2.4g sensor, which is weird since usually these are 5.8 or 24g sensors.

YXZBRB58

The next one I have nicknamed the Eyeball Sensor since it sort of resembles and eye. It has a circular white body, but the front have a black oval shape with a radar style pattern on it. There is a blue circle which you’d expect would light up based on the product images, but it actually doesn’t. I’ll show that later. The back of the device is actually a backplate that twists off, and it has two holes in it for screw mounting. Underneath the backplate you see a pairing button as well. Once again, it comes with adhesive as well as screws, so you can choose how you mount it. It also comes with a decent length USB type C cable which makes it easier to power. 

Pairing

It’s a pretty simple process here, just plug in the USB C cable and then you’ll immediate see a blue LED turn on for a few seconds. Hold the pairing button on the back until the blue light begins to flash, and it’ll go into pairing mode.

In Home Assistant you get Illuminance, Presence, and Target Distance sensors. You also get the typical controls, Radar Sensitivity, Min and Max ranges, Detection Delay, and Fading Time. There’s also a Radar Scene option which would adjust the controls to presets for Bathroom, Bedroom, and Sleeping scenes. Detection delay is super important of course, because it helps you filter out false triggers

Features

To me this is one of the worst looking sensors of a bunch, and if you’re going for obscurity, this sensor is not gonna help. Despite its looks though I’ve been pretty impressed by this sensor with all of the adjustments and the accuracy of the target distance.

Linptech ES1ZZ(TY)

This next one is probably the best looking of all the sensors we’ll be testing today, and it’s the Linptech ES1 presence sensor. It is also branded as a Moes sensor in some cases, but this one was sent to me by Linptech to test out. They actually sell two versions, one that communicates over BLE Mesh, and one that communicates over Zigbee. I started out by trying the BLE mesh sensor, but I couldn’t get it to communicate with the Xiaomi gateway 3, so it’s kinda useless to me.

The device reminds you a bit of Xiaomi/Aqara type construction, the clean white body with the grey accents. The front of the device has grey section with a hole for an illuminance sensor, and there’s an LED behind it as well that flashes when presence is detected. The grey section is also a button, and is used for pairing. It has a metal base that’s attached magnetically, and the base can be mounted with the supplied adhesive. The magnetic base allows for swiveling and tilting of the entire body of the device, which is really nice. It comes with a nice long USB type C cable for power.

Pairing

When you first plug it in, you’ll see the LED on the front turn blue, then red, then blue again, and the it will flash blue slowly. To put it into pairing mode, you just hold the button on the front for about 5 seconds, until the LED begins flashing blue more quickly than before. It will revert back to slow blinking when it has successfully paired.

One thing to note with this sensor is that it was not compatible with Zigbee2MQTT when I bought it, but we just got it added recently. By the time you’re seeing this the debice should be working properly.

In Home Assistant you’ll get sensors for Occupancy (which is presence), Illuminance, Target Distance, and Presence Keep Time.

Presence Keep time is how long presence has been detected for.

You also get adjustments for Motion detection distance, Motion Detection Sensitivity, Static Detection Sensitivity, and Fading Time.

Motion Detection and Static Detection refer to smaller and larger amounts of movements being detected.

Fading Time is like a cooldown – how long until it checks again for presence.

Features

So like I said, I think this one is a really good looking sensor. The one issue I have with it is that the LED on the front flashes when presence detected, and there doesn’t appear to be any way to turn it off. Target distance was pretty accurate, although the frequency of reporting wasn’t too great.

Hi-Link LD2410

The next one we’re gonna look at is one of the most unique devices in this comparison, and it’s the HiLink LD2410. First, it’s the cheapest of all the devices I’ve shown here, and second, it works via Bluetooth. You can see it’s just a PCB with the mmwave sensor attached, and it has no case or housing – we’ll do something about the housing in a bit. It comes with a USB-C cable of decent length for power. It has red and green status LEDs on the board, and you can see that the mmwave sensor is a little loos on the board, so you need to be careful.

Pairing

When you plug in the USB cable, a red light and a green light come on. There’s no actual pairing at this point, but now it should show up in Home Assistant as an automatically discovered device, and you can go ahead and add it to Home Assistant. If you are placing this device far away from your blutooth radio, you may want to consider setting up Bluetooth proxy.

In Home Assistant you get a TON of entities. There are sensors for Detection Distance, Motion, Moving Target Distance, Moving Target Energy, Occupancy, Static Target Distance, and Static Target Energy.

You also get a bunch of Motion energies at different gates. The sensing range is broken up into “gates” and it tells you the energy of the motion at each of those gates. These entities are all disabled by default but you can enable them. To tune this sensor, you need to use the HiLink app. Once installed, you can tune each of the gates so that you don’t get false triggers. You connect to the device, turn on engineering mode, and then adjust the gate sensitivity. For each gate, the closer the value to 100, the less sensitive the gate. The best way to tune it is to set them all to 100 and then bring them down until only human presence is detected and you have no false triggers.

Features

I found this sensor to be extremely sensitive before tuning, and even then I did get some false triggers, so there’s probably more work to do. If you want a housing for this sensor, I’ve whipped up a design for one and here’s a link to it on Thingiverse.

Athom PS01

Next we have the Athom PS01. It’s a really clean looking device, and right away you can see that it has a traditional PIR motion sensor in it as well as a mmwave sensor.

On the front it has a window in the upper left corner for illuminance sensing, is has the main Fresnel lens in the center for the PIR sensor, and on the bottom it has a hole for an LED to show through.

On the back it has the USB-C port for power, and a slot on the back and bottom for the provided mount. The mount can be attached to the device pretty easily, either on the bottom for mounting to a horizontal surface, or on the back for mounting to a vertical surface. The mount can be attached to the wall either with the adhesive or the screws provided.

It also comes with right-angled USB-C cable for power, and it’s own adapter which is really nice! On the side there’s a hole for a reset pin.

Pairing

Like I mentioned, this is a WiFi device, and it’s running ESPHome. The first thing you’ll need to do is plug in the power. The LED will start blinking blue, and that means it’s time to add it to your WiFi network. It’s easiest to do it on your phone, just search available WiFi networks for one that has a name with “athom-presence-sensor” in it. Tap the network to connect to it, and it’ll bring you to a sign-in page with a list of nearby WiFi networks. Choose your home wifi network and enter the password. When finished, press Save. Go to Home Assistant, tap Settings, Devices and Services, and  and you’ll see the Athom sensor is automatically discovered by Home Assistant. Click Configure, click Submit, set and Area if you want, and then click Finish.

In Home Assistant you get your Illuminance, mmWave, PIR, and Occupancy sensors. From what I understand, the PIR and mmWave are used together to set the state of the occupancy sensor. For configuration options you also get Blockade Time, Detection Delay, Fading Time, Farthest Detection, Maintain Sensitivity, and Trigger Sensitivity. All of these are similar to what we have had with previous sensors. There’s a hidden toggle for turning the LED on and off which is cool, but it doesn’t seem to keep the LED off – the LED’s state changes as soon as presence is detected. There are also some Diagnostic entities that have some network information.

Features

I really like this device, but I do wish it had target distance as an entity since that can be pretty useful in automations.

mmWave and PIR sensors are best used together to detect true occupancy, because PIR sensors are great for quick detection at a distance, and mmwave sensors have great precision and can detect small movements. However, this isn’t the only one that has both in a single device.

Everything Presence One

The next device similarly has both in one unit. The Everything Presence One is the presence sensor that, for me, started it all. Everything Smart Technology was kind enough to send one to me to check out.

First of all, this device doesn’t come pre-assembled, so you get to assemble it yourself! Don’t worry, it’s super easy.

First, you have the main EP1 board, which is nicely labeled to show you where the components belong. You can see there’s an ESP microcontroller on the board, ant there’s also a jumper for the board that lets you power it via a 5V header rather than the USB port. I won’t be using that.

Next, you have the PIR sensor, which can be fairly easily mounted to the board with the three pins, and finally, you have the 24gHz mmWave sensor, a DFRobot SEN0395 Module.

It comes with an optional 3D-printed case and mount, which can be 3D printed yourself because they’ve made the files free to download.

To assemble it you can actually scan the QR code on the box and follow the instructions on the EP1 website, but it’s pretty straightforward to assemble. You put the board into the case, and then you add the mmWave module and PIR sensor. Once the components are installed, you can add the cover and attach the stand.

Pairing

Adding this device is the exact same as the previous sensor, because it, too, runs on ESPHome. I won’t walk through it again to save time, but the entities in Home Assistant are far more impressive than the Athom.

In Home Assistant you get a TON of sensors. You get Humidity, Illuminance, mmWave, Occupancy, PIR, and Temperature sensors. This thing is more of multisensor than most “multisensors” on the market!

You also get a TON of different configuration entities, including ESP32 LED and mmwave LED toggles, a toggle to turn off the mmwave sensor, a firmware version entity, humidity, temperature, and  illuminance offsets, mmwave distance and sensitivity adjustments, mmwave on and off latency adjustment, occupancy & PIR off latency adjustments, and finally, restart and safe mode buttons.

The most important setting to get right first is the “mmwave on latency”, which prevents false triggers. A good place to start is 0.5, but if you want more tips on tuning it, there’s a guide to tuning the device.

Features

Overall this device could be improved with a different style case in my opinion, but there are already a few out there that have been designed for it, so you can search around for those. Other than that, the price is a bit tough to swallow, but you have to account for all of the sensors in it, and the DIY nature of it that lets you change out sensors as you see fit.

Everything Presence Lite

The next sensor is another newly released device that was sent to me by Everything Smart Technology. This one is called the Everything Presence Lite, the it’s called lite because it doesn’t have the PIR sensor that the EP1 has. This one also comes with a right-angle cable, unlike the EP1 which didn’t come with any. If you pop open the cover you can see the custom EPLite board with the mmwave sensor attached, a HiLink LD2450.

Pairing

This sensor is also powered by ESPHome, so adding it to Home Assistant is the exact same as the previous sensor.

In Home Assistant you get controls for the ESP32 LED, setting Max Distance, and setting Occupancy Off Delay.

You also get sensors for Illuminance, Occupancy, and Target tracking for up to 3 targets! The target entities are the Target Angle, Distance, Resolution, Speed, and X and Y coordinates.

Lastly, you get ESP Reboot and Firmware entities as well.

Features

The price point for this device is perfect to me, and this thing is by far the most accurate sensor for target distance. You can swap out the mmwave sensor if you want to try something else, and it is confirmed working with 5 different sensors, but others may work as well. Another awesome feature this device has is that it works as a Bluetooth proxy for Home Assistant, extending the Bluetooth range for all of your Bluetooth connected devices. This feature supposed to be coming to the EP1 as well!

Aqara FP1

The next one is the Aqara FP1. You may have heard of the younger brother to this one, the Aqara FP2, and we’ll get to that one in a minute, but this one was Aqara’s original attempt at a presence sensor. Out of the box you get the sensor with a hard-wired cable, a US power adapter, an adhesive pad, and a metal plate for magnetic mounting of the sensor. It has the typical Aqara look, with the white body and grey accent. The grey stand is permanently attached to the device, and it articulates so you can adjust the angle and tilt of the sensor. In the center of the back it has a pairing button, and on the bottom of the stand there’s a QR code for use with the Aqara app.

Pairing

To pair the FP1, plug it in and then hold the pairing button down until you see the LED on the back flashing, indicating it’s in pairing mode.

In Home Assistant, you get Presence, Device Temperature, Power Outage Count, and Presence Event entities.

You get config options for Monitoring mode, Motion Sensitivity, and Reset nopresence status, which I’m not sure does anything.

It also gives you the ability to add detection “Regions”, but it’s visually represented, so it might be difficult to understand what it’s doing. As I understand it, the field of detection is broken up into a 7×4 grid of zones. Then, for each region you want to specify, you can add the zones that you want to be part of that region

Unfortunately at the time of testing this device there was an issue with the UI, so I was not able to set any zones.

Features

Another issue I had beside setting zones was that the cooldown time was pretty long on this thing, and there is no way to adjust it. Also, the hard wired cable to me is a problem because you can’t use a longer one if you want to.

Aqara FP2

The next one is the younger brother to the FP1, and it’s the Aqara FP2.

Out of the box you have the sensor, the USB type C power cable, a metal pad for mounting the device, and also the adhesive pad. You can see that this device is more of a hockey puck shaped sensor than the other one, and this one has an LED indicator on the edge of the face of the device.

The integrated stand is a little bit different than the FP1 in that it doesn’t rotate, and only tilts. This causes a little issue when you want to stand up the sensor on a horizontal surface – the Aqara logo ends up upside down, which is strange and a  bit annoying, but not a deal-breaker. You can also see that the stand has a Homekit Pairing code on it, and that’s because this device actually works over WiFi with Homekit, unlike the FP1 that works over Zigbee. The base of the stand also has a hole in it, and that’s so that you can screw mount it with the provided screw.

Pairing

The Aqara FP2 works with Home Assistant via the Apple Homekit integration. Before we add it to Home Assistant, we have to add it to the Aqara app. When you plug in the power cord, the pairing light will begin flashing rapidly. In the app, tap Add Accessory, and then choose the FP2 sensor. Walk through the setup steps, in the app to get it all set up. One of the cool things you can do in the app is set up detection zones, similar to how the FP1 zones are set up.

Once it’s set up, head over to Home Assistant, where you should see the device discovered via the HomeKit Controller integration. Click configure, and then enter the HomeKit pairing code when asked and click submit. Choose a room if you’d like, and then click Finish. In Home Assistant you get an illuminance sensor and multiple presence sensors. The first individual presence sensor represents the entire detection area, and the others are the respective zones that you set up in the app. As you set more up, you get more presence entities showing up in Home Assistant.

Features

I actually had a ghosting issue with this sensor where a “target” would stay detected even though all targets had exited the sensing field. There was a firmware update that helped with this I guess, but to me it was a pretty annoying issue.

Tuya ZG-205Z

This next one is one that popped up on AliExpress, and it caught my attention because it said in the description that it works with Home Assistant.

It’s pretty generic looking with a white square body and the human presence graphic on the front. It has two holes on the front as well, one for illuminance sensing and one for and LED. On the bottom edge you have the USB C port for power and you have the pairing button. On the back it has four rubber nubs, which kind of indicates that it should be placed no a horizontal surface, but that doesn’t really make sense for this sensor.

Pairing

As soon as you plug the power in, the LED on the front will start flashing, letting you know that it’s in pairing mode. If it doesn’t go into pairing mode, hold the button on the bottom until it does. In Home Assistant you get Presence, Illuminance and Motion State sensors, and you get adjustments for Large, Medium, and Small motion detection sensitivities and distances, and you also get a toggle for the LED indicator.

Features

I really don’t have much else to say about this sensor, so let’s move on.

Screek Human Sensor 2A

Buy Here!

Next we’ll look at another sensor that runs ESPHome, the Screek 2A presence sensor. Out of the box you get the sensor, adhesive pads, and a USB C cable. The sensor body definitely feels 3D printed, maybe with a resin printer, but feels high quality. You can see that the case must be thinner in the middle, because you can just barely see the sensor behind the case, and that’s probably for illuminance measurement if I had to guess. The back of the case has two holes, but I’m not really sure what they’re for.

There’s also a sticker on the back that points you to their website that has more info about the sensor including setup instructions.

Pairing

Since this sensor runs on ESPHome, you follow the same process as we did with the Athom, EP1, and EPLite. Connect the power and wait for the red light to blink, and then use your phone to connect to the access point that it broadcasts. Once you’re connected, enter your network info and save it, and then head over to Home Assistant where this device should be discovered automatically. You get entities for Target Count, Presence in Any Zone, illuminance, Target Resolution, Speed, and X and Y for each of 3 possible targets to track. You also get Presence and Target Count entities for each Zone that you specify. In the configuration section, you get the ability to set the zones by distance from the sensor, you get a toggle for the status light, and a few more entities regarding the microcontroller.

Features

There are so many options here it’s hard to get a handle on, but there is documentation on the Screek website, so I’ll leave a link to it in the description. This sensor is actually rocking a HiLink LD2450 under the hood, the same sensor as the EPLite, but I did notice that target distance is not reported nearly as often, and it’s not as accurate.

The next two sensors we’ll look at are fairly new, so I’ve had a lot less time to play with them, but I’ll still try to give you and overview of their functionality.

Sonoff SNZB-06P

The Sonoff zigbee presence sensor is a much-anticipated sensor only just recently released. I reached out to them, and they were happy to send one to me to play with.

Out of the box you get the sensor, a magnetic base, some screws and adhesive, and a power cable. The sensor itself looks an awful lot like a motion sensor actually, with the frosted lens on the front. We know radar sensors don’t need lenses, so I’m not sure what’s up with it! The sensor also has a pairing button on the top and a USB-C port on the bottom.

The magnetic base looks pretty cool though, as it not only holds  the sensor but allow sit to articulate. I ran into an issue with this though, and that is that the friction between the sensor and the base is so small that the weight of the cable can pull on the sensor and move it. A stronger magnet would probably fix this.

Pairing

To add this sensor to Home Assistant, all you have to do is plug it in and it’ll go into pairing mode. In Home Assistant you get really only one important entity, and that’s Occupancy. Honestly this was a bit of a let-down, and I expected some control over settings, at least sensitivity. From what I can see on the website, you can adjust the sensitivity in the eWelink app, so hopefully this functionality will come to Z2M at some point in the future.

Image from Sonoff’s website showing the ability to adjust sensitivity.

Features

Overall I think this sensor looks pretty good, but like I mentioned before, I think they could have done a better job with the base. The price is excellent on this one, but the jury is still out on this one because there are no adjustments on the sensor in Home Assistant. Hopefully some of the adjustments we see in the app can be added, because if not it would be a no go for me on this one.

Apollo MSR-1

I was pretty much done testing all of these devices, but then I got an email from Apollo Automation. They have just released a presence sensor, and they wanted me to check it out. This one is the MSR-1, and it has some interesting features.

It comes with 3 different 3D-printed cases of different colors, and a couple different mounting options, with an articulating stand with screw holes or adhesive to mount it. It also has another mount that’s pretty cool, it’s a wall adapter, with a custom USB cable. It allows you to use the power brick like a wall mount, attaching the sensor to the brick.

You can remove the back by sliding it off, and if you pop the case off you can see that it’s a custom board with the LD2410B attached to it. This custom board also has temperature and humidity sensors, a lux sensor, a CO2 sensor, and even a piezo buzzer that can play tunes – super cool! It also has an RGB led on it, which is something you really don’t see on these sensors.

If you want to, you can slide the articulating mount onto the back for mounting it on the wall in the future.

Pairing

This device is powered by ESPHome, so it’s straightforward to get set up. Plug it in to power, and then wait about a minute for it to get ready, and then connect to the AP it broadcasts with your phone or PC. Put in your network info and hit save, and then the MSR-1 should automatically be discovered in Home Assistant. In Home Assistant you get so many sensors it’s a bit overwhelming. You get humidity, air pressure, temperature, lux and CO2 sensors, and you also get calibration and offset adjustments for these. On top of that you obviously have your presence sensor, still and moving target sensors, target distance sensor, and three zone sensors. In configuration you can set your zones, but you also get eight gate threshold settings. These gate controls are used with the gate still and move energy sensors while in engineering mode to tweak the entire sensing field of the device, dialing it in exactly the way you want. There’s a ton more to this sensor, but that would take a separate dedicated review I think.

Features

One cool thing about this sensor that I mentioned before is that RGB LED on the custom board, which can be controlled in Home Assistant. This allows you to use the LED as an indicator in whatever way you’d like.

What I also really like about this sensor is that ESPHome handles setting up the 2410 so we don’t have to use the Hi-Link app. As you saw with the 2410, it’s a bit annoying to tune because you have to use the app and it requires bluetooth, so having all of the entities right in Home Assistant and the ability to turn on engineering mode and go to town is pretty great. The Apollo team has some pretty decent documentation, so you can check out the website for instructions.

The threshold works such that 0 is the most sensitive, and 100 is the least sensitive. It corresponds to the values you see under “Move Energy” and “Still Energy” for each gate, you can get more accurate data using the HLKRadarTool app if you need to.

Another cool feature this device has a is a piezo buzzer that can be controlled by Home Assistant via a service to play custom tunes.

Testing

Ok, so let me show you the results of some testing I did. First, I tuned each sensor to pick up human presence our open basement, and then I performed the following tests of response time and cooldown times in Home Assistant, and for each that had a target distance entity, I tested them to see if they were accurate.

Response Time

For the response time testing, I found that they were all withing a second of each other, but the Athom and EPLite sensors seemed to be the quickest at a distance. The one that took the longest to respond was the Aqara FP1, which acted as if it had a sensing angle of 45 degrees.

Cooldown

When you look at standard cooldown time, this is where you start to see a big difference.

Most of them had decent cooldowns with exception of the few of the Tuya sensors that had cooldowns that were a bit long in my opinion. The ZG-205ZL and YXZB had cooldowns of  3 minutes and 2 minutes respectively, and this was with the Fading Time set to 30 seconds for the 205ZL, while the YXZB fading time was set to 100. Adjusting these seemed to reduce the cooldown time, that worked out. The other sensor with a massive cooldown time was the Aqara FP2, coming in at 4 minutes. I’m not sure if this was standard cooldown, but it took forever to clear up. I took a look at the target map in the app, and it still was detecting a target, even though none was there. After some of my testing I noticed a firmware update that was supposed to fix Ghosting, and it seemed to reduce the cooldown time.

Target Distance/Distance Accuracy

Next, I did a rough test of target distance, laying out a tape measure and marking out a series of positions at 1, 2, 3, 4, and 5 meters away from the sensors. This test only looked at the ones with Target distance entities, and so some of the sensors I really wanted to try this with couldn’t be included.

For the EP1, I used the beta firmware to test the target distance. The most accurate by a mile was the Everything Presence Lite, and this was followed closely the Everything Presence One, the Apollo MSR-1, and the ZY-M100-L. The Linptech was pretty accurate too, but had a sample rate that was pretty low.

The green line shows where the target’s true position was
Apollo compared to the EPLite
The EP1 compared to the previous two.
The ZY-M100-L compared to the EPLite

The rest were not really that accurate, and some jumped all over the place or had too low sample rates. I also noticed that all the sensors except the Apollo and the EPLite had less accurate distance measurements as I moved away. Not really sure why, but even the EP1 seemed to experience this.

All of the sensors

Small Pet Detection

One other request I had was that I test how these sensors would perform with detecting small pets. Since humans live in this house and not animals, I tried to use my son’s remote controlled Jurassic Park jeep to simulate a small pet moving around. Most of these sensors didn’t even react to the jeep ripping around on the floor of the basement.

Illuminance

I also compared the illuminance on all of these sensors, and pretty much it’s all over the place. I had all lights off, then turned on the ceiling light, and then shined a light directly, but as you can see the results are kind of a mess. The key to using illuminance sensors is to stick with one and learn the highs and lows, and then set thresholds for automations.

Ok, now let’s talk about my favorites and least favorites. Just a reminder, I’ve left links in the description for all of the sensors I’ve covered in this article.

Favorites

Cheapest

If you’re just looking for a super cheap sensor, I think it’s worth giving the HiLink HLK-LD2410 a try. You can 3D print a case if you want and try to dial it in. If you want a cheap sensor, but not Bluetooth, I’d try the ZY-M100-S as it’s pretty feature rich for the price.

Best for Price

The best for the price in my opinion is a tie: The first winner is the Athom PS01 since it has both PIR and mmwave sensors, and still comes in under $40. The second winner is the EPLite, as it also has a temperature sensor, and is under 40. If you would prefer a Zigbee device, the best for the price to me is the Linptech sensor.

Most Sensors/Features

If you’re look for the one that has the most features and sensors, it’s really close one between the EP1 and the Apollo. While the EP1 has a PIR sensor, it’s quite a bit more expensive and it doesn’t have a CO2 sensor. The Apollo lacks the PIR sensor, but has the CO2 sensor, the piezo buzzer, and the customizable RGB light. Between the two, it just depends on what you want to use them for. Take either one, and then add up the cost of all of those sensors if you bought them as individual devices, and see how much that would cost you.

Most Accurate

If you’re looking for a sensor that has the most accurate target distance, obviously you want to go with the EPLite. The Lite has an excellent price for what you get. A close second would be the ZY-M100-L.

Least favorites

Ok, so here are the ones I would NOT recommend. First, the no-name Giant Black Box. This sensor has no tuning capability and flat out stinks.

The second I wouldn’t get, at least not yet, is the GS-200, as it really floods the zigbee network with messages and has accuracy issues. It may work better once fully supported in Z2M.

Lastly, I’d steer clear of the Aqara FP1 as it’s really got nothing on its predecessor, and really doesn’t offer anything worth its price.

Thank You!

Anyway, I hope you enjoyed this review, as I’ve put a ton of time into it. I know I’ve only scratched the surface with some of these sensors, but I hope this comparison gives you some idea of which one you should get.

Anyway, thanks for reading! See ya.

Best Smart Locks for Home Assistant

What’s up Smart Homers, my name’s Aaron. In this article I show seven different smart locks that work with Home Assistant.

Home security is essential to most of us, and the ability to ensure that our homes are secure when we’re away is pretty important for us smart homers. At the same time, these same security measures can make the use of our entryways more difficult than they need to be! Smart locks provide a way to open and close our homes easily, giving or taking away access to other people, even when we’re not home. Knowing that my doors are locked when I’m on a long trip gives me peace of mind, and being able to unlock my doors while I’m on my way to the door provides convenience that, once you get used to it, it’s hard to live without!

Kwikset 916, one of the cheapest Z-Wave locks out there!

But there are ton of “smart locks” out there on the market, so it may be hard to decide which one you should purchase. That’s why I bought 7 different smart locks, and I’ve tested each to see how they work with Home Assistant. In this article I’ll compare their prices and features and show you how they work in Home Assistant. At the end I’ll tell you which ones are my favorites and which are my least favorites!

Requirements

As in past comparisons, requirements for my selection are that:

  • they have to work with Home Assistant
  • they can’t require a manufacturer’s hub**
  • they need to operate on WiFi, Zigbee, Z-Wave, or Bluetooth
  • if they use WiFi, they can’t rely on a cloud service.

I didn’t find any Zigbee locks for a decent price, but I did find a few that have Zigbee as an option. If a lock has this option, I’ll mention it in that lock’s section of the article. For all of the Z-Wave devices, I’ll be using Z-Wave JS (now known as just Z-Wave) to add them to Home Assistant.

**Note that the “no hub” requirement assumes that you have Home Assistant set up and that you also have Zigbee, Z-Wave, and Bluetooth radios working with your Home Assistant instance.

Eufy Touch & WiFi Smart Lock

The first one we’ll take a look at is the eufy Touch & WiFi Smart Lock. This one comes in both brushed nickel and black colors, and while I prefer brushed nickel for most locks, I thought this one looked better in black. The lock comes with all the hardware you need, and the unboxing experience itself shows its a quality product. 

Mounting

The lock is mounted to your door with a metal plate, but the plate has a rubber gasket-like material on the side that faces the door, so your door’s paint doesn’t get scratched. I think it also helps reduce the noise of lock rotation due to vibration, but we’ll get into that. The exterior keypad also has rubber on it, helping seal it from weather, and probably giving it that IP65 rating. Each piece of hardware you get is laid out in boxes with labeling so you know when you should use them, making the assembling and mounting of it super easy. It comes with a deadbolt and strike plate, but for the old door I was using they wouldn’t work. Thankfully the existing deadbolt worked fine, but between testing this one and the rest of the locks I actually bought new doors, so this wasn’t an issue for the rest.

Like most smart locks, you put the mounting plate on the inside of the door, and then put the keypad on the outside, pulling the cable through the provided hole. Two screws hold the plate onto the door, and then you can connect the inside part of the lock. There are a couple of screws that hold this part on to the mounting plate, and then you’re ready to install the battery. You should test the deadbolt action to make sure it’s smooth before proceeding. Unlike many smart locks that use 4 triple A batteries, this one uses a rechargeable battery that’s supposed to last for a year.

Pairing

My hope with this lock was that it wouldn’t require cloud connectivity. I found a custom integration in HACS that I wanted to try, but I found that when I blocked it’s IP from internet connectivity, it no longer functioned. As far as I’m aware, there’s no way to use this without cloud connectivity. If you’re still interested in the lock, keep reading, otherwise skip to the next one. Once the battery is installed, you can install the eufy app and walk through the steps to set it up. Once complete, you can add a fingerprint and multiple key codes if you want, and then install the eufy Security HACS integration. When you do you’ll see that it is cloud reliant.

In Home Assistant you get the lock entity, a “global motion sensor”, a battery entity, and a streaming sensor. Since this integration is for cameras but also happens to work for the lock, the motion and streaming sensors are useless and can be disabled. Locking and unlocking the door is fairly responsive, but remember that it is cloud-based, so if eufy’s cloud is down, you’ve got a problem. I wasn’t really sure about this until I installed the integration and saw Home Assistant’s handy little reminder about cloud reliance.

Feel and Features

The device really feels solid and fairly heavy in the hand, and the feel of quality kind of surprised me. The lock mechanism worked really smoothly, but that is also a function of how well the deadbolt is aligned.  The front has a small round metal cap that covers the keyhole, which at first was a little hard for me to open. Overall, the matte black look is something I had to get used to, but it might not stand out and even look appealing depending on what the rest of your house looks like. 

The fingerprint unlock action is super cool, and works extremely quickly – it was by far the quickest of any of the locks to open. That being said, the keyhole cover was super annoying to open. Another cool feature is that there’s a little USB port on the underside of the keypad that allows you to supply power to it. This can be used in case the battery dies, and you’re out of the house without the key. The keypad is nice, but you can see how it shows fingerprints, so that could give away your code. A feature it has to combat this is the ability to type in several digits before your actual code so that  there are smudges on all digits. I think this issue is where an actual keypad rather than a touch keypad would be better.

To type in the code you have to wake it with a touch, type your code, and then press the button with a house on it. To lock it when you leave, you can just press the lock icon once the door is closed.

Overall

While this lock had one of the quietest mechanisms of all of the locks, and had a nice quality feel to it, even the ease of install and awesome fingerprint sensor doesn’t make up for the fact that it requires cloud connectivity for smart control.

August Smart Lock Pro 3rd Gen (with Z-Wave)

The next one is the August Smart Lock Pro 3rd gen. I chose this lock in particular because, although it is a WiFi lock via the “August Connect”, the lock itself communicates with the Connect via Z-Wave. How well this works is a different story, but we’ll get into it.

August locks are well known because of their ability to unobtrusively control your existing deadbolt. With just the removal of a few screws, you can replace your existing deadbolt’s thumb-turn with a motor. It still allows for manual control of the lock and it also allows you to use the original key when unlocking it from the outside. It’s really great for someone renting an apartment who may have to make sure that the key they have works with the lock, but still wants to be able to remotely control it. 

Mounting

Mounting the lock is pretty simple, provided you make sure it fits on your door. If you have a grid-style front door like you might get from Home Depot or Lowes in the US, this lock is not going to fit. I made the mistake of trying to install it on my back door, and didn’t get very far before I realized the problem. I’ll explain the problem in more detail in a second. To mount the lock, you need to remove the thumb turn and attach the provided mounting plate to the door with the thumbturn’s screws. After that you use one of the provided deadbolt shaft adapters based on what type of deadbolt you have, and then attach the motor itself. When you’re attaching it, you open the two locking wings on the back side of the motor, push the motor onto the plate, and then close the locking wings, securing the motor to the plate. Here is where I ran into trouble. If you have a door with grid-style window configuration, where the windows extend down to the door lock hole, the grid is probably going to protrude too closely to the lock, and you won’t be able to push the lock onto the mourning plate with the wing open. This means you won’t be able to secure the motor to the plate, and that’s pretty annoying.

Door’s window grid preventing mounting of August lock

I ended up putting it on my front door to do my testing. Once installed you can remove the magnetic battery cap and install the batteries. After this, you’ll need to walk through the app to perform the setup.

Pairing

There are two ways to add this device to Home Assistant. The first way is to add it via the August integration, but the problem with this integration is that it requires cloud connectivity. As I’ve explained previously, this isn’t ideal.

The second way to pair it is via Z-Wave. In order to get it pair properly, you first need to set the lock up in the app. Your phone will connect to the lock via bluetooth, and you can run through the setup. To put the lock into pairing mode, you need put Home Assistant into inclusion mode, then in the August app, go into the settings for the lock, tap Z-Wave settings, and then tap Add to Z-Wave Network. I found that you need to have the lock right up close to your Z-Wave radio in order for them to pair properly, so I actually used a 20 foot USB extender to do this.

When you open the device page in Home Assistant, you are met with a red warning message that says that the lock will stop working and become unusable. You also see a lock entity, door status entity, a lock jammed sensor, a battery level sensor, and a low battery level sensor. The warning message is no joke – when operating the lock via Z-Wave, there are no issues at first, but if the lock is not operated for several minutes, it no longer responds to Z-Wave commands. In order for it to respond, you have to manually unlock it or unlock it via the August app in order for it to wake up. In that case it will respond to Z-Wave commands until it “falls asleep” again.

There is also an August cloud-dependent integration, and in the device page there you get a lock entity, Wake button entity, operator entity, and a battery entity. Apparently the operator entity will show who has unlocked the door, which is pretty cool. I also noticed that the battery level reported is different than the battery level reported in the Z-Wave integration, so I’m not sure what’s up with that.

Feel & Features & Overall

This lock has a really nice knurled grip that feels really good when you’re turning it manually. In my opinion it’s a little ugly, and I think the 4th gen looks a bit better, but that one doesn’t have the Z-Wave capability. What really makes this lock a great idea is the ability to keep your original lock mechanism, meaning the least amount of disturbance to the lock you currently have. It takes less work to install, and might be easier for people who aren’t comfortable changing mechanical parts. The lock does have a high quality feel, and is very quiet when operating the deadbolt, but the issue with Z-Wave connectivity is a problem. If a local API is developed for August locks, it would make this device well worth getting to be used via WiFi. At this point the Z-Wave functionality is too unreliable. The lock did come with a door sensor, but I didn’t feel like testing it out.

Let’s look at some Z-Wave locks now.

Kwikset

The next one is the Kwikset 916 with Z-Wave module. This lock has to be one of the best looking in my opinion, and probably sticks out the least of any of the locks. It comes in a few different finishes, but I chose brushed nickel, and it also had an option for Zigbee, but I chose Z-Wave. It comes with all of the hardware you need, but since I had a Kwikset deadbolt already installed, there was no need for me to change out the deadbolt hardware. One of the main reasons why I chose the Kwikset is because it has the “smart re-key” feature, and since I use Kwikset locks on my other doors, I could re-key this smart lock to use the same key. 

Mounting

To install this device you need to remove your existing deadbolt hardware, and then install the deadbolt striker that comes with it. Then you install the keypad on the exterior, slipping the connector cable through the hole. To secure it, you put the mounting plate on the inside of the door and use two screws to hold it there. Next you’ll add the motor part of the lock, first connecting the cable, and then pressing it onto the mounting plate and installing the screws that keep it in place. 

Without the cover on, you’ll see some dip switches that can be set for different options. One turns off the status LED the blinks every 6 seconds, two enables or disables auto-lock which will relock the door 30 seconds after it is unlocked, three turns of the sounds from the keypad as and lock/unlock alerts, and 4 turns on and off “secure screen” which displays random digits to be pressed before entering the user code. This last one ensures that there are fingerprint smudges on all digits so that codes can’t be identified by examining fingerprints on the touchscreen.

Pairing

Before you put the cover on, you need to install the battery pack. The pack has slots for 4 x AA batteries, and slides into the top of the lock. Once it’s in you’ll see the status LED come on, and the lock will beep. You put the lock into pairing mode by pressing the button marked with an “A”, not the large red button like you’d expect. You’ll see a red LED light up when it goes into pairing mode. Like all of the Z-Wave locks in this article, you need to have the Z-Wave coordinator (USB stick in my case) right up close to the lock for it to be included securely. Otherwise, some features may not show up. I saw someone call this whisper pairing. In Home Assistant you see a lock entity, a door status entity (which does nothing), a lock jammed entity, a battery level entity, a tamper sensor, and a few others. The lock jammed entity seems to work, but once a jam is detected, it doesn’t seem to clear. The tamper alert also seems to stay detected once it’s triggered by too many wrong keypad attempts, and I’m not sure how to reset it. There are actually two disabled entities that you are going to want to enable, and those are “alarmLevel” and “alarmType”.

These alarms detail the exact status of the lock. Below you can see a list of all of the Alarm Levels and Alarm Types for the Kwikset 916.

KWIKSET
AlarmType AlarmLevel Notification Event
21 1 Lock Secured using Keyed cylinder or inside thumb-turn
22 1 Lock Un-Secured using Keyed cylinder or inside thumb-turn
27 1 Lock Auto Secured – Successful (Fully extended)
17 1 Lock Secured at Keypad – Bolt Jammed (Not fully extended)
18 0 or User-ID#* Lock Secured at Keypad – Successful (Fully extended)
26 1 Lock Auto Secured – Bolt Jammed (Not fully extended)
19 User-ID#* Lock Un-Secured by User (User-ID) at Keypad
23 1 Lock Secured by Controller – Bolt Jammed (Not fully extended)
24 1 Lock Secured by Controller – Successful (Fully extended)
25 1 Lock Un-Secured by Controller – Successful (Fully retracted)
112 User-ID#* New User Code (User-ID#) added to the lock
32 1 All User Codes deleted from lock
161 1 Failed User Code attempt at Keypad
162 User-ID#* Attempted access by user (User-ID#) outside of scheduled
167 1 Low battery level
168 1 Critical battery level
169 1 Battery level too low to operate lock

This lock did have one or two drop-offs in the few months that I’ve had it where it became unavailable from the network, but attempting to lock or unlock it seemed to wake it back up. However, I’ve been having Z-Wave network issues, so I’m not sure what caused it. There can be significant lag between tapping lock in Home Assistant, approximately 5-10 seconds, but that’s in line with most of the locks in this article. This device has up to 30 access codes, and the code usage shows up in Home Assistant as a Z-Wave JS notification, meaning Home Assistant will know which user unlocked the door if they used their access code. These notifications can be used to create automations based on who unlocked the door or how it was unlocked. For example, if someone types in the wrong code, you could flash your porch light… pretty cool!

Feel & Features & Overall

Like I said before, I really like the look of this lock better than most, but I may be biased because most of the doors in my house have Kwikset brand hardware. They did a good job of making the interior part of the lock look good, and the whole thing feels high quality. To unlock the door, you have to type in the code, and then press the lock icon. If it’s unlocked, a tap of the lock icon will lock it.

One thing I don’t like is how you have to put your hand over the screen to wake it up – it would be easier with just a button press to wake it. Once you do that, you have to tap the random numbers, and then your code. I also notice that I’m accidentally bumping the screen sometimes when I open the door and walk in, which wouldn’t happen with physical buttons. This lock is the loudest of all of the locks in this article, and it’s actually my least favorite thing about it. If it wasn’t the fact that it works with the key I already had, and that it looks great, I’d probably consider a different one. Because it’s so loud I sometimes worry it will wake up our kids. 

Schlage

Next we have the Schlage connect, Z-Wave version. This one is the most expensive of any of the locks we’ve looked at, but it comes from a reputable brand in the lock hardware industry. It has quite a hefty feel to it, and the interior part of the lock is huge compared to some of the other lock’s we’ll look at. It also comes in a few different finishes – I chose brushed nickel – and it also had an option for Zigbee, but I chose Z-Wave. The deadbolt and the rest of the hardware is included, and it wasn’t compatible with Kwikset deadbolts, so I had to change mine out.

Mounting

Once I put in the Schlage deadbolt hardware, the installation is pretty much the same as with the Kwikset. You attach the keypad and slide the cable through the hole underneath the deadbolt hardware, then you put the mounting plate on the inside and secure it to the keypad with two provided screws. Then you connect the cable to the interior portion of the lock, and attach it to the mounting plate. Once it’s on the plate, you attach it with some screws. Testing out the bolt movement, I found it was very smooth. After that you just take out the battery pack, install the 4 AA batteries, and then put it back in and attach it to the battery connector. 

Pairing

Keeping the black cover off, you can see the red pairing button on the Z-Wave PCB. Pressing that will put it into pairing mode, but before that I had to have my Z-Wave coordinator attached to a USB extender and bring it right up against the lock in order for it to pair properly. My hub is right down the hall, but it was too far away, and googling around I saw that others had the same issue.

This was just like what happened with the Kwikset. Once paired, you see a lock entity, a couple entities that don’t seem to do anything

In Home Assistant you see a lock entity, a door status entity (which does nothing), a lock jammed entity, a battery level entity, a tamper sensor, and a few others. The lock jammed entity seems to work, but once a jam is detected, it doesn’t seem to clear. The tamper alert also seems to stay detected once it’s triggered by too many wrong keypad attempts, and I’m not sure how to reset it. There are actually two disabled entities that you are going to want to enable, and those are “alarmLevel” and “alarmType”.

These alarms detail the exact status of the lock. Below you can see a list of all of the Alarm Levels and Alarm Types for the Schlage Connect.

SCHLAGE
AlarmType AlarmLevel Notification Event
21 1 Device transitioned to the locked state due to manual interaction
22 1 Device transitioned to the unlocked state due to manual interaction
18 User-ID# Keypad Lock Operation – Device transitioned to the locked state due to keypad interaction
19 User-ID# Keypad Unlock Operation – Device transitioned to the unlocked state due to keypad interaction
27 1 Auto Lock Locked Operation – Device automatically returned to the locked state by the auto lock function
24 1 Z-Wave Lock Operation – Device transitioned to the locked state due to Z-Wave interaction
25 1 Z-Wave Unlock Operation – Device transitioned to the unlocked state due to Z-Wave interaction
9 0 Lock Jammed – Lock could not reach the desired position after three attempts. This is also sent if the lock is moved to an unknown region with the thumb turn. This is the general bolt movement error message. This is reported as unknown state.
161 1 Three invalid user codes were entered. The lock disables the keypad for 3 minutes.
167 1 Sent once when lock transitions to low battery
169 1 Replace battery now (Reports this notification equal to or lower than 20%) – Sent once when lock transitions to critical battery (lock will no longer operate)
9 0 System HW Failure – A HW fault is detected in the lock

One other thing – this lock can handle up to 30 different user access codes!

Feel & Features & Overall

I really like the look of this lock as well, but I do feel like the numbers on the keypad are in a font that doesn’t quite match the trim. While I’m not a fan of the font, the fact that the numbers light up blue is really cool. The keypad isn’t exactly a touchscreen like the Eufy or Kwikset locks – it’s more of a keypad, with a roughened surface that hides fingerprints pretty well. Of course pressing the same code over and over is probably going to wear into this. To unlock the door you can type in the code, and it unlocks after the last digit without the need to press any other key. To lock it when you leave, just pressing the Schlage logo will do the trick.

This thing really feels high quality despite how bulky it is, but my biggest issue with it is the price. It fluctuates significantly depending on the trim, finish, and protocol you go for. At the time of trying to buy one of these, it was close to $350 for the Z-Wave, and the Zigbee version was out of stock so I had to pick one up on Facebook Marketplace. Hey, maybe you’ll get lucky and the price will be lower for you than what I saw.

Ultraloq

Let’s move on to another Z-Wave lock, the Ultraloq U-Bolt. There’s something about the simplicity of this lock that makes me love using it. The outer part of the lock has a plain zinc body, and this one has physical buttons rather than a touchscreen, which is good if you’re worried about fingerprints. The interior part of the lock is quite small, and has an attractive matte black finish. It comes with a door sensor that can be attached to the door frame, allowing the auto-lock function to work when it senses that the door is closed. They also provide a screwdriver, which is a nice touch when that’s the main tool you need to install it. Of course it comes with deadbolt hardware as with most of the locks in this article, and is pretty straightforward to install. 

Mounting

You can’t use your existing deadbolt hardware due to a special shaft shape, so you’ll need to install the deadbolt provided.  Once that’s done, you attach the keypad to the exterior, slip the cable through the hole, and then, slip the cable through the hole in the mounting plate. The hole is just big enough for the cable connector to fit through, but it is supposed to go through and then the cable will sit in the notch at the bottom. You then secure the mounting plate to the keypad with two provided screws, and then you attach the cable to the interior part of the lock. After that it can be attached to the plate with two screws that are underneath the battery cover. Testing out the locking mechanism, it turned super smoothly and there was no need for any adjustment. 

Pairing

I then installed the provided AA batteries, installed the battery cover, and went through the setup process in the app. The U-tec app connects to your lock via bluetooth and allows you to configure it. Once you’ve gone through the setup, which involves installing the door sensor if you’d like, you can go into the settings and put the lock into inclusion mode. In Home Assistant you get a lock entity, a battery level sensor, and a low battery level sensor. The optional door sensor doesn’t show up either, and unlike the Kwikset, Schlage, and Yale, the Ultraloq doesn’t have Alarm Level and Alarm Type sensors. This is because it only supports very basic Z-Wave commands. This means that you can’t tell what user has unlocked the door via keypad, or if it’s jammed, or anything like that. That being said, for a simple and reliable lock, maybe you don’t need to know that information.

Feel & Features & Overall

Like I said before, the simplicity of this lock lends to its reliability, and it made me really want to use it as a daily driver. It has a really smooth bolt action, and its motor is one of the quietest of all of the locks I tested – on par with Eufy. If you’re worried that the button numbers are going to rub off, they are actually transparent and part of the button, not just printed on. When the lock is active, the numbers light up, which is not only a cool effect, but also makes them super easy to see. This means there shouldn’t be any issue with the numbers fading or rubbing off with a lot of use. One thing to note with the door sensor, it has to be mounted down near the lock to sense properly, and that can be a problem if you have children in the house. This lock actually ended up being one of the quietest of all of the locks I tested.

Yale

The next one we have is the Yale Assure SL with Z-Wave Smart Module. The one I chose is a bit different because it actually doesn’t have any key operation. This lock has multiple versions, including one with a key, and it also has a Zigbee option instead of the Z-wave one that I have here. I chose keyless because adding another key to my keyring is not something I really want to do. It comes with all the hardware you need, and the smart module is actually separate, meaning you have to install it into the lock during the setup process. 

Mounting

Once again I had to remove the existing deadbolt hardware and install Yale’s. Just like with previous locks, you slide the cable into the bottom of the door hole, and then attach the keypad. Next I installed the mounting plate provided. You’ll notice that the keypad and interior mounting plate both have rubber gasket pads that help with weather resistance. This also make them less likely to ruin your door’s paint, which is a plus. The mounting pad can be secured with two screws, and then the cable can be attached to the interior portion of the lock. Once again, a couple screws are used to secure it to the mounting plate. After this a quick test of the locking mechanism should feel smooth without any resistance. Next I installed the Z-Wave module, then installed the batteries, and replaced the battery cover. Once installed, you’ll be required to put in a master code, and then it will test the operation of the deadbolt and do its calibration.

Pairing

Using the keypad, you follow the instructions in the manual to put the lock into inclusion mode. Once again, it’s best if you have your Z-Wave coordinator right up close to the lock during pairing.

In Home Assistant you get a lock entity, a keypad temporarily disabled entity, a power applied entity, a door status entity, a lock jammed entity, a battery level entity, and a few more battery type sensors. Like with the Kwikset and Schlage, you need to enable the AlarmLevel and AlarmType entities if you want to see the alarms as entities. See the table below listing the different alarm levels and types for your convenience. When I tested the lock jammed entity, it stayed jammed for a while, but at some point did go back to OK. It may be that it waits for a Z-Wave network restart to go back.

YALE
AlarmType AlarmLevel Notification Event
112 0 Master code was changed at keypad
112 251 Master code was changed over RF
112 User-ID# User added. Alarm level = user slot number
33 User-ID# User was deleted. Alarm level = user slot number
161 1 Tamper Alarm – keypad attempts exceed code entry limit
161 2 Tamper Alarm – front escutcheon removed from main
161 3 Tamper Alarm – Keypad attempts exceed master code entry limit (same as code entry limit except # is pressed (to get into the menu), instead of * (to unlock)
22 1 Manual Unlcok By key cylinder or inside thumb turn
25 1 RF Operate Unlock by RF module
19 User-ID# Where Alarm level represents user slot number (0xFB = Master Code)
21 1 Manual Lock by key cylinder or inside thumb-turn
21 2 Manual Lock by touch function (lock and leave)
21 3 Manual Lock By inside button
24 1 RF Operate Lock by RF module
18 User-ID# Keypad Lock 0x12 0x (01 – max users) Where Alarm level represents user slot number
9 1 Deadbolt Jammed 0x09 0x01 Deadbolt jammed while locking
9 2 Deadbolt jammed while unlocking
38 User-ID# A Non Access Code was entered at the lock. Where alarm level represents user slot number
176 0 or 255 Mobile Access** 0xB0 0x(00 or FF) Alarm triggered when mobile credential (YRD446 with BLE) used to open the lock
178 1 Configuration Parameters Updated via Mobile** 0xB2 0x01 A mobile app was used to update the entire configuration parameter table via a mobile credential
168 current % Low Battery Alarms*** 0xA8 0x(Current %) Critical Battery Level (Starting at 4.2V)
167 current % Low Battery (Starting at 4.4V)
27 1 Auto Lock Operate Locked 0x1B 0x01 Auto re-lock cycle complete, locked.
113 User-ID# uplicate Pin -code error 0x71 0x (01 -max users) Where Alarm level represents user slot number Alarm generated in response to add user RF cmd. This alarm is not generated when attempting to add duplicate pin at the keypad. The lock simply denies it and plays the “Denied ”. Trying to duplicate the master code will result in a 0x71 0x00 alarm report.
130 0 Door Lock needs Time set 0x82 0x00 Power to the lock was restored and the locks RTC was cleared. The controller should set the time to ensure proper logging.
131 User-ID# Disabled user entered at keypad 0x83 0x(01 -max users) A disabled user pin code was entered at the keypad
132 User-ID# Valid user but outside of schedule 0x84 0x(01 -max users) A valid user can be both a normal user and a Non -Access user. If a non -access user is out of schedule this alarm will be sent instead of the non -access alarm.
96 User-ID# Daily Repeating Schedule Set/Erased 0x60 0x(01 -max users) Schedule(s) has been set/erased for specified user ID
97 User-ID# Daily Repeating Schedule Enabled/Disabled 0x61 0x(01 -max users) Schedule(s) has been enabled/disabled for specified user ID
98 User-ID# Year Day Schedule Set/Erased 0x62 0x(01 -max users) Schedule(s) has been set/erased for specified user ID
99 User-ID# Year Day Schedule Enabled/Disabled 0x63 0x(01-max users) Schedule(s) has been enabled/disabled for specified user ID
100 User-ID# All Schedule Types Erased 0x64 0x(01-max users) Schedule(s) has been set/erased for specified user ID
101 User-ID# All Schedule Types Enabled/Disabled 0x65 0x(01-max users) Schedule(s) has been enable/disabled for specified user ID
** – The Yale lock also supports a 3rd low battery alarm, too low to operate. This alarm is sent out as a Battery Report (with value = 0xFF) through the Battery Command Class. This is the last low battery alarm level before the product stops functioning.

Feel & Features & Overall

Overall this lock has to be one of my favorites specifically because it doesn’t require a key. Another great feature that makes it stand out above the rest is the fact that it has a set of terminals on the underside of the keypad. If the battery dies when you’re out of the house, a 9V battery can be pressed against the terminals to power the lock, allowing you to type in your code and gain access. This lock has been super reliable, both in Home Assistant and via keypad unlocking, and the motor is quieter than the Schlage and the Kwikset.

So, the last lock we’re gonna take a look at is a Bluetooth lock. When I started this comparison, there weren’t too many supported Bluetooth locks in Home Assistant, but now there are plenty more being added with the 2022.8 version of Home Assistant.

Level Bolt

This lock is the Level Bolt. This thing is the world’s first invisible smart lock, featuring a motor with 6-stage stainless steel gearbox, a magnetic deadbolt mechanism that houses the battery, and all of this hidden inside your door. It’s super quiet since the motor is small, and is hidden inside your door. It comes with the motor, the bolt, some tailpiece adaptors for some common lock shaft types, a strike-plate and the necessary screws. It has an extender for the bolt if you need a longer one, and it’s powered by a CR2 battery. 

As I mentioned, it’s a Bluetooth lock, so your biggest concern will be the range of the device’s communication.  

Mounting

To install the lock, you first install the bolt part into the door. You really need to change out the strikeplate as well since the hole required for the bolt is larger than a typical deadbolt. Once that’s installed, you’ll need to add the motor portion, and then tighten down the set screw that holds them together. Once that’s in place, you can go ahead and add the tailpiece adapter that works for your lock shaft. After that, install your original lock thumb-turn and keyway just the way you would with a normal deadbolt, and you can test out the manual operation, which shouldn’t provide any resistance. Now it’s time to install the battery, which you can see actually sits inside the bolt’s shaft. Although this seems like it would make the bolt very easy to break, the bolt still has an ANSI Grade 1 rating, and Level wants you to know it.

Pairing

You first should get the device set up in the Level app, which is pretty straightforward, so I won’t show you that. It relies on you being close enough to your door for the Bluetooth to connect and control it. In Home Assistant, it should be automatically recognized via the HomeKit Controller integration. When you go to add it, you’ll have to type in the HomeKit pairing code that comes with the lock, and then it will be added. In the device page you have a lock entity, but that’s pretty much it. It has unlocked, locking, and locked states, but that’s all.

Feel & Features & Overall

I have to say that I love the idea of an invisible smart lock. In fact, someone recently gave me the idea to do a video/article on an invisible smart home, which I think would be super fun. If you’re interested in that kind of video/article, let me know! The ability to keep the same key, and the same look both outside and inside is so awesome. What you’re missing out on is a keypad, and the range of Z-Wave, Zigbee, or WiFi locks. This being said, the Level Bolt has the basic locking and unlocking controls that you’d want, without any sacrifices aesthetically. Of all of the locks we’ve tested, this one seemed to have the most frequent long delays before responding. I may be the Bluetooth technology, but with this one I’ve found myself standing at my back door without my keys, tapping the unlock button again, and hoping I’m not locked out.

Anyway, thanks for sticking around to the end! Now let’s go over which ones I think are the best.

Favorites

If you just want a simple, reliable lock that can be controlled via Bluetooth as well as via Home Assistant, you can’t go wrong with the Ultraloq U-Bolt. If you don’t care about getting fancy in Home Assistant with knowing who is accessing the door, this simple, reliable, and quiet lock is a good choice. There is also a Pro version of the U-Bolt that has a fingerprint scanner, but that one is a bit more expensive.

If you’re just looking for the cheapest, the Kwikset 916 is a great option, especially for all of the features that it has. While it’s the loudest of all of the locks, if noise doesn’t matter to you, it’s worth the price. I have heard reports that, if exposed to direct sun, the 916’s keypad may eventually crack. While that hasn’t been my problem so far, I may switch it to my back door if I see weathering.

If you don’t care about price, and you want a lock with plenty of features, a high quality feel, and can opt for Z-Wave, I’d go for the Yale Assure SL. Quieter than the Schlage or the Kwikset, it’s well documented and very robust in terms of it’s Z-Wave communication. You can get it with a physical keypad rather than touchscreen, and can also opt for the keyed version as well. All of this comes at a hefty price, but it may be worth it to you.

As on honorable mention, the Level Bolt is a cool idea, and if Bluetooth range was a little better, I would have enjoyed this lock more

Least favorites:

Ok, so here are the ones I would NOT recommend.

The first one is only on my naughty list because of the price. It fluctuates anywhere from 200 to 400 dollars, but sits around 300, and that’s just way too much in my opinion. You might say it’s the Cadillac of smart locks – big and expensive, but works well. If you can find it for a good deal, below $300, I’d say it would be worth it.

The next one I wouldn’t recommend is the August Pro 3rd Gen lock with Z-Wave. While the Z-Wave communication was extremely unreliable, the only other option is cloud-based. If August would open up a local API, their WiFi locks would be great for apartments rental properties, but as they sit right now, I couldn’t recommend them.

Lastly we have Eufy. If you don’t care about cloud connectivity, and you should, then Eufy is a great option because it’s WiFi, has a fingerprint scanner that works super quickly, and it seems to be high quality. Despite having 3 alternative ways to enter your home, the keypad, fingerprint, and key, having a lock exposed to and relying on the cloud is not really a good idea.

Thanks for reading!

Anyway, I hope you enjoyed this article and it gives you a good idea of some of the smart locks that are out there and how they function. My biggest piece of advice for the Z-Wave locks is to get a USB extension cable to bring your Z-Wave radio as close to the lock as possible, and be patient with pairing. Yes, you can also bring the lock close to your coordinator if you want!

I’ll be doing more comparisons like this, as well as reviews and other videos/articles, so if you’re interested, please consider subscribing to my YouTube channel!

Anyway, thanks for reading!

Best Water Leak (Flood) Sensors for Home Assistant

What’s up Smart Homers! In this article I’m going to compare 10 different water leak sensors that work with Home Assistant.

Water damage can be very costly for homeowners, and a source of annoyance for those who rent their living spaces. Often water leaks start out small, and can go undetected for a long time, and are only found when the damage is significant. Water leak sensors, sometimes called flood sensors, can be very useful for remotely detecting water leaks in suspected locations. They can be especially useful if you own a rental property, Air B&B, or vacation home that you aren’t always living in.

Water leak sensors basically work by using two or more conductive “electrodes” or “probes” that are exposed to water. Since most water (besides de-ionized or distilled water) is conductive, when it comes in contact with at least two of the “probes”, it closes the sensing circuit and tells the device that it has detected water. Even a damp paper towel has enough water in it to conduct!

Anyway, I bought a bunch of leak sensors from a few different brands and I’ll compare their prices and features, and I’ll also give you some ideas for how they can be used in your smart home. At the end of the article I’ll tell you my favorites and least favorites!

Requirements

The requirements for my sensor selection are:

  1. They have to work with Home Assistant
  2. They can’t require any other hub than a Zigbee or Z-Wave radio*
  3. They have to cost less than $50. 

*Note that the “no hub” requirement assumes that you have Home Assistant set up and that you also have Zigbee and Z-Wave radios working with your Home Assistant instance.

I’ll be adding these devices to Home Assistant using ZHA and Z-Wave JS.

I didn’t see any WiFi devices that I wanted to look at beside the Shelly leak sensor, and that one was going to take too long to arrive.

For each sensor, I put them in a dish and tried to determine their sensitivity levels. This didn’t yield anything super informative.

Overview

Name Model Protocol Price Battery Sensors
Aqara Water Leak Sensor SJCGQ11LM Zigbee $ CR2032 leak,device temp
Linkind Water Leak Sensor LS21001 Zigbee $ 2xAAA leak
Centralite Water Sensor 3315-C Zigbee $$$ CR2 leak, temp
Aeotec/SmartThings Water Leak Sensor Zigbee $$$ CR2 leak, temp
Third Reality Water Leak Sensor 3RWS18BZ Zigbee $$ 2xAAA leak
Sinope Sedna Water Leak Detector WL4200S Zigbee $$$$ 2xAAA leak, temp
Zooz Water Leak XS Sensor ZSE42 Z-Wave $$ CR2032 leak
Ecolink Wireless Flood/Freeze Sensor H214104 Z-Wave $$$ CR123A leak, freeze
HomeSeer Leak Sensor HS-LS100+ Z-Wave $$$ ER14250 leak, temp
Aeotec Water Sensor 7 Pro ZWA019-A02 Z-Wave $$$$ ER14250 leak, temp, hum

Zigbee Water Sensors

Ok, so let’s look at some Zigbee sensors.

Aqara Water Leak Sensor

The first one is the Aqara Water Leak sensor. This one looks a bit different from the other Aqara products we’ve covered like the Aqara button and temperature sensor. Rather than the matte white body with gray accents, this one is all white with a glossy finish, and has a single water droplet in the middle.

On the back side it has a battery compartment that can be opened with a flathead and two hex screw heads. The two screw heads are actually the electrodes used for sensing water. You can see that they are raised up from the flat surface of the bottom of the sensor by a few thousandths of an inch. This makes it so that the sensor can be set on a flat metal surface without closing the sensing circuit, and requires a very small amount of water surrounding the sensor for it to reach the electrodes. You can also unscrew them a little bit and connect probe cables to them if you want to use them for remote sensing of water instead of directly with the device.

If you take the battery cover off, you’ll notice that it has a rubber seal under the cover, sealing off the inside of the device from water. I did find in the fine print of the manual that this device is supposed to be waterproof, so I put it to the test. I left it in a dish for 24 hours, and water didn’t even make its way to the seal under the battery.

To pair this sensor with Home Assistant, you need to press the hidden button that’s underneath the water droplet icon on the flexible shell on the top side of the sensor. If you press and hold it for 10 seconds, the device will go into pairing mode and is instantly picked up by ZHA. In Home Assistant you get the water sensor, a device temperature sensor, and a battery sensor. This is the internal device temperature, and will not accurately report the air temperature.

Since this device is waterproof, I might be useful in places where you want to check for leaks, but large volumes of water could also be present. Just remember that it floats, so you might need to secure it.

Linkind Water Leak Sensor

The next device we will look at is the Linkind Water Leak Sensor. Linkind makes a line of extremely cheap Zigbee devices, and this one is no exception. Once again, it’s the cheapest of all of the devices we’ll be looking at in this article. It’s much larger and heavier than the Aqara, and that’s mainly because it is powered by 3 triple A batteries. To replace these batteries, you’ll need to unscrew the four screws found on the back of the sensor. On the front you’ll notice the Linkind brand in large gray letters as usual, and while that has been a negative for some of the other Linkind devices, a leak sensor is probably not out in the open very often, so this probably doesn’t matter.

You can also see some holes on the front for the alarm speaker. This device has an 85 decibel alarm that is triggered when a leak is detected. On the back side you’ll see 4 electrodes, two on the top half, and two on the bottom. When at least one from each half come in contact with water, it causes the alarm to go off. In the middle of the back you’ll also see a rubber button. 

To pair the device with Home Assistant, triple-press the button to put it into pairing mode. If you hold the button down, the alarm will go off. In Home Assistant, you get water leak and battery level entities.

Centralite Water Sensor

The next one is the Centralite Water Sensor. This device has a similar look to the rest of the devices in Centralite’s line of Zigbee sensors, many of which have a set of holes on the face to allow ambient air to reach the temperature sensors inside them. This device has a series of indentations where the holes would typically be, but no actual holes! Despite the lack of holes, the device still does have a temperature sensor, and it does have a hole on the side which honest looks unintentional and bothers me a bit because it might allow water inside the device if the water gets a little too high. The device has a grey back, and a white cover with an icon of a water droplet falling into a pool of water. On the bottom you can see the two electrodes that are positioned very close to each other compared to the previous two sensors. This means that even a very small bit of water (just a few drops) could trigger this device if they come in contact with the metal electrodes. This one is definitely not waterproof, but does have IP20 touchproof rating.

To initiate pairing mode, pull the battery isolator tab, and it is immediately recognized by Home Assistant, giving you water, temperature, and battery entities. One thing I noticed during my testing was that, when I used a paper clip to bridge the electrodes and simulate a leak, the entity stayed “wet” until I pulled out the battery and then put it back in. Since then it has functioned normally with no issues.

Since the electrodes are nice and close to each other, this one is good for putting up against the base of your toilet. If there is a leak, they should pick it up before it is all over the floor.

SmartThings (Aeotec) Water Leak Sensor

The next one is the Aeotec Water Leak Sensor, formerly branded as SmartThings. I’m going to refer to this one as the SmartThings sensor for the rest of this review. The sensor has two sets of electrodes, one set on the top in the indented area, and one set on the bottom. The bottom of the sensor is gray with a rubberized texture to it, with little stand-offs in each corner. These “feet” keep the electrodes from contacting the surface the device it set on. You can slide the bottom of the device to open it up, where you’ll see the CR2 battery, and also the contacts that connect the top-side electrodes to the body of the sensor.

This sensor is only one of all of the sensors we’re looking at that has a drip sensor. What I’m calling a drip sensor is this shallow indentation on the top of the device that has two electrodes in it. This is meant to be placed under a slow or potential leak in order to catch a small amount of liquid the drips on to the sensor. Even if not directly under the leak, the drips would eventually fill the small indentation and trigger the leak alarm.

To add this device to Home Assistant, put it into pairing mode by pulling the battery isolator tab. If you want to pair it in the future, triple press the button on the bottom. In Home Assistant, you get water and battery sensors, but you also get a temperature sensor!

I use this device to watch for leaks in some plumbing behind my toilet. Since it has the drip sensor, I may be able to catch the leak before it does any damage to my walls. Since it has a temperature sensor, I also can monitor the temperature in that wall since it gets pretty cold.

Third Reality Water Leak Sensor

Next we have the Third Reality Water Leak Sensor. I’d say this one is the most unique of all of the sensors because of its unique wqater droplet shape. Instead of going for a minimalist approach, they shot for a unique shape that’s all their own. The sensor has a raised plateau on top with little holes around the edge, and underneath it is a speaker is that sends out a 120dB alarm when a leak is detected. On the bottom you can see three flathead screws that act as electrodes for sensing leaks. If any two of them come in contact with water or other conductive surface, the leak alarm is triggered. You’ll notice that the screw holes for these screws are recessed quite a bit, meaning that the screw heads are raised up a bit from the flat bottom of the sensor. This means that more water would need to accumulate for this sensor to be triggered than for the other ones that we looked at. If you’d like to make this more sensitive, you could add some spacers underneath the screws to make protrude past the bottom surface of the device. Shout out to Caleb Pryor, who created a spacer that can be 3D printed and used for this device.

The device I ordered also came with a “dripping detection” kit. This is pretty much two metal pieces that can be attached to the device with the screws to extend the conductive surface of two of the electrodes so that they are closer together. The makes it so that you can place it underneath a dripping faucet, and if the drip hits just right, it will contact both pieces of metal and trigger the alarm. This isn’t a true drip sensor like the SmartThings sensor, but it does bring the electrodes closer together, meaning a smaller accumulation of water may be needed than without the dripping kit.

To put the device into pairing mode, remove the 3 flathead screws using the provided screwdriver and install the batteries. Honestly, this part was super annoying since flatheads are not fun to screw and unscrew. However, using my Wowstick made the job a lot easier. Shout out to these sweet little battery-powered drivers which make electronics jobs a lot easier.

The device also has a pairing button under the cover that can be used to pair the device in the future. In Home Assistant you get the water sensor, battery sensor, and an on/off sensor that doesn’t seem to have a function.

Sinope Sedna

The last Zigbee sensor we have here is the Sinope Sedna Water Leak Detector with Probe. This is the first one we’ve looked at so far that has a probe rather than electrodes on the body of the sensor. The body of the sensor houses two triple A batteries which can be seen if you remove the cover, which is magnetically secured to the body. You’ll also see a pairing button and some LEDs under the cover. The back of the device has a pre-installed adhesive pad for mounting the body of the sensor, and also some slotted screw holes for a screw mount. On one side of the device there is a 3.5mm jack which is used to connect the sensor probe. The probe has a nice quality cable that is about 48” long including the probe head, and the electrodes are set up in an interesting way. Both electrodes form an L shape, so that the sensor can then be mounted either to a wall near a horizontal surface, or to the horizontal surface itself. The probe head has screw holes for securing it to whatever surface you choose, and there are little rubber feet to keep it off of the surface by just a bit.

When a leak is detected an audible alarm will sound. I’m not sure of how loud it is exactly, but it is a fair bit quieter than the ThirdReality and Linkind sensors. This device also has a temperature sensor which is located in the body of the device, not in the probe head. The temperature sensor is within a half a degree of the Xiaomi sensor that I showed in my temperature sensor review.

To add the device to Home Assistant, pull the battery tab, and then press the “Link” button under the cover. In Home Assistant you get water, temperature, and battery entities.

One thing I noticed with this device was that the probe has to sense water for about 5 seconds before sends the alarm, which is a much longer wait time than any of the other sensors, which were almost instantaneous. This really isn’t a big deal to me, but it might be for you if you want instant feedback.

This device is good for when you want to put a leak sensor in location that is hard to reach. This way, if the batteries do need to be replaced, you can do it without having to disturb the probe.

Z-Wave Water Sensors

Ok, that’s it for the Zigbee sensors, now let’s take a look at the Z-Wave devices.

Zooz Water Leak XS Sensor

The first Z-Wave sensor is the Zooz Water Leak XS Sensor, also called the ZSE42. This one is actually the smallest of all of the devices we’re looking at today, and the first one that uses its electrodes as feet. What I mean by this is that the sensor has 4 conductive metal pads, one on each corner, and these sit directly on the horizontal surface where you set it. This means that it will be more sensitive than some of the others – it would theoretically trigger an alarm at a lower level of water than the other sensors, although the difference is probably miniscule. 

If you open cover you’ll see a PCB that looks extremely similar to the Zooz Temperature sensor and the Zooz Contact Sensor, all of which are part of their XS series. Pull the battery isolateor tab, and then triple-press the button on the PCB to put it into inclusion mode. When I first included this device in Z-Wave JS, I did it in S2 security mode, and some of the entities didn’t show up. Adding it insecurely fixed this issue, resulting in a water sensor, battery level sensor, and low battery sensor. The configuration options allow for setting the alarm clear delay.

One thing to note about the water detection with this sensor is that it doesn’t just require continuity between any two electrodes, but specifically between the top two, bottom two, or diagonally, but not between the top and bottom on the same side.

Ecolink Flood/Freeze Sensor

The next Z-Wave sensor is the Ecolink Flood Freeze Sensor. If you’ve seen my previous articles/videos, you may recognize this device because it looks very similar to Ecolink’s contact sensor. In fact, it has almost the exact same body as their contact sensor, but instead of a magnet, it has a probe-style water leak sensor with a length of about 85”! That’s the longest probe length in this article. It has an LED on the body that flashes when it senses water, and stays lit when the cover is removed. This is because it has a tamper sensor so that you can be alerted if someone is trying to bypass or disable it. It can be mounted with either the 3M adhesive or the screws provided, and a mounting plate is provided for the body of the sensor so that it can be clipped onto the plate once the plate is screw mounted. The plate is designed so that it clicks into place, and the cover has to be removed to release the plate.

Adding this device to Home Assistant is not too complicated. Put Z-Wave JS into inclusion mode, and then pull the battery isolator tab on the back of the device. As soon as you do this it instantly begins the interview process, the LED on the front turning solid green. In the future you can put it into inclusion or exclusion mode by pulling the battery and then putting it back in 

When first added, the only entities that showed up were a water sensor, battery sensor, and tamper sensor. When testing the water sensor, I found that it stayed wet after first trigger and never went back to dry. Also, no freeze sensor was available. I found 4 entities that were disabled by default. Enabling the water and freeze binary sensors, I tested them and they functioned properly, so I disabled the original one that wasn’t working. I tested the freeze sensor in my chest freezer, which worked great.

HomeSeer Leak Sensor

The next one is the HomeSeer Leak Sensor. This is my first HomeSeer device, because the previous ones I’ve looked at were a little expensive, but this one was under $50 so I gave it a shot. This device is different from the rest in one major way, it has electrodes on the body of the sensor that would sit directly on a horizontal surface, but it also has a probe with a 45” length that can be attached to the underside of the sensor magnetically. When aligned properly, the electrodes make contact with conductive pads on the magnet end of the probe. The magnet end of the probe has a slotted hole on it that can allow the sensor body to be mounted to the wall when you’re using it. While the underside of the sensor body has three electrodes, only two of them are actually used for sensing water. The third one is just a support, or a third foot.

The body of the sensor can be twisted to open the cover, revealing a PCB with an inclusion button and an ER14250 battery. The battery is wrapped in plastic, so you have to pull that off and re-install it, and then press the pairing button to put it into inclusion mode. In Home Assistant this thing comes packed with sensors, showing up with air temperature, freeze, heat, tamper, water, and water alarm sensors as well as battery level and low battery sensors. The water and water alarm sensors seem to do the same thing, so you could probably disable one or the other. I tested the Freeze sensor in my chest freezer and can confirm that it works, and the temperature sensor is within a degree of the Xiaomi sensor that I showed in my temperature sensor review. The configuration options have leak and temperature reporting intervals, enabling and disabling of the shock alarm, set-points for high and low temp sensors, and the low battery level threshold

Aeotec Water Sensor 7 Pro

The last device we’ll look at in this article is the Aeotec Water Sensor 7 Pro. Like the Ecolink, this sensor only has a probe option, and also just like the Ecolink, this one obviously has the same housing as the Aeotec door sensor. The probe has a cable length of 63”, and the head has a hole in it that can be used to screw it into place. If you open the cover, you’ll see an ER14250 battery. There’s a tamper switch inside as well as a temperature sensor. To pair the device, remove the battery isolator, and then triple tap the tamper sensor switch to put it into inclusion mode.

When I first added it to Home Assistant via Z-Wave JS, I added it in S2 security mode, and it only showed water and tamper sensors. However, when I removed it and added it without security, temperature and humidity sensors appeared as well. Along with air temp, humidity, tamper, and water sensors, you also get battery level, low battery, and replace battery sensors. The configuration page has LED indicator options as well as options for temp and humidity report change triggers, automatic reporting intervals, temperature units, and more.

Favorites Mentions

Anyway, thanks for sticking around to the end! Now let’s go over which ones I think are the best.

The cheapest non-probe style device is the Linkind sensor. Having 4 conductive pads makes it fairly sensitive to small volumes of water, and the two AAA batteries mean that it should last for a long time without having to worry about it. However, I’m not a fan of loud alarms, so the winner of this category is going to have to be the Aqara sensor. Not only is it priced just slightly higher than the Linkind, but it looks good so it’s ok if it’s out in the open. The screw electrodes on the bottom allow you to attach leads if you want, making this one even more versatile. If you want a non-probe-style Z-Wave device, I’d recommend the Zooz sensor. It’s very small and discreet, and the fact that the 4 electrodes sit directly on the ground make it very sensitive to moisture. However, the price is higher than the other two because it’s a Z-Wave device.

My favorite sensor for catching drips is the SmartThings sensor. The little indentation on the top is great for catching drips, and none of the other sensors have this capability. 

If you want one with a loud alarm, the Third Reality is gonna do it for you. It’s annoyingly loud, but if you need that audible alert, this one will do the trick. The fact that it has AAA batteries should mean that it has a decent battery life, but changing them will be a pain with those flat-head screws. However, many Home Assistant users have smart speakers, so the need for an on-board alarm is not strong.

My favorite probe-style sensor, and the one that I just love the look and feel of, is the Sinope Sedna Leak Sensor. The entire thing has a high-quality feel, and the magnetic cover makes changing the batteries a breeze, even though you shouldn’t have to very often. The audible alarm isn’t too loud, so it’s tolerable, and the extra temperature sensor is great. The only thing I would change is probably giving an option for longer probe cable length. However, this device is very pricey and the price has changed on Amazon since I bought it, so if that one doesn’t suit you, I’d say the runner-up is the HomeSeer sensor.

Least Favorites

Ok, so here are the ones I would NOT recommend.

The first one is the Centralite, and that’s really because it’s just kind of underwhelming. Beside the built-in temperature sensor, there isn’t much else positive to say about it, and the hole on the side very close to the bottom of the sensor has me worried that it could be damaged by water before you get the leak stopped.

Next, the Ecolink sensor. I love the fact that it has a super-long cable, but the fact that it doesn’t even have a temperature sensor, and only a freeze sensor means it doesn’t have much else to offer.

Anyway, I hope you enjoyed this article and it gives you a good idea on what leak sensor is right for your smart home.

Best Temperature Sensors for Home Assistant

What’s up Smart Homers! In this article I’m going to compare 10 different temperature and humidity sensors that work with Home Assistant.

Previously I’ve looked at smart buttons, contact sensors, motion sensors, and smart plugs, and in this review I’m doing the same thing, but with temperature and humidity sensors. I bought a bunch of temperature and humidity sensors from a few different brands and I’ll compare their prices and features, and I’ll also give you some ideas for how they can be used in your smart home. At the end I’ll tell you which ones I would and would not recommend!

Requirements

The requirements for my sensor selection are that they have to work with Home Assistant, they can’t require any other hub than a Zigbee, Z-Wave, or Bluetooth radio, and they have to cost less than $50.

I’ll be adding these devices to Home Assistant using ZHA, Z-Wave JS, and the Passive Bluetooth LE Monitor custom integration.

Note that the “no hub” requirement assumes that you have Home Assistant set up and accessible via WiFi, and that you also have Zigbee, Z-Wave, and Bluetooth radios working with your Home Assistant instance.

For each sensor, I subjected them to large temperature swings by placing them in my refrigerator and freezer.

Overview

Name Model Protocol Price Battery Mounting Method Temp Range Ref Rate
Sonoff Temperature Sensor SNZB-02 Zigbee $ CR2450 adhesive 14 to 104 F 30 sec, 1 deg
Aqara T&H Sensor WSDCGQ11LM Zigbee $$ CR2032 adhesive -4 to 122 F 10 sec, 1 deg
Aqara Air Quality Monitor AAQS-S01 Zigbee $$$$ CR2450 × 2 adhesive, magnetic 32 to 122 F 30 sec, 1 deg
Centralite T&H Sensor 3200-C-P Zigbee $$$ CR2 screw, adhesive 14 to 185 F 1 min, 1 deg
Aeotec aërQ ‎ZWA039-A Z-Wave $$$$ CR2477 14 to 146 F 15 min, .1 deg
Zooz XS T&H Sensor ZSE44 Z-Wave $$ CR2450 adhesive 4 to 104 F 1 min, 1 deg
Xiaomi Mijia Smart T&H Sensor YTC4018CN Zigbee $$ CR2032 adhesive 32 to 140 F 11 min, 1 deg
Govee Lanyard Thermohygrometer H5174001 Bluetooth $ 3 x AAA Lanyard -4 to 140 F 2s
Govee Digital Thermohygrometer H5075001 Bluetooth $ 2 x AAA Stand -4 to 140 F 2s
Inkbird T&H Monitor IBS-TH2 Bluetooth $$ 2 x AAA magnetic -40 to 140 F 2s

Zigbee Devices

First, let’s look at some Zigbee devices.

Sonoff

The first one is the Sonoff Temperature and Humidity sensor. I asked on social media which devices you guys used, and this one was a popular one. You’d recognize the look anywhere – the same square, sharp look with the chamfered corners that we’ve seen with all of Sonoff’s devices. In fact, this sensor looks almost identical to the Sonoff smart button that we looked at previously – you actually couldn’t tell the difference from a distance unless you saw the thermometer icon on the front. It has a little button on the bottom for pairing, and on the top it has a few vent holes that allow the ambient air to reach the sensor. It comes with adhesive backing as the only mounting option.It’s a little tough to open, even with a screwdriver, but when you do you’ll see the battery. If you remove the battery isolator you can close it back up and then hold the pairing button down for a few seconds to put it into pairing mode.

In Home Assistant it shows up with temp and humidity sensors as well as a battery level entity. From my testing it seems to have decent reaction time to large temperature swings, like when I put it in my refrigerator. It has a refresh rate of 15 minutes and a threshold of 1 degree, meaning temperatures are recorded every 15 minutes, or every 1 degree change in temperature, whichever is sooner.

Aqara Temperature & Humidity Sensor

Next we have the Aqara Temperature & Humidity Sensor. This one is the smallest of all of the sensors by volume. It looks very similar in shape and size to the vibration sensor and smart button that they make. It has a clean modern look – a white body with gray accents, and has a thermometer symbol on the front that is very similar to the Sonoff. It comes with an adhesive ring that can be used to mount the sensor to a surface. Unfortunately, this makes accessing the battery a little more difficult since the cover is on the back. While it is mounted, you just need to twist the sensor counter-clockwise and it should open. The cover will stay mounted to the surface. The one thing I don’t like about this sensor is that it has holes for ambient air on the bottom of the sensor. This means that if you have it standing upright, the holes are covered. This hasn’t been a big deal for me since I have most of these mounted with adhesive, but it’s something to be aware of.

To put it into pairing mode, just pull the battery isolator tab and then hold the pairing button for a couple of seconds. In Home Assistant it shows up with temp and humidity sensors as well as a battery level entity. From my testing, this sensor has the best reaction time to large temperature swings of all the sensors in this article. I’ll show a little more about this in the testing results section of this article.

This sensor looks great aesthetically, so it’s a good choice to use in locations where it’s visible. I use one of these in my bathroom to sense the humidity and automatically turn the exhaust fan on when it reaches a certain level.

Aqara Air Quality Monitor

The next one is the Aqara air quality monitor. I guess this is more of a multisensor, so maybe I shouldn’t have included it, but I have been wanting to get my hands on it since they released it, so this was a good excuse. This device measures temperature, relative humidity, and the total volatile organic compounds in the air, or TVOC.

Probably my favorite feature about this device is the E-ink display. E-ink displays allow for high-contrast display of information without high battery drain. There are 3 different display configurations which you can cycle through by double-tapping the button on the top. In typical Aqara style, this device has a white body with a gray back which can be removed to expose the batteries. This device has two CR2450 batteries in it, so the battery life should be great. The vent holes that allow the ambient air to reach the sensors are on the sides, which I think is better than on the bottom. The device can be mounted either via adhesive, or magnetically. A magnet is provided with an adhesive

To pair the sensor, just pull the two battery isolator tabs and then hold the pairing button on the top for a few seconds. In Home Assistant, you get the temperature, humidity, and VOC level in parts-per-billion.

The high-contrast display makes this a nice sensor for using to quickly glance at the temperature. A good use for this could be a place like a baby’s room where you want to keep an eye on the temperature more than other rooms in the house. A quick glance can tell you if it’s too warm or cold, too dry, or if you need better ventilation in the room.

One problem I have with this device is that it displays the temperature in Celsius rather than freedom units, and there’s no way to switch between the two without the Aqara hub and setting up an Aqara account. To me this is an issue, and a step away from complete local control of a device toward cloud-locked features. This should probably be fine for literally everyone except people that live in the US.

The other problem I had was that this sensor dropped out multiple times, showing as unavailable in Home Assistant. Pressing the button would wake it up and it reconnected, but It shouldn’t be dropping out like that.

Centralite

Next we have the Centralite temperature and humidity sensor. This sensor is pretty hefty, much thicker than the Aqara sensor. At first I wondered why, because in a previous article I covered the Centralite contact sensor which was smaller than this, and the contact sensor had a temperature sensor inside it! Popping the cover open, you can see right away why it is so big – it has a big old CR2 battery inside. This should give the sensor very decent battery life, but it also could be a problem because CR2 batteries are not very common in smart devices, at least in my experience. IT’s too bad they couldn’t have used a CR123A instead, which is far more common.

Anyway, it has an array of ambient air holes on the front which gives it a distinctive Centralite look, and it has a grey thermometer icon on the front which apparently is a requirement for all temperature sensors. The sensor can be mounted with adhesive, but it also has a slotted hole on the back that can be used to mount it with a screw or nail.

To put the device into pairing mode, pull the battery isolator tab. In Home Assistant, you get temperature, humidity, and battery sensors.

Ok, so that’s it for the Zigbee sensors, now let’s take a look at some Z-Wave devices.

Z-Wave Devices

Now let’s take a look at some Z-Wave devices.

Aeotec aërQ

The first one is the Aeotec aërQ sensor. This sensor is quite small – maybe a little larger by volume than the Aqara. It has a round button in the center of its face, with an LED indicator behind it. It has a gap around the edges of the button which I assume allows the ambient air to reach the sensors. Inside, it has temp and humidity sensors, and it uses these sensor values to calculate the dew point. If you pop off the back cover, you see that this sensor uses a CR2477 battery, which is not very common in smart home sensors.

To pair the device, remove the battery isolator tab (which is a little hard to grab). I ended up taking the battery right out so that I could get the isolator out. Put the cover back on, and then triple press the button on the face of the device. So, here is where I ran into trouble. The device was taking an extremely long time to pair in secure S2 mode, and when it did, there were no configuration options! Conducted a bunch of testing with all of the sensors, and then later found that I had to pair it on non-secure mode, and then it seemed that it was properly included. It took me about 4 tries to finally get it paired properly, which was kind of annoying.

In Home Assistant, you get a temperature, dew point, humidity, overheat, underheat, and moisture sensors as well as battery level, low battery, and replace battery sensors. The configuration options when included properly give you a wide range of options including temp and humidity reporting thresholds, refresh rate, temperature units, and much more. It’s important to note that the dew point sensor is only  a calculated value that you could probably set up in Home Assistant with a template sensor.

Zooz XS Temperature & Humidity Sensor

The next Z-Wave sensor is the Zooz XS Temperature and Humidity sensor. This sensor is the most non-descript of any of the sensors in this article. It has a thin, rectangular body, with no marking of any kind on the front. The back has a bunch of information about the sensor, and the bottom has some ventilation slots for temperature sensing purposes. The back also shows that the sensor needs to be installed with the vents facing down. This could present a problem if you wanted to rest the bottom on a flat surface, but it does come with an adhesive pad for mounting purposes. If you pop off the cover, you’ll see a CR2450 battery with a battery isolator, and you’ll also see a pairing button on the PCB. Remove the isolator and then triple press the pairing button to put it into inclusion mode.

In Home Assistant you get Air temperature, Humidity, Overheat, Underheat, Moisture, Battery level, and Low battery level sensors. Similar to the aerQ, the Zooz sensor has a ton of configuration options including Report Thresholds for Battery, Temperature, and Humidity; Overheat and Underheat thresholds, Temperature Scale, Temperature and Humidity Offsets, and Temperature and Humidity reporting intervals.

This sensor has a slim profile which could make it very useful up against trim or other locations where it can be tucked away but still in sight. During my testing I did find that the device stopped communicating when I put it in the freezer. I’m not sure if it was the metal freezer or the cold that caused the issue, but it is a noteworthy occurrence.

Bluetooth Sensors

Ok, next we’ll look at the Bluetooth devices. Before I began researching for this review, I had not used Bluetooth devices with Home Assistant because I use a Home Assistant Blue for my main setup, and it doesn’t have a Bluetooth radio. However, someone on YouTube (The64BitKid) mentioned Bluetooth Low Energy devices to me, and mentioned that there are a lot of cheap BLE temperature sensors out there that work well. My test setup is a Pi4 with Bluetooth built in, so I decided to test some out. I also picked up a Bluetooth adapter and USB extender for my Home Assistant Blue so I can use these BLE sensors on my main setup. To connect these devices, I used the Passive BLE Monitor HACS integration, which I understand works better than the BLE Tracker integration native to Home Assistant.

Xiaomi Temperature and Humidity Sensor

The first of the Bluetooth sensors is the Xiaomi Temp and Humidity sensor. This sensor is the cheapest of all of the sensors in this article, and has become pretty popular among the DIYers of the smart home community. The devices has a very small footprint, only a little larger than the Aqara sensor, and it comes with a digital display. The display has both temp and humidity readings on it, and although it seems pretty cheap, it is readable from a short distance away without issue. It comes with a small adhesive pad for mounting purposes, but can also stand on edge.

Connecting this sensor to Home Assistant is not as straightforward as the other BLE sensors we’ll cover because you actually have to connect this one to the Xiaomi Mi Home app first. There you can change the temperature scale if you want to. Once you do that, you have to use a special web program to obtain a device key, and then enter that key in Home Assistant in the setup. Then, you’ll have to wait about 10 or 15 minutes for the device to show up. In Home Assistant you get the temp, humidity, and battery sensors as well as RSSI and voltage entities.

From my testing, both at ambient temps and in my freezer, the Xiaomi remained within 1 degree of the Aqara at all times. The only major difference was the reporting frequency – the Xiaomi reported much less often than the Aqara, and more erratically. As I understand it, the Xiaomi can be flashed with custom firmware to change the reporting frequency, but the only time this reporting frequency would be a problem for me would be if I was trying to track large and immediate temperature swings.

Govee HS5174 Lanyard

The next one is the Govee HS5174. Govee has  staggering number of Bluetooth temperature sensors, many of which work with HA, but I’m just going to cover this one and one other. This one has a really unique look to it, being the largest sensor we’ve covered so far. It has a glossy finish on the front, and a matte finish on the rest of the body. It really has a quality feel to it, with a nice weight when you hold it in your hand. The sensor has a thermometer symbol on the front, but this symbol has an LED indicator behind it that flashes blue when the sensor is communicating. It also has a hole in it that allows the ambient air to reach the inside. If you pop the back cover off, you can see that it is powered by three AAA batteries, which is why the sensor body is so big. It also comes with a lanyard that can be installed with a bit of difficulty so that the device can be hung by it. This might come in handy if you have a greenhouse or something and you want to monitor the temperature during certain times of the year. You could hang it on a nail or hook with the lanyard, and remove it when you don’t need it anymore.

To add the device to Home Assistant, you’ll need to pull the battery isolator tab and then find it in the Passive BLE Monitor integration. In Home Assistant you get the temp, humidity, and battery sensors as well as an RSSI entity.

From my testing, the Govee Lanyard was typically between 1 and 2 degrees higher than the Aqara, but I also noticed that it took longer to adjust to abrupt and large swings in temperature. I’ll show more of that data in my testing section.

Govee Digital H5075

The next one is the Govee H5075, which is a larger device with a digital display that shows the temp and humidity as well as the min and max values. The screen isn’t the greatest, but it’s pretty big so you can get a look at temperature from some distance away. The top of the sensor has a button that you can press to change the temperature scale if you want to, and the back has a little kickstand that can be pulled out so that it can stand up on a flat surface. It also has a slotted hole for a nail or screw so it can be mounted to a wall. If you open up the battery hatch you’ll see that it takes two AAA batteries.

To add the device to Home Assistant, install the batteries and then find it in the Passive BLE Monitor integration. In Home Assistant you get the temp, humidity, and battery sensors as well as an RSSI entity.

The standout feature of this device to me is the price. You get a large display, and a decent working temperature range, and it’s the cheapest of all of the devices we’re looking at today! The device performed in line with the Aqara as well as most of the other devices at room temperature, but in my freezer test, it reported temperatures consistently about 2 degrees F lower than the other sensors.

Inkbird

The last one is the Inkbird IBS-TH2 Temp and Humidity sensor. Inkbird has a line of Bluetooth temperature sensors, at least two of which work with Home Assistant. Of all of the sensors, I really think this one is the best looking. I has a clean matte white finish with a distinctive hole in the upper right corner that goes all the way through the body of the device. You could put a lanyard through it, or hang it on a nail with this hole. It also has a magnetic back, so it can attach to a magnetic surface. In the upper left corner it has a hole that allows the air to reach the sensor inside. It has the brand name written on the front, and on the back you can see a battery hatch. Using the provided screwdriver, you can open the battery hatch, and then install two AAA batteries. 

To add the device to Home Assistant, once again you need to find it in the Passive BLE Monitor integration. In Home Assistant you get the temp, humidity, and battery sensors as well as an RSSI entity.

What makes this sensor special is its operating temperature range, which is the widest of all the sensors’ ranges in this review. This makes it an excellent choice for putting in your refrigerator or freezer to monitor the temperature. The magnetic mounting option also can be useful if you’re looking for something to attach to your refrigerator door.

Testing

One thing that I noticed when testing these are that, when active scanning is enabled for the Bluetooth devices, they have a higher refresh rate than any of the Zigbee devices.

Another thing I noticed was that generally the Inkbird reads the higher than the other sensors by a degree or two.

Refrigerator Test

The first test I did was placing all of the sensors in the refrigerator.

I noticed that the Aqara sensor had the fastest response time to the sudden swing in temperature. I’m thinking that this is because of how small it is. The more mass the device’s body has, the more heat it holds, and the longer it takes for that heat to dissipate and for the sensor to sense a reduced temperature. The Zooz was the next most responsive here, and I think it also has to do with the mass of the device. The rest of the devices took a little longer to reach steady state temperature in the fridge.

Another thing I noticed in this test was that the Aeotec and Xiaomi devices both have pretty large refresh rates, and it shows with the sudden change in temperature. The Aeotec rate can be changed in the configuration settings, but unfortunately the Xiaomi can’t – at least not without flashing new firmware.

Again, when warming back up to room temperature, the Aqara and Zooz responded the quickest.

While in the fridge, the temperature readings were all within 2 degrees of each other, the Inkbird being the highest, and the Aqara being the lowest.

Freezer Test

The next test I did was to put all of the sensors that were rated for low temperatures into the chest freezer in my garage. This includes the Aqara T&H, the two Govee devices, and the Inkbird. Once again the Aqara responded the quickest, an this time there was a bout 3 degrees difference between them. The Govee with the digital display reported the lowest temperature, while the Inkbird reported the highest.

Next, at a risk of damaging them, I tried putting all of the sensors in the freezer. Right away you can see that the Zooz and the Xiaomi had trouble communicating. The Zooz must have been having trouble because it is a metal chest freezer, but it’s interesting that the Aeotec, which is also a Z-Wave device, didn’t have this problem. At steady state in the freezer, there is a temperature cycling that occurs approx. every 25 minutes or so. I confirmed this matches up with the power usage cycles with a power monitoring plug. Because of the temp sampling thresholds and the sampling rate, the Zigbee devices weren’t really able to capture this cycling except for the Aqara T&H.

Weirdly, after the freezer test I noticed that the Inkbird temp sensor was a bit higher than it had been before relative to the others. I then realized I had laid it on its back rather than stood it on end – and when I stood it back up, the temperature came back down like it had been before. I suppose that the desk top it was laying on must have been affecting the temperature slightly.

True Temp Test

During some of these tests, I used a mineral spirit Acurite thermometer to validate the temperature measurements, and it seemed like the thermometer agreed most with the Centralite sensor. This information isn’t something I’d rely heavily on since it didn’t use any calibrated instruments of any kind.

Multisensor Comparison

Lastly, I included a few of the different sensors I’ve reviewed in the past to give you a little comparison of how they perform. In particular I chose the Zooz Q Sensor, the Philips Hue Motion Sensor, the Aqara Motion Sensor, the SmartThings Button, and the SwitchBot Meter.

Based on my comparisons, the SwitchBot Meter and SmartThings Button perform well, with measurements that fall in line with all of the other sensors.

The Aqara Motion sensor’s temperature swings all over the place, and doesn’t really give an accurate representation of the air temperature at that time. In its defense, the temperature sensor is really called the “device temperature” and is listed in the diagnostics section of the device page in HA, as there is no way for the ambient air to reach the sensor on this one like we have seen with the temperature sensors.

The Zooz Q Sensor was likewise pretty inaccurate, typically about 3 degrees below the average of the other sensors, and even though it is a Z-Wave device, none of the configuration options allow for a temperature offset.

The Philips Hue Motion Sensor was by far the most inaccurate, reading 5 degrees below the actual room temperature. It’s a good thing I found out about this because I had it set up in my kid’s room to monitor the temperature, but now I think I’ll just use a solo temperature sensor.

Favorites & Honorable Mentions

Anyway, that’s all the testing I did. Thanks for sticking around to the end! Now let’s go over which ones I think are the best.

Favorites:

I really like the Bluetooth Low Energy devices because of their high sample rate, and also because of their cost. My favorite of all of the BLE sensors we looked at would have to be the Inkbird sensor because of how good it looks, and also because it has that magnetic mounting option. Although I did find the weird temperature reading when it was lying on the desk, I still feel like this sensor was pretty consistent otherwise.

The best Zigbee sensor, and the one that was the most responsive to large temperature swings would be the Aqara Temperature and Humidity sensor. I have a bunch of these throughout my house and they have not disappointed.

If you’re looking for a Z-Wave sensor, it’s a close call, but I’d have to choose the Zooz sensor. Even though the Zooz sensor failed to communicate from inside the freezer, it has a few advantages including the ability to set a temperature offset and also to set the reporting frequency lower than the Aeotec is able to. I also just think the Zooz looks better.

If you’re looking for a sensor to put in your freezer, I’d recommend the Govee Lanyard or the Inkbird, since both are rated for freezer temperatures and both have 2xAAA batteries so they should last for quite a while.

Lastly, if you’re looking for a sensor with a screen, the Xiaomi’s looks pretty good, but fair warning, it’s a bit of a pain to set up. This is actually the reason it is going on my list of least favorites as well.

Least Favorites:

Here are the ones I would NOT recommend.

The first is the Xiaomi Bluetooth sensor. As much as I loved the device, the setup process was pretty painful. Yes, the price was low, but I’m not sure it justifies the other issues it has. Not only is the sample rate fairly low, but if you want to change the temperature units on the display, you have to do it in the Mi app. If you remove the battery, it goes back to the default, degrees C. That’s a deal-breaker for me, because that means having to pair it with the Mi app, change the units, and then re-pair it with HA every time you change the battery.

The next one that I would not recommend is the Aqara Air Quality Monitor. Despite its amazing E-Ink screen, in the month that I used it, it disconnected 3 or 4 times and I had to re-pair it with ZHA. That’s far too unstable in my opinion, and the price doesn’t justify it if you’re just looking for a temperature sensor.

Thanks for Reading!

Anyway, I hope this article helps you choose the temperature sensor that’s right for your situation. There were so many other Bluetooth options that I really couldn’t cover them all, but hopefully you can at least get an idea of they might perform.

Best Motion Sensors for Home Assistant

What’s up Smart Homers! There are a TON of different motion sensors out there, but things like overall value, sensing distance, trigger time, and others make a big difference in which one you choose. In previous articles I did comparisons of different smart buttons and contact sensors that are compatible with Home Assistant, and in this article I’m doing the same with motion sensors. I bought a bunch from a few different brands and I’m going to compare their prices and features, and I’ll also give you some ideas for how you can use them.

At the end I’ll give my recommendations.

Requirements

I had a few basic requirements when choosing these sensors:

  1. They had to work with Home Assistant
  2. They had to be available on Amazon or the Smartest House
  3. They couldn’t require any other hub than a Zigbee or Z-Wave dongle (no other manufacturer’s hub)
  4. They need to cost less than $50 (US). (Note: This price limit removed the Aeotec Multisensor from the list.)

There may be some motion sensors that you like that are not in this article, and if so, drop a comment in the comment section or hit me up on Twitter, maybe I can cover it in a future article!

Note about WiFi Devices…

I purposely did not choose any WiFi devices, simply because most of the WiFi ones I saw were Tuya powered which I want to stay away from if I can, and also a lot of them are big and clunky because of the large batteries required to keep connected to WiFi. The one WiFi device that someone mentioned I should check out was the Shelly motion sensor, but it was a little expensive for me to add it to the huge list I already have. For these reasons, we’ll only be looking at Zigbee and Z-Wave devices, and I’ll be adding them to Home Assistant using ZHA and Z-Wave JS.

Also note that all of these sensors are reported to work with Smart Things.

Overview

Here are some of the technical specs of the different sensors I tried. Because prices vary, I rated them from 1 to 4 dollar signs (“$”), where “$” is 0 to $20, “$$” is $20 to $30, etc. all the way up to $50.

NameProtocol .BatteryPrice . Field/Dist. .CooldownInstallation
Aqara Motion SensorZigbeeCR2450$170° / 22 ft1:10adhesive
Linkind PIR Motion SensorZigbeeCR2450$110° / 16 ft??adhesive, screw
SONOFF ZigBee Motion SensorZigbeeCR2450$110° / 19.7 ft1:07adhesive
THIRDREALITY Zigbee Motion SensorZigbee2xAAA$$120° / 30 ft0:36adhesive, screw
AduroSmart ERIA Smart Motion SensorZigbee2xAAA$$$120° / 26 ft0:40screw
Centralite Micro Motion SensorZigbee‎CR2450$$? / 15 ft0:37adhesive
AGSHOME ZIGBEE Motion SensorZigbee3xAAA$170° / 16.4 ft1:03adhesive, screw
Philips Hue Indoor Motion SensorZigbee2xAAA$$$$100° / 16.40:13screw, magnet
ZOOZ Z-Wave Plus 4-in-1 SensorZ-WaveCR123A$$$125° / 40 ft0:13 +adhesive, screw
Ecolink Z-Wave + PIR Motion DetectorZ-WaveCR123A$$$100° / 45 ft3:17adhesive, screw
ZOOZ Z-Wave + Q SensorZ-Wave2xCR123A, USB$$$100° / 20 ft0:37 +adhesive, screw
ZOOZ Z-Wave + Motion SensorZ-WaveCR123A, USB$$120° / 25 ft0:33 +adhesive, screw
FIBARO Motion SensorZ-WaveCR123A$$$$100° / 23 ft0:33 +adhesive, screw
Some links are affiliate links

Zigbee Motion Sensors

Let’s start by looking at Zigbee motion sensors.

Aqara Motion Sensor

The first one I want to look at is the Aqara Motion Sensor. This is one of the most popular motion sensors for Smart Homers, and especially Home Assistant users. It’s compact size and low price point makes it an easy buy for beginners and veteran smart homers alike. In fact, this sensor is the 2nd cheapest of all the sensors in this article, and I think one of the best looking. It has a cylindrical body, with a rubber ring on the underside, which gives it a little grip if you want to set it on a horizontal surface without an adhesive. As with all Aqara devices, it has a grey and white look that looks very sleek and modern, without drawing too much attention.

It comes with an adhesive pad for the body of the sensor, as well as a mount that can be attached to the sensor and the wall with adhesive pads. The mount allows you to set the proper angle, and is sturdy enough to support the lightweight body. No matter which way it’s mounted, a twist of the sensor body will open it up, exposing the battery if it needs to be replaced.

As usual, the Aqara hub is not required for this device to be paired with Home Assistant using ZHA. Pressing the small reset button located on one side of the sensor repeatedly allowed me to pair it with no trouble. In Home Assistant it shows up with 4 sensors: a motion sensor, occupancy sensor, illuminance sensor, and battery level sensor.

I currently have 3 of these motion sensors in my house, one in the garage for turning on the lights and keeping them on while I’m working in there, one in the basement play area on a bookshelf, and one in the living room. In the living room I installed it on the underside of the bookshelf’s top shelf where it’s out of sight, but still picks up motion in the room.

Linkind PIR Motion Sensor

This next one has the lowest price of all of the sensors in today’s article– that’s the Linkind Door Window sensor. Linkind has a line of Zigbee smart home products that are often extremely cheap on Amazon, and this sensor is no different. In the contact sensor comparison article, I reviewed a Linkind device which worked very well. I was pleasantly surprised by the performance for the price. This sensor was a bit difficult for me, and when I released my video, I had given up hope of it ever working. However, some helpful commenters pointed me in the right direction of figuring out what was wrong.

This sensor has a lot going for it; not only is it cheap, but it looks nice (besides the large branding on the side), and while the Aqara sensor only comes with adhesive as a mounting option, this one comes with a plastic bracket that the sensor body clips onto. The bracket has screw holes, and can also be mounted with adhesive. I did find that the bracket was a big flimsy because there are two little arms that go inside of the sensor body, and they can break easily.

Pairing with ZHA was pretty straightforward – there is a pairing button under the battery cover, but when you first remove the battery isolator tab, it’s automatically put into pairing mode and fairly quickly connects. In Home Assistant the device shows up with two entities, a motion sensor and a power sensor the reports the battery life.

When it first connected it seemed to be picking up motion, but not long after it got stuck in the motion “Detected”, and never went away. I tried deleting the device and reconnecting it, and I also tried pulling the battery, but nothing worked. I actually returned and got a spare… still nothing. This happened before I could do any further testing with. It wasn’t until after I had finished my testing and the video that I found out that it is angled downward, and so doesn’t like to be set on a flat surface. Once I put it on the edge of my doorframe, it cooled down and then began working great! My bad.

Sonoff ZigBee Motion Sensor

The next one I want to look at is the Sonoff ZigBee Motion Sensor. This device has recognizable Sonoff look, very square with sharp corners.

This one is actually one of the smallest of all of the sensors we’re looking at today (about the same size as the Aqara), which is nice if you’re trying to keep it discreet. It comes with adhesive backing, but you’re still able to pop the sensor open to change the battery while it’s stuck to a surface. It has a cooldown time of just over a minute, meaning you’ll need to wait a minute after it detects motion before it can trigger again

Pairing this device in ZHA was pretty straightforward. All you have to do is press and hold the reset button with a sim card tool for 5 seconds until the LED indicator flashes three times. The sensor is then recognized immediately. I do wish a sim card tool was provided with the sensor, but I have a ton of them. The device shows up with two entities, a binary sensor for motion detection, and a power sensor the reports the battery life.

Long term use showed that this sensor was not always reliable – many times it seemed to miss detecting some motion, and in general was a little finicky.

ThirdReality Zigbee Contact Sensor

This next sensor is pretty unique because of its shape. It’s long and thin, which really makes it stand out from the others; and like the ThirdReality contact sensor, this sensor is powered by 2 triple a batteries. It can be mounted with adhesive or screws – to mount with screws, the cover of the sensor’s body has to be opened, and then the provided screws can be run through the screw holes and into whatever you’re mounting it to. The shape of the sensor makes it a nice fit up against trim or other raised edges. It gives it the ability to hide, while still housing those big ol’ batteries. The sensor should be mounted in a vertical direction about 7 feet from the floor, with the lens at the top. When mounted this way, it will not pick up motion approx. 2 feet above the floor and below. This allows it to ignore pet motion and only be triggered by humans.

This sensor can easily be added to Home Assistant by installing the batteries, since doing this for the first time puts the sensor into pairing mode, and a blue LED begins flashing. There is also a pairing button under the cover on the PCB that you can press to put it into pairing mode in the future. Once it’s added, you’ll see motion sensor and battery percentage sensor entities in HA.

AduroSmart ERIA Smart Motion Sensor

My first thought when I opened up the AduroSmart ERIA motion sensor was, “woah, that’s big”, because although it’s shaped like the Aqara sensor, it is MUCH bigger. AduroSmart products definitely have their own unique style. Like their contact sensor, the motion sensor also has a square indicator on the front with a green LED behind it. There are a couple features that make it really unique. Like the previous device, this one also takes two triple a batteries, which you can put in via the hatch on the bottom. It comes with a mount that can be attached to a vertical surface with screws, and the mount has a ball joint for positioning it correctly. The green indicator blinks when the sensor is triggered, but as far as I know there’s no way to turn it off.

Once the batteries are in, the device is automatically put into pairing mode, and adding the device to Home Assistant is instantaneous. There’s a pinhole on the side of the sensor that gives access to the pairing button if you need it in the future. This sensor only has two entities in Home Assistant, a motion sensor and a battery level sensor. It’s kind of surprising to me that this sensor doesn’t have more features for its size, and for the $10 step-up in price from the previous two sensors. For how big this can is, you’d think they’d at least be able to throw in a temperature sensor or something!

Centralite Micro Door Sensor

Next up is the Centralite Micro Motion Sensor. It is our first motion sensor that also has a temperature sensor in it! The device has holes on the front that allow ambient air to reach a temperature sensor inside, and also allow you to see the LED indicator behind them. It has a reset button on one edge, and on the bottom edge it has a battery hatch release button that pops the battery tray out the side when you press it. This makes it easy to change out the battery while it’s mounted to the wall.

This sensor can only be mounted with the supplied adhesive strips, but it has an interesting option. The back side of the sensor has two edges that are chamfered at 45 degrees. The adhesive strips fit on these chamfers so that the sensor can be mounted in a corner where two walls meet.

To add the device to Home Assistant, you pull the battery isolator out by the tab and it goes directly into pairing mode. You’ll see the flashing LED through the holes on the front, and it gets picked up by ZHA straight away. Pairing in the future requires opening the battery tray, holding down the reset button, and then closing the tray. Four entities show up in Home Assistant; a motion sensor, occupancy sensor, temperature sensor, and a battery level sensor.

AGSHOME Motion Sensor

The AGSHOME sensor is a generic one, a brand you’ve probably never heard of before. It’s comes in such a nondescript box that I had to write the name on it so I could easily identify it. But its blandness goes beyond just the box – this Zigbee sensor has nothing really special about it except that it’s too big and it isn’t that great looking. Comparing it with the Sonoff you can see just how big it is with a bubble that’s just about the same size. Fun fact, almost NO ONE wants the name of the sensor printed on the front, especially AGSHOME.

It comes with a plate that can be mounted to the wall, and then the sensor can be clipped onto that. On the back of the sensor there’s an on/off switch, a reset button, and the battery hatch. This sensor takes 3 triple A batteries. That’s a lot of battery!

To pair the sensor, just press and hold the reset button using the provided sim card tool and it gets picked up pretty quickly. You’ll see a red light under the lens flashing, telling you that it’s in pairing mode. It’ll stop flashing once it’s paired. In Home Assistant you’ll see two entities, a motion sensor and a battery level sensor. If you look over at the Device info for this sensor, you’ll see that the manufacturer is TUYATEC… very interesting. It seems this is a Tuya Zigbee device.

In my opinion this sensor is just too big and noticeable to be used in the house, but it has been a very reliable sensor so far.

Philips Hue Indoor Motion Sensor

The next one is the Philips Hue Indoor Motion Sensor, the most expensive device we’ll be review, and the last of the Zigbee sensors in this video. It’s actually the first Philips Hue device I’ve ever purchased, and I have to say, it has a nice quality feel.

The front of the sensor has the lens and a small circular transparent window, which I assume allows the light in for the lux sensor. This device also has a temperature sensor built in!

It has a magnetic mounting method is kind of cool – it has a small, rubberized, magnetic cylinder that has a hole in it. A screw can be used to secure the cylinder to a surface, and then the sensor attaches to the cylinder magnetically. The back of the sensor has a sort of semispherical shape so you can angle the sensor a bit. You could also mount it to your fridge without any screws at all. Removing a single screw on the back allows you to take off the back cover, exposing the battery compartment. Inside you’ll see that it’s powered by 2 triple A batteries. From what I’ve read, these last for 2+ years, which is pretty awesome!

To add it in Home Assistant for the first time, just pull out the battery isolator tab. In the future you can pair it by pressing the setup button on the back using a sim card tool. I’m very impressed by the number of sensors that this device has! In Home Assistant there are five entities that show up – a motion sensor, occupancy sensor, illuminance sensor, temperature sensor, and a battery level sensor. Once strange thing I found with this sensor is that the motion sensor entity remains “clear” and never seems to change when motion is detected. However, the Occupancy sensor changes to detected as soon as it senses movement. I’m not sure why this is the case, and it might be different if it was connected to the hue hub first and then integrated with Home Assistant, but this is how it seems to work in ZHA.

This device has one of the shortest sensing distances, at around 16ft, and also one of the shortest cooldown times, which I measured at 13 seconds.

Z-Wave Motion Sensors

Now let’s look at a few Z-Wave sensors. One of the advantages with using Z-Wave sensors is that, a lot of times they have more configuration options than the Zigbee sensors. With certain devices you can change motion sensitivity, cooldown time, LED settings, and much more.

Zooz 4-in-1 Sensor (ZSE40)

The first one is the Zooz 4-in-1 sensor. As the name implies it has 4 sensors: a motion sensor, illuminance sensor, temperature sensor, and humidity sensor. Fun fact, this device was the first Z-Wave device I ever purchased, back when I was using SmartThings.

The device has a typical square look, with the lens and an LED on the front. It really isn’t too big for all of the sensors it’s packing. It comes with an adjustable mount that can be mounted to a horizontal surface or a corner, and the device can easily be detached from it if the battery needs to be changed. The case can be opened if needed, revealing the battery and internal PCB. When you open the case, you’ll see a little tamper switch on the board that is depressed when the cover is in place.

To pair this device for the first time, just remove the battery isolator and it will go into inclusion mode. I’m not showing that here, because this is the one I originally bought, but that’s how you do it. If you want to pair it in the future, there is a pairing button on the bottom accessible via a sim card tool.

Once added to Z-Wave JS, you’ll see a motion sensor, Temperature sensor, humidity sensor, and illuminance sensor. You’ll also see a battery level sensor, low battery sensor, and a tamper sensor. Removing the cover will change the tamper sensor to an “on” status.

As I mentioned before, Z-wave sensors often have some pretty cool configuration options. With this sensor, you can change temperature units, reporting thresholds for temp, humidity, and brightness, the trigger interval (cooldown time), sensitivity of the motion sensor, and when the LED behind the lens flashes. If you change any of these settings, you need to wake the device up after the change for it to take effect. Pressing the Z-Wave inclusion button with a sim card too once will wake the device up.

The battery lasted about 1 year on this device with a cooldown time of 15 seconds, and the flashing LED off. Keep in mind that this was in my kitchen, the room with the most activity in a typical day than any other room. In addition to motion, it was also reporting humidity, temp, and lux! – I’d say that’s pretty impressive.

Ecolink Z-Wave Plus PIR Motion Detector

The next Z-Wave sensor is the Ecolink PIR motion detector. So, I thought the AduroSmart sensor was big until I opened this bad boy. This thing feels like a grenade in your hand! We’ve seen some pretty unique features in Ecolink products in the past, but the question is, do the features of this sensor make up for its massive size?

This device comes with a bracket that clips onto the back of it, and it can only be removed by opening the body of the sensor. When you open it up, you’ll see that there’s a little swtich on the PCB – that’s a tamper switch that lets you know if the cover has been opened. The bracket has screw holes so that it can be mounted to a horizontal surface or in a corner.

There’s also a little jumper that can be moved to change the sensitivity of the sensor to account for small and medium sized pets. I never messed with this because I don’t have any pets. The jumper can also be configured to change the cooldown time. This sensor has the longest advertised range of all of the sensors, but unfortunately it has the longest cooldown time. I found that this sensor has a cooldown time of 3 minutes and 17 seconds. The jumper can be completely removed to change the cooldown time to 4 minutes, and it can be moved to the “TEST” position to bring the time down to 5 seconds.

To add this device to Home Assistant you just remove the battery isolator tab. In the future you need to remove and reinstall the battery to put it in inclusion or exclusion mode.

In Z-Wave JS, the device shows up with 5 entities, Motion, Battery level, Low battery level, Replace battery, and a Tamper sensor.

Overall, this device is REALLY big, and is going to be very noticeable, pretty much no matter where you mount it.

Zooz Z-Wave Plus Q Motion Sensor

The Zooz Q Sensor is another Z-wave device that has a unique look. This one is has a puck-shaped body, with a ball mount. The mount allows the sensor to be mounted to a flat surface and then angled to satisfaction. It’s quite a bit larger than the Sonoff, but it’s still smaller than the AGSHOME, and in my opinion has a clean look to it. One of the really cool features about this device is that it has the ability to be powered by micro USB, not just battery. If you look at the back you can see the USB port, and also the slot where the mount clips into place. The mount can be secured to the mounting surface with the provided adhesive or screws. This device also has a temperature sensor, humidity sensor, illuminance sensor, and a tamper sensor in addition to the motion sensor!

Before pairing this device, you need to decide whether you want it to be battery powered or USB powered. If you choose to power it via battery, then you can always power it with USB later, but if you choose to power it via USB, your hub will recognize it as a Z-Wave repeater. This means that if you decide to power it via battery later, the battery will drain extremely quickly. I think this is SO cool that they give the option for the device to act as a repeater – I wish more ZigBee devices would do that! Anyway, to pair it you twist the back cover counter-clockwise to open it, and then pull the battery isolator tab. It should automatically go into inclusion mode and the LED on the front will start blinking. In my case, I accidentally pulled the batteries out when pulling the tab, so putting them back in starts the inclusion. If you are using USB power, powering via USB starts the inclusion mode. In the future, you can quickly triple-press the button under the cover to initiate inclusion mode.

In Home Assistant this device shows up with temperature, humidity, illuminance, motion, battery level, low battery level, and tamper sensors.

When I first added the sensor, it was not registering motion, but Zooz has some setup docs that mention that you need to go into the device configuration and change parameter 16, so that instead of binary motion reports, it will send notification reports to Home Assistant. I’ll show that in a second.

I also found that the temperature of the sensor suddenly jumped up about 80 degrees to around 157 degrees F. Then I had a big brain moment, and realized that it was possible that the sensor was reading in Fahrenheit, but Home Assistant was taking it as Celsius and converting it to Fahrenheit. Sure enough, the room the current temp based on the other sensors was about 69 degrees F, and 69 degrees C is approximately 155 degrees F. I went into the device configuration page and change the units from F to C, and that seemed to correct the issue! I have no explanation for why it jumped up, unless I changed that setting without knowing it. Anyway, speaking of configuration, this device has a lot of configuration options. You can change the sensitivity of the sensor, cooldown time (The cooldown time has a minimum of 10 seconds and a maximum of 3600 seconds, but it is set at 30 seconds default), LED options, when it should alert you of low battery, minimum reporting frequency for all sensors, and how much the sensor values need to change to send reports. As I mentioned a few seconds ago, parameter 16, needs to be disabled so that the motion detection will be functional. There’s a little bit of setup to this one, but I think it’s a pretty great sensor, especially when you compare it to some of the other sensors.

Zooz Motion and Vibration Sensor

Ok, so the third one from Zooz is the Zooz Motion and Vibration sensor. This one is a medium sized sensor that has a unique spherical shape. Beside the lens, a single hole on the face allows you to see an LED indicator beneath. The sensor body can magnetically attach to the provided mount, allowing you to easily angle the sensor once the mount is attached to a surface. The mount can be attached to a flat surface using a single screw, adhesive, or you can put it on something that is magnetic like your refrigerator. Like the Q Sensor, this one can also be powered with a battery or a micro USB cable, and when powered via USB, it can act as a Z-Wave repeater.

If you twist the body of the sensor, you expose the battery and Z-Wave pairing button. You can also see on the inside of the back cover that there is some sort of magnetic material that makes the sensor body magnetic.

To put the sensor into inclusion mode for the first time, pull the battery isolator tab, and you should see the LED on the front light up solid blue.

So, this is where I ran into problems with this sensor. In Home Assistant, I see entities for Motion, Battery Level, and Low Battery Level. Vibration is missing! The device configuration allows for the vibration sensor to be turn off, but it’s on for me and still I can’t see vibration. I tried all sorts of things, including and excluding it, and even enabling the disabled entities, with no luck. I’ve been in contact with Zooz support, and they say that “there are issues with JS implementation outside of MQTT” and that they can only confirm it will work with zwaveJS2MQTT. I’m not planning to switch over to zwaveJS2MQTT, so I’ll have to live without the vibration sensor.

In the device configuration, you get a few different options, including adjusting the motion sensitivity, turning on and off the vibration sensor, adjusting the cooldown time (which can go from 6 seconds to 18 hours), enabling or disabling the LED, and even adjusting the low battery threshold.

One thing I noticed with this device is that it was over-sensitive to motion. I was so sensitive that it was triggering when no one was in the room, and nothing was moving. All of the other sensors were clear, but that one kept going off. I reduced the sensitivity by one in the configuration page, and that seemed to fix the issue, making it as sensitive as the other devices. My testing for this device showed that, when the cooldown time was set for 30 seconds, it average about 33. That’s pretty close.

Fibaro Door Motion Sensor

Lastly, we have the Fibaro Motion Sensor. Surprisingly, it isn’t the most expensive of all of the sensors we’re looking at today, Philips Hue being a few cents more. The first thing I thought when I saw this device, is that it looks like an eyeball, and that has to be on purpose! It’s has a spherical shape, which a lens that’s flush with the spherical curve, looking an awful lot like an iris. Since it’s shaped like a ball, it can easily roll around, so it comes with a mount that can also be used like a stand. The mount actually acts like a socket, clipping around the spherical body of the sensor. It can be secured to a flat surface using a single screw or adhesive, and it’s loose enough that the eyeball – I mean sensor – can be tilted to whatever angle is necessary.

Twisting the body allows you to remove the back cover, exposing the battery and the inclusion button.

To put it into inclusion mode, pull the battery isolator tabs, and it should be picked up by Z-Wave JS right away. When it begins inclusion, you should see the LED inside the lens on the front light up blue. If you saw my contact sensor video, the Fibaro had a ton of different entities in HA, and this is no different. This guy has an accelerometer, so it has entities for X, Y, and Z direction acceleration. It also has a temperature sensor, illuminance sensor, motion sensor, and a seismic intensity sensor – that’s right, apparently it has an earthquake sensor. It also has a battery level, low battery level, and tamper sensors. Note that the tamper sensor doesn’t get triggered when the cover is taken off, but rather when vibration is detected.

There are a TON of configuration options for this sensor, including motion detection sensitivity, cooldown time, pulse counter, the ability to only have the sensor on at night, tamper sensitivity, reporting intervals and thresholds for the auxiliary sensors, and tons more. You can also set the color and brightness of the LED so you can make it look like the eye of Sauron. There’s even a temperature offset, so if it is reading a few degrees off from a calibrated thermometer, you can make that adjustment. Pretty cool! There are so many features that this sensor has, that you could probably make a whole video just dedicated to its setup and use. When I tested the cooldown time, I found that it averaged about 33 seconds when configured at 30 seconds.

Testing

Temp Sensor Comparison

I compared the temperature readings of all of the sensors at the same time and same place on multiple occasions, and they were all fairly consistent. The Hue sensor read the lowest of all of them, and the Fibaro read the highest – over 5 degrees higher than the average of the other sensors. However, the Fibaro does have a configuration option to offset the temp, so this can be remedied.

Lux Sensor Comparison

I tried comparing the illuminance sensors, but they were so wildily different from each other that I wasn’t able to come to a conclusion.

Range Comparison

I made little chart of sorts that shows the range of each sensor, and the shapes on the chart show the FOV angle of each sensor. You can see that the Ecolink has the longest range of all of them, followed by the Zooz 4-in-1. Notice that the Hue sensor has one of the shortest ranges, but it is one of the most popular! Bigger isn’t always better!

Left axis is distance in Feet.

I tried to test the range of the sensors outdoors, and for some reason the sensors didn’t seem to pick me up until I was very close. I’m not sure if the cold affected the sensors, or the sun reflecting off of the snow, or me wearing a coat, or maybe a combination of all three, but the only sensor that seemed to pick me up at a decent distance was the Zooz 4-in-1 sensor, and the rest only detected me when I got fairly close. Next I tried indoors, but I don’t really have a spot where I can mount them at the recommended height but still get a fairly long distance. This resulted in quite a few of the sensors not detecting me until I was fairly close. Results are non-conclusive.

Favorites and Least Favorites

So guess what? That’s it! Thanks for sticking around to the end, and it’s ok if you used the chapters to skip to the conclusion.

It’s kind of hard to compare the Zigbee devices with the Z-wave ones, because, although the Z-Wave devices cost more typically, they are far more configurable.

Favorites

The best basic motion sensor that performs well above its price range is the Aqara motion sensor. Its 170 degree field of view gives it the ability to cover large areas, and its sensible cooldown time of 1 minute 10 seconds gives is the ability to conserve a lot of battery life. Aqara has done it again in my opinion – I have yet to see a device of theirs that doesn’t perform well for the price. However, it is somewhat noticeable because of its unique look, so if you’re looking for something a little more subtle, the Sonoff is a good choice.

My next favorite is the Zooz Q Motion sensor. If you’re looking for a Z-Wave motion sensor with a decent sensing distance, quick response time, and a temperature sensor, this is the one for you. This sensor looks really good in my opinion, and it’s cheaper than the Hue! The fact that it allows you to adjust the motion sensitivity as well as the cooldown time makes it stand out from many of the others, and one of the coolest features is that it can be USB powered and act as a Z-Wave repeater. Zooz makes a ton of awesome Z-Wave devices, and this one is no exception.

One other favorite of mine is, surprisingly, the Philips Hue sensor. It is definitely a bit pricey, but if you’re looking for a Zigbee device that looks really good, has a temperature sensor, and price isn’t a big factor, then the Philips Hue is actually a pretty good choice. I’ve heard the battery life is great, but that’s highly dependent on where you use it. The magnetic mounting feature is the icing on the cake in my opinion. If you’re looking for a Z-wave sensor that has this magnetic mount style, the Zooz Motion and vibration sensor might be right for you. Just remember that the vibration sensor doesn’t seem to work with Z-Wave JS.

Least Favorites

Here are the ones I would NOT recommend.

First, the AGSHOME motion sensor. It really looks ugly in my opinion, and has no features that make up for it. It’s large and bulky, and doesn’t have any special mounting options.

Second, the Ecolink sensor. This massive sensor looks like it comes from the 90s. It’s big, obvious, and that cooldown time is WAY too long. There may be some applications where you might find this device useful, but it really isn’t worth the price in my opinion.

Anyway, that’s all I’ve got for you in this article. I hope you found the information in this article useful, and if you have any suggestions for other devices I didn’t look at, or other comparisons you’d like to see, feel free to drop a comment!

Thanks for reading! See ya.

836]); ?>

Best Contact Sensors for Home Assistant

What’s up Smart Homers! Contact sensors, sometimes called door or window sensors, seem like a pretty simple thing. But why are there so many out there on Amazon, and what are the differences? In this article (which is a written version of my latest video) I’m doing a review of 10 different contact sensors. I bought a bunch from a few different brands and will compare their prices and features, and I’ll also give you some ideas for how they can be used around the house. 

At the end I’ll give my recommendation and some honorable mentions.

Requirements

The requirements for my contact sensor selection are that they have to work with Home Assistant, they have to be available on Amazon, they can’t require any other hub than a Zigbee or Z-Wave dongle, and they need to cost less than $50 (US).

Of the 10 contact sensors that I chose, none of them are WiFi devices. This is simply because most of the WiFi ones I saw were Tuya powered, which I want to stay away from if I can (since I don’t want to rely on the cloud) and also a lot of them are big and clunky because of the large batteries required to keep connected to WiFi. For these reasons, we’ll only be looking at Zigbee and Z-Wave devices, and I’ll be adding them to Home Assistant using ZHA and Z-Wave JS.

Also note that all of these sensors are reported to work with Smart Things.

For each of the contact sensors, I’ve done testing to determine how close the sensor needs to be to the magnet before it is “closed”, and again how far it needs to be for the sensor to be “open”. In some cases, this data differs from what is advertised. It’s worth noting that the magnet part of the sensor can typically be changed out with a stronger magnet to change these data.

Overview

Here are the technical specs of the different sensors I tried. Because prices vary, I rated them from 1 to 4 dollar signs (“$”), where “$” is 0 to $20, “$$” is $20 to $30, etc. all the way up to $50.

NameProtocol Battery CD*InstallationPrice
Aqara Door and Window SensorZigbeeCR163211mm / 14mmAdhesive$
Sengled Smart Window & Door SensorZigbeeCR163210mm / 12mmAdhesive$
Linkind Door Window SensorZigbeeDL203216mm / 29mmAdhesive, bracket$
SONOFF ZigBee Door Window SensorZigbeeCR20329mm / 12mmAdhesive$
THIRDREALITY Zigbee Contact SensorZigbeeAAA (x2)33mm / 45mm +/-2mmAdhesive, screw$
AduroSmart ERIA Door Window SensorZigbeeCR203211mm / 12mmAdhesive, screw$
Centralite Micro Door SensorZigbeeCR245032mm / 35mmAdhesive, screw$$
Ecolink Z-wave Door & Window SensorZ-WaveCR123A21mm / 26mmAdhesive, screw$$$
Aeotec Recessed Door Sensor 7Z-Wave +CR123A 9mm / 15mmRecessed, screw$$$
Fibaro Door / Window Sensor 2Z-Wave +ER1425012mm / 16mmAdhesive, screw$$$$
Some links are affiliate links.

*CD is the measured contact distances (closed/open)

Zigbee Contact Sensors

Let’s start by looking at the contact sensors that use Zigbee protocol.

Aqara Door and Window Sensor

The first one I want to look at is the Aqara Door and Window Sensor. This is one of the most popular contact sensors for Home Assistant users, and Smart Homers in general. Of all the sensors in this article, this one is the smallest and I think is the least noticeable. It has Aqara’s typical grey and white modern look which makes it fit well in the modern home.

Although Aqara’s description of this sensor on Amazon says that an Aqara hub is required, that’s not really the case. I’ve paired many Aqara devices with ZHA with no trouble, and this was no different. Pressing the small reset button located on one side of the sensor allowed me to easily pair it with ZHA. In Home Assistant the device shows up with two entities, a binary sensor for the open and closed states, and a power sensor the reports the battery life.

Aqara has become a big name in the smart home community, and for good reason. Their reliable sensors typically have great battery life, and the signal range is excellent in my experience. I have two of these sensors mounted on my garage doors to tell me if they are open or closed. They stay connected to my Nortek USB radio better than some of the other sensors in my house that are a bit closer, and after 6 months they are both at roughly 60% battery. One of the garage doors I open every day, and one I rarely do, but the battery percentages are both about the same.

Another fun way I’ve used this sensor is by attaching it to my projector screen so that Home Assistant knows if it is open or closed. I did a whole video on automating my projector setup, but this will be an added feature. The only downside with this sensor is that, when mounted with the adhesive provided, the battery cover is not accessible, so changing out the battery requires you to remove it from the mounting surface.

Sengled Smart Window and Door Sensor

The Sengled contact sensor was the first Zigbee sensor I bought for my smart home, back before I made the switch from SmartThings. They are a little bit bigger than the Aqara sensor, and not quite as good looking in my opinion, but they are solid white, so they blend in fairly well with white trim. There is no visible marking on the device except for an engraved infinity symbol on the top, which is not really an eyesore at all. Overall these sensors have performed well, although I do have one sensor that seems to drop out and become “unavailable” in Home Assistant. This sensor is on our deck door, which is pretty far from the hub, but closer than the Aqara sensors on the garage doors. Opening the deck door seems to wake the sensor up and it functions properly after that. I may try getting a Zigbee repeater since I do not have any in my network.

Pairing this sensor with Home Assistant was super easy using ZHA – all I had to do was press and hold the reset button with a sim card tool until the red LED under the cover flashed, causing the button to be recognized immediately. In Home Assistant the device shows up with two entities just a like the Aqara sensor, a binary sensor for the open and closed states, and a power sensor that reports the battery life.

Linkind Door Window Sensor

The lowest priced of all of the sensors in this article is the Linkind Door Window sensor. Linkind has a line of Zigbee smart home products that are often extremely cheap on Amazon. The sensor has their brand name written in large, dark letters on the side, which some people might find aesthetically unappealing, but otherwise the sensor has a clean cut look to it. I tried removing the logo with Isopropyl alcohol as well as by scraping and sanding, but it wasn’t easy to do and while the alcohol did nothing, I kind of made it look worse with the sanding. A solution to this could be to just replace the magnet part of the sensor with a better looking magnet, or just don’t use the sensor where it is visible.

 While the previous two sensors only come with adhesive as a mounting option, this one comes with a plastic bracket that the sensor body clips onto. The bracket has a 3M adhesive back, but also has screw holes and comes with screws and anchors for an alternate mounting method. The magnet part of this device only has an adhesive back, so it can’t be screw-mounted.

Pairing with ZHA was pretty straightforward – there is a pinhole for a sim card tool to access the pairing button, but when you first remove the battery isolator tab, it’s automatically put into pairing mode, so the pairing button is only needed when you want to re-pair the device. In Home Assistant the device shows up with two entities like the previous devices, a binary sensor for the open and closed states, and a power sensor that reports the battery life.

I used this sensor for an idea I got from Dr. Zzs. I put it on the toilet lid in my bathroom, so if the lid is lifted, the fan comes on, and a smart plug with an air freshener turns on. I’m not sure this one will pass the wife approval, but it was still fun to try.

Sonoff ZigBee Wireless Door Window Sensor

The next one I want to look at is the Sonoff ZigBee Wireless Door Window Sensor. This sensor has the same sharp, square design that many of the Sonoff products have. It has tiny little arrows on the front to show where the sensor should line up to the magnet, but no other visible markings.

It comes with adhesive backing, but no screw mounting option. Honestly the sensor looks kind of boxy when mounted to your trim, and since it has such a sharp outline, it doesn’t blend well with my door casing.

Pairing this device with Home Assistant in ZHA was pretty simple. All I had to do was press and hold the reset button with a mechanical pencil until the LED under the cover flashed red causing the button to be recognized immediately. It’s kind of annoying that it doesn’t come with some kind of sim card tool like the Sengled sensor does, but hey, I guess they saved some money on that. In Home Assistant, once again the device shows up with two entities, a binary sensor for the open and closed states, and a power sensor the reports the battery life.

ThirdReality Zigbee Contact Sensor

This next sensor is pretty unique. One of the standout features of the ThirdReality Zigbee Contact Sensor is that it is powered by 2 triple A batteries. For someone who doesn’t want to stock a bunch of extra batteries, it’s pretty great that this sensor can use typical household batteries. However, the 2 AAA batteries do make the body of the sensor pretty chonky – it’s pretty much the size of 3 Aqara sensors. But this isn’t the thiccest sensor we are looking at today – stick around to see even bigger! The sensor can be mounted with adhesive or screws – to mount with screws, the entire body of the sensor can be opened, allowing the provided screws to be run through the screw holes and into whatever you’re mounting it to. One weird thing with this sensor is that the magnet portion is about half the thickness of the sensor. While this doesn’t prevent the sensor from sensing the magnet, it kind of looks weird and you need to add some sort of spacer if you want them to be flush with one another.

Adding this button to Home Assistant was simple since installing the batteries for the first time put the sensor into pairing mode. When the batteries are installed, a blue LED begins flashing indicating it is ready to pair. If you want to pair it in future, you are required to access the pairing button which is inside the sensor housing. Once it was added, it showed the binary open/closed sensor and battery percentage sensor.

When I added this sensor 11 days ago it was at 27% battery, and then at some point it went as high as 42%, and now it’s down to 38%. It doesn’t seem to me that the battery percentage reported is super reliable for this sensor. I used this sensor on my child safety gate at the top of my stairs, replacing the sensor I used to have there. It can trigger alerts if the gate is left open and the baby is crawling around.

AduroSmart ERIA Smart Home Door Window Sensor

The AduroSmart ERIA sensor is another uniquely styled device, and one that I think really looks good. While it is a bit larger than the Aqara and Sengled sensors, it has a look that I personally like – it’s not ugly, but it’s not trying to hide either. The solid white color and the nice rounded corners, make it look really clean, and the square-shaped indicated in its corner really makes it stand out. The indicator blinks green when the sensor is either opened or closed, but as far as I know there’s no way to turn it off. It can be mounted with either screws or adhesive (although the magnet can only be mounted with adhesive) using a pretty clever mounting plate design. The sensor can be slid into place onto the provided mounting plate after the plate is mounted with screws or adhesive. This makes changing out the battery a lot quicker than other devices like the Aqara or the Sengled sensors, because you can slide it off of the plate and change the battery. 

One issue I had was that the battery contacts inside the sensor were forcing the battery back out of its slot when I tried to put it in, so I actually had to bend the contact so that it wasn’t pushing the battery out anymore.

Once I got the battery in, adding the device to Home Assistant went pretty smoothly. The sensor was put into pairing mode as soon as the battery was installed, and was instantly recognized by ZHA. There’s also a pinhole that gives access to the reset button if you need to re-pair it. There are the typical two entities showing up in Home Assistant, the open/closed state and the battery percentage.

Centralite Micro Door Sensor

The next sensor I want to show you, the Centralite Micro Door Sensor, is the last of the Zigbee sensors in this article. It is also the most expensive of the Zigbee devices, the first one over $20 US. It has an interesting design, with one of the most obvious features being an array of holes on the front of the sensor housing. These holes allow ambient air to reach a temperature sensor inside. That’s right, this device is two sensors in one unit! It also has a reset button on one side, and it has some hash marks on the front of the magnet and sensor. It has a very simplistic look, without trying too hard, and I like it. It also has a battery hatch release button that pops the battery tray out to one side when pressed. This makes it easy to change out the battery without pulling it off of the wall.

This sensor can be mounted with the provided adhesive or screws. It comes with screw mounting brackets for both the sensor and the magnet, so both can be attached to the wall with screws, and then the magnet and sensor clip into them. However, the screws provided are machine screws, not wood screws, so they really aren’t the best for attaching to a door or door frame. Machine screws are typically for metal or plastic.

It’s different than the previous sensors we’ve looked at when it comes to the contact distance. Based on my testing, this sensor has a contact distance that is much larger than the previous sensors, which means the door or window you are sensing will need to be open wider in order for the sensor to recognize it as open, and if a door is not closed fully, it may still tell you that it’s closed.

Adding the device to Home Assistant was fairly straightforward. For first time pairing, you pull the battery isolator out by the tab and it goes directly into pairing mode demonstrated by a flashing LED that can be seen through the temperature sensor holes on the front, and it’s fairly quickly picked up by ZHA. If you want to re-pair it, you need to perform a reset by opening the battery tray, holding down the reset button, and then closing the tray. In HA, the device has three entities: a binary sensor for the contact state, a temperature sensor, and power sensor for the battery percentage.

I used this sensor in my refrigerator to monitor the temperature of the fridge, as well as send alerts if the door is left open for too long. It’s hardly noticeable, and the wide sensing distance helps with placement of the sensor.

Z-Wave Contact Sensors

Ecolink Z-Wave Plus Rare Earth Magnet Door Window Sensor

Now let’s take a look at Z-Wave contact sensors. The first one is the Ecolink Door Window sensor. This monster of a sensor is the largest contact sensor I’ve ever seen, and definitely the largest in this review. It has an LED on the body that flashes when it senses open or closed, and stays lit when the cover is removed. This is because it has a tamper sensor so that you can be alerted if someone is trying to bypass or disable it. What you’ll also notice when you have the cover off is a set of screw terminals that allow you to hook up a wired sensor. This can be a contact sensor or any other type of dry contact, and allows so that the body of the sensor itself doesn’t even have to be close to the point of contact. Here I’m demonstrating with a momentary push-button switch. You could put the sensor in a dry, safe place, and then put a more weather resistant, wired contact sensor outdoors. All you would do is connect the two wires from the wired sensor to the terminals here, and when the wired sensor was “made” or closed, the Ecolink sensor would report that it was open, or vice versa.

The cover of the device also has an arrow on the one side, showing where the magnet needs to be aligned to it. Ecolink actually advertises the battery life at 3 years, and after more than 10 days the sensor is still reporting 100% battery. It can be mounted with either the 3M adhesive or the screws provided, and on this one, both the sensor body and the magnet itself can be screw mounted. A mounting plate is provided for the body of the sensor so that it can be clipped onto the plate once the plate is screw mounted. The plate is designed so that it clicks into place, and the cover has to be removed to release the plate. That’s smart so that you get a cover open alert if someone tries to remove it.

One of the most unique things is that this sensor comes with a complete second housing, a brown one instead of white. This gives you multiple options depending on where you’re mounting it.

Adding this device to Home Assistant is not too complicated. Put Z-Wave JS into inclusion mode, and then pull the battery isolator tab on the back of the device. As soon as you do this it instantly begins the interview process, the LED on the front turning solid green. Once connected, you’ll see quite a few different entities that show up. You have the “cover removed” entity which I’ve already explained, you have a “low battery level” sensor which would turn on if battery gets critically low, you have the open/closed contact sensor, a “replace battery” sensor, and the battery level.

Aeotec Recessed Door Sensor 7

The next Z-Wave sensor is the Aeotec Recessed Door Sensor 7. This device stands out from the rest because of its mounting method. Rather than being an adhesive or screw on mount, this sensor is made to be recessed into a door. This allows for a very discreet sensor, that isn’t standing out and noticeable to most people. For both parts of the sensor, 3/4” holes need to be drilled, one in the door that is a little over 2 and a half inches deep, and the other in the door-jamb that is a little over a half of an inch deep. Then the sensor can be inserted into the one hole and the magnet into the other. The sensor part can be screwed into the door by its flange using the provided screws, but the magnet part should be glued into its hole.

The sensor supports S2 security and uses a 700 series Z-Wave module, allowing it to have fast response time and a long battery life. The battery life on this device is advertised at 3+ years. It uses the same type of battery as the Ecolink sensor a CR123A.

To add the device to Home Assistant, you have to use a screwdriver to pop off the flange of the sensor part. Then, use your fingers to slide the circuit board out of the cylinder. You should see the battery, and the tab of the battery isolator. Pull the tab, and then slide the board back into the cylinder. Next, put Z-Wave JS into inclusion mode, and then press the button on the end of the circuit board. An LED should begin flashing showing that it is in pairing mode. Once it is picked up by Home Assistant, you can snap the flange back into place on the face of the sensor. In the future you can use the hole on the face of the sensor to access the inclusion button. In Home Assistant you have quite a few entities like we did with the Ecolink. There’s a low battery sensor, open/closed sensor, and battery level sensor, but there is also a “power applied” sensor and a “software failure” sensor. I’m really not sure what these two do.

This sensor works great in applications where you don’t want people seeing the sensor, but it does require you to make a hole in your door, and may not work well in a metal door, although mine did, because metal enclosures can disrupt a Z-Wave signal. These are some things to consider when you’re looking at this sensor.

Fibaro Door / Window Sensor 2

Last but not least, we have the most expensive of all of the sensors we’re looking at today, the Fibaro Door / Window Sensor 2. This Z-Wave device is larger than the Aeotec, but still smaller than the Ecolink. It has a clean and futuristic rounded look that makes you want to pick it up for some weird reason. It has the Fibaro brand printed on the top, but it’s not too intrusive. In contrast with the large size of the sensor, the magnet part of the device is tiny as small as the Aqara sensor’s magnet! It looks like a tiny pill, but this small size does mean that you have to make sure it is lined up properly with the sensor. There is a marking on one side of the sensor and magnet to help with this. One of the device’s stand-out features is that it has a temperature sensor inside it.

The sensor can be mounted with screws or the adhesive backing, but the magnet can only be mounted with the adhesive backing. There is a curved strip of hard plastic on the back that bulges out so it’s not flush with the back of the sensor. Under this plastic is a button that will be depressed when the sensor is mounted to a flat surface. If you pop open the cover, you’ll see another switch inside that is depressed when the cover is in place. These two buttons are used to trigger the tamper alert if the cover is taken off or if the sensor is pulled off of the wall. 

These buttons are also used to pair the device in Home Assistant. To do so, you have to hold down one of the buttons, and then triple click the other one. This puts the device in pairing mode. Alternatively, you could mount it to the door or door frame first, effectively depressing one of the buttons (the one on the back), and then triple click the other button. In Home Assistant there are quite a few entities that show up – more than any of the other sensors in this article, actually. It has the door open or closed sensor, battery percentage, temperature, cover removed, low battery, replace battery, overheat, and underheat. The Cover Removed sensor’s status will be “Unsafe” until both buttons are depressed for about 5 seconds, at which point it becomes “Safe”. However, as soon as one of the buttons is released – if it’s pulled off of the mounting surface or the cover is taken off – it becomes Unsafe again. This could be useful if you wanted to set off an alarm that would be triggered if someone tampered with your sensor.

Favorites & Honorable Mentions

For a budget and basic Zigbee contact sensor, you really can’t go wrong with the Aqara sensor. It has great battery life, with what seems like a decent range compared to some of the others, and looks really good and minimalist when mounted on a door frame. If you’re looking for something similar, but a Z-Wave device, there is another sensor I didn’t cover in this article, but I would recommend – the Zooz ZSE41 Open Close Sensor. You can get this device for fairly cheap at the Smartest House when it’s on sale, and for a couple extra dollars you can pick up the waterproof case that’s designed for it. I covered this sensor in my Mailbox Notifications in Home Assistant video, so if you want to see more about it, check out that video.

If you’re looking for a Zigbee sensor that costs a little more, but also has a temperature sensor, the Centralite contact sensor is a pretty good option. There is another contact sensor that also reports temperature that I would recommend, and that’s the SmartThings/Aeotec Multipurpose sensor. The reason I didn’t cover it is because it isn’t offered on Amazon currently, and is almost always out of stock when it is. This is for good reason, because not only does it have a temperature sensor, it also has a vibration sensor as well. If you want something that has a little longer range, has a temperature sensor, and still looks good, Fibaro might be good for you, but it has quite a price tag!

If you’re looking for a sensor that is fairly well hidden, I would definitely recommend the Aeotec Recessed Door Window sensor. It’s super cool that you can have a wireless sensor that is hidden so nicely. A tamper sensor is not needed if the unwanted visitor doesn’t know it’s even there!

Least Favorites

Here are the ones I would NOT recommend.

First, the Sengled sensor. Don’t get me wrong, the sensor works great, but when you compare it to the Aqara sensor, there’s no contest. I have more Sengled sensors than any of the others, but it’s more expensive than the Aqara and apparently has worse range. Also, I really don’t think it looks as good.

Next, the ThirdReality contact sensor. Even though it takes 2 AAA batteries, it is way too big, and it doesn’t have enough features to make up for its size like the Ecolink does. On top of that, the battery reporting is definitely broken in Home Assistant – at least it is on mine, so I would not recommend you buy this one.

Anyway, thanks for reading!

Easy Mailbox Notifications in Home Assistant

What’s up Smart Homers, my name’s Aaron. This article is the written version of a video I just did showing how I easily set up mailbox notifications in Home Assistant. These include phone notifications, audio notifications, and dashboard notifications.

Every day when I get home from work, I check the mailbox for mail, never knowing if someone else already picked it up or if we even got any. The plan for this project was to put a contact sensor on my mailbox so that I could be notified when mail arrives.

For this project I used a Zooz ZSE41 contact sensor with waterproof case, an Aeotec Z-Wave repeater, and a few other household items.

Choosing the Right Sensor

Because of the distance from my Home Assistant hub to my mailbox, I was limited in what type of sensor I could use. This distance, almost 80 feet, forced me to look for a sensor that could reach all the way out to the mailbox, which in my case meant a wired sensor, a WiFi sensor, or a Z-Wave sensor. I didn’t consider RF because I don’t have an RF bridge (but I’m planning on getting one).

I try to avoid WiFi at all costs, so that was not an ideal option, and I really prefer to keep it wireless. This left me with the option to use a Z-Wave contact sensor, but the predicament here was the price of the sensor! Most Z-Wave contact sensors that I saw were $35 or more. However, recently Zooz released their ZSE41 contact sensor, which was selling at a stunningly low price of $18, and for a couple dollars more you can get a waterproof case for it! This is the contact sensor I decided to use for this project.

Extending Your Z-Wave Network

Once the sensor arrived, I easily paired it with Home Assistant via Z-Wave JS. I decided to test the range of my Z-Wave network by holding the contact sensor and walking out into the yard. I only got about halfway out to the road before I went out of range. The signal had to go through a wall as well as my front door in order to reach the mailbox, so I installed a Zooz Z-Wave light switch (which works as a a Z-Wave range extender) directly inside my front door, hoping the switch would extend my Z-Wave network. Once the new Z-Wave switch was installed, I had to “heal” the contact sensor node so that it would try to find the path of least resistance back to the hub. This did extend the range a little, but it did not extend it far enough to reach my mailbox. I realized that since my front door is made of metal and my house has brick on the outside, this may have been interrupting the Z-Wave signal.

Next, I decided to use a Zooz smart plug (which also acts as a repeater) to try extending the range.

Zooz ZEN15

I plugged it into an outdoor outlet on the front outside wall of my house, just outside the front door. Once again, I “healed” the Z-Wave node, and this time I had signal all the way out at the mailbox! This proved that the metal door or the brick wall was affecting the signal, and that a range extender on the outside of my house would work. Then I ordered an Aeotec Z-Wave repeater to use instead of the smart plug.

Distance problem solved!

Contact Sensor Installation

Next, I did some planning as to where I would mount it on the mailbox. My first thought was to mount it inside the mailbox. After seeing how it would look on a cardboard box, I installed the sensor on the inside of the mailbox without the waterproof case. Typically, the inside of my mailbox stays dry, so I wasn’t worried about it getting damaged. However, the sensor could not communicate with my Z-Wave network from inside the metal mailbox! Next, I tried mounting the sensor underneath the mailbox, still no signal! Then I tried mounting it on the side of the mailbox, using the waterproof case.

Sensor Mounted on the Side

Still, no signal! After trying lots of difference locations on the mailbox, I finally found that mounting it on the side of the plastic door of the mailbox worked. It was evident that having the device inside or directly mounted to a big metal box was messing with the Z-Wave signal.

Sensor Mounted on Lid

My problem with mounting the sensor on the mailbox door was that the gap between the sensor and the small piece of the sensor, was too large, and there was nowhere to mount the small piece that would allow it to sit close enough to the sensor for the sensor to be made. Since the small piece is just a magnet, I took some round kitchen fridge magnets, stuck them together with double-sided tape, and used them in place of that small piece.

Gap Between Sensor and Mailbox (too big)
Magnets Back-to-Back, Wrapped in Electrical Tape

With this configuration, the sensor worked reliably each time the mailbox door was opened and closed. Though not as aesthetically appealing as a direct mount, it does the job. I may do some modifications in the future to make the sensor more secure, but this whole setup did survive hurricane Henri, so the adhesive mounting sticker and the waterproof case work very well!

Sensor Snug n’ Dry
Final Installation Location

Setting It Up In Home Assistant

In home assistant, I created a Boolean entity called “Mail Present” to indicate the presence of mail. An input_boolean entity in Home Assistant is a toggle entity that can be either on or off. If it is “on”, then mail is present in the mailbox. If it is “off”, mail is not present.

I also created an input_datetime entity called “Mail Arrived” that allows you to set its date and time value. The entity will be used to “save” the time that the mail arrives.

After creating these, it’s time to automate! I created two automations: The first one is triggered when the mailbox sensor is opened. The automation goes as follows:

  • First, it turns “on” the input_boolean that I created indicating that mail is present
  • Second, it sets the input_datetime value to the current date and time.
  • Next, it sends a notification to both my phone and my wife’s phone that mail has arrived.
  • Finally, it plays an audio notification over two different Google Home speakers in common areas of our house.

I also set conditions for this automation, because if there is already mail in the mailbox, I don’t want this automation being triggered when I open mailbox to retrieve the mail. I added a condition requiring the “Mail Present” Boolean entity to be “off”, meaning the automation only triggers if there is no mail in the mailbox.

alias: 'Mail: Mailbox Opened'
 description: ''
 trigger:
 type: opened
 platform: device
 device_id: b6b334716102cbd8f72727eadd377f24
 entity_id: binary_sensor.mailbox_sensor_open
 domain: binary_sensor
 condition:
 condition: state
 entity_id: input_boolean.mail_present
 state: 'off'
 action:
 service: input_boolean.turn_on
 target:
   entity_id: input_boolean.mail_present
 service: input_datetime.set_datetime
 target:
   entity_id: input_datetime.mail_arrived
 data:
   datetime: '{{ now().strftime(''%Y-%m-%d %H:%M:%S'') }}'
 service: notify.mobile_app_oneplus7
 data:
   message: You've got mail!
 service: notify.mobile_app_oneplus3t
 data:
   message: You've got mail!
 service: media_player.play_media
 data:
   media_content_type: music
   media_content_id: http://192.168.86.219:8123/local/youve-got-mail-sound-2.mp3
 target:
   entity_id: media_player.living_room_speaker
 service: media_player.play_media
 data:
   media_content_type: music
   media_content_id: http://192.168.86.219:8123/local/youve-got-mail-sound-2.mp3
 target:
   entity_id: media_player.kitchen_display
 mode: single Code language: YAML (yaml)

Next, there needs to be a way to turn the “Mail Present” sensor back to the “off” state so that the automation will trigger when mail comes the next day. To do this I created a simple automation that turns the input_boolean off each day at midnight.

alias: 'Mail: Reset Mail Presence'
 description: ''
 trigger:
 platform: time
 at: '00:00:00'
 condition: []
 action:
 service: input_boolean.turn_off
 target:
   entity_id: input_boolean.mail_present
 mode: single Code language: YAML (yaml)

My favorite part of this project is being able to see an indicator on my wall-mounted control panel then tells me that mail has arrived, and when it has arrived. To do this I first created a template sensor using the input_datetime information that gets “saved” in the automation. The sensor formats that information nicely.

  - platform: template
    sensors:
      mailbox_status:
        friendly_name: Mailbox Status
        value_template: >-
          {{ as_timestamp(states("input_datetime.mail_arrived")) | timestamp_custom("%I:%M %p") }}Code language: YAML (yaml)

Then I created a custom button card that shows me if there is mail, and when it arrived, or it shows “no mail” if it has not been delivered yet. I also gave it a tap action that allows you to “clear” the notification by turning of the “Mail Present” input_boolean.

type: custom:button-card 
entity: input_boolean.mail_present 
color: white 
show_state: false 
tap_action:   
  action: toggle 
state: 
- value: 'off'
  icon: mdi:email-off-outline
  name: No Mail
  color: rgba(0,0,0,0.3)
- value: 'on'
  icon: mdi:email-alert
  name: |
    [[[
      var time_delivered = states["sensor.mailbox_status"].state;
      return 'Mail delivered at ' + time_delivered 
    ]]] Code language: YAML (yaml)
Tablet
Close-Up of Custom Button Card

Key Takeaways

Anyway, that’s pretty much it. I have to say, once I was able to get in range, this sensor is very responsive and reliable, and I would highly recommend it. I haven’t had it long enough to test battery life, but the waterproof case is very affective even in extreme rain and wind!

The biggest thing I learned with this project is the ability of metal objects/doors and brick to attenuate a Z-Wave device’s signal. Even though Z-Wave devices have a longer range than other types, the construction material of the outside walls of your house play a big part. I was also amazed that putting the sensor directly on the metal mailbox caused a problem. If you have a metal mailbox, take this into consideration before starting the project.

If you enjoyed this article, check out my YouTube channel.

Best Smart Buttons for Home Assistant – Ultimate Review

What’s up Smart Homers? This is the written version of a recent video I made comparing smart buttons. Recently I’ve been trying to figure out what smart button or smart remote is best for my smart home, but there are so many different options, and even when you see them online, you really don’t have a good idea of their size or quality until you get your hands on them. I decided to buy a bunch from a few different brands and compare their prices and features. I’ll also give some ideas for how they can be used around the house.

Overview

Here are the technical specs of the different buttons I tried. Because prices vary, I rated them from 1 to 5 dollar signs (“$”), where “$” is 0 to $9.99, “$$” is $10 to $19.99, etc. all the way up to $50. Note all blueprints are for ZHA.

NameProtocolBatteryButtonsActionsPriceBlueprint
Aeotec NanoMote Quad, MiniMote 2Z-Wave +LIR2450, Rechargable48
$$$$$Yes
Aqara Wireless Mini SwitchZigbeeCR203214$$No
IKEA Tradfri RemoteZigbeeCR2032510$$$No
Hank Z-Wave 4-Button Scene ControllerZ-Wave +LR44 LIR2450, rechargable48$$$Yes
FIBARO “The Button”Z-Wave +ER1425016$$$$$Yes
MOES 4-Gang Tuya Scene SwitchZigbeeCR2430412$$$Quirk
Sonoff Zigbee Wireless SwitchZibeeCR245013$$Yes
Shelly Button1WiFiBuilt In, rechargable14$$$No
Aeotec/SmartThings ButtonZigbeeCR245014$$$No
Linkind 5-Key Remote ControlZigbeeCR245050$Yes*
some links are affiliate links

* For this remote, there is a much better Blueprint if you are using Zigbee2MQTT.

Button Requirements

The requirements for my button selection are as follows:

1. They have work with Home Assistant (but let’s be honest, there’s not much that doesn’t these days)

2. They cannot require a hub – they have to work directly with Home Assistant via the ZHA integration (Zigbee Home Automation). Often manufacturers will say that a hub is required, but usually they can be bypassed easily. An exception to this would be Flic buttons, which I have not seen paired with Home Assistant without their hub.

3. They have to be under 50 dollars (US). This should be pretty easy, but you’ll see that Z-wave devices get a little pricier than the Zigbee or WiFi ones.

4. They need to be available at Amazon.com or Walmart.com.

There may be some popular buttons that are not in this review, but it’s probably because they don’t fit my requirements.

Single-Button Smart Buttons

Let’s start by looking at the single button smart buttons.

Sonoff Wireless Switch

The first one I want to look at is the Sonoff Wireless Switch. This is one of the cheapest of all of the smart buttons I’m looking at in this article. It has a sharp, square design that isn’t super comfortable in the hand, but it has an interesting, (hardly noticeable) fingerprint design on the front of the switch, which is not a fingerprint reader of any kind – its aesthetic only. The entire body of the switch acts as a button so you depress the entire face. This makes it so that you can accidentally press it when you pick it up, and sometimes clicks aren’t always registered. It comes with adhesive backing, so it can be suck under a desk or table, and would be easy to press without looking.

This Sonoff button uses Zigbee communication, and pairing this button with Home Assistant was a breeze using ZHA – all I had to do was press and hold the reset button with a sim card tool until the LED flashed red causing the button to be recognized immediately.

In order to use the 3 actions that this button offers, you need to install a blueprint for it, which I have linked in the description. Once I did that, the device functioned as expected, allowing me to trigger routines with a single press, double press, and hold. The only issue I had with this button was getting off the battery cover. I had to pry it off with a screwdriver.

Aqara Wireless Mini Switch

The next one I want to show you is the Aqara smart button. This is on of the most popular buttons for Home Assistant users. It is about the same size as the Sonoff, but a but thinner, and WAY better looking. It features rounded corners which makes it comfortable to hold, modern grey and white coloring, and a large round button in the middle. The LED indicator is on the face of the switch so it is easy to see.

The button uses Zigbee protocol, and although Aqara’s description of this switch on Amazon says that an Aqara hub is required, that’s not really the case. I’ve paired many Aqara devices with ZHA with no trouble, and this was no different. Pressing the small reset button located on the side of the button allowed me to easily pair it with ZHA. Another advantage this button has over the Sonoff is that it features 4 actions rather than 3. You can use a single press, double press, hold, or release as an automation trigger, and there is no need to install a blueprint to begin using this button in Home Assistant! I have this button on my nightstand as an alternative to my NFC tag triggered automation I’ve shown in a previous video on my YouTube channel. At four dollars more, it’s an obvious choice over the Sonoff button.

SmartThings Button

The SmartThings button is one used by many people across the different smart home platforms. Originally made by Samsung, you can now find these buttons on Amazon, but now sold by Aeotec since Samsung is getting out of the hardware side of the smart home industry. This button is easily one of the most aesthetically appealing to me of all the single-press buttons we will cover in this review. Its solid white design with that little rounded square in the center of the face (that doesn’t do anything) gives it a very unique look. Like the Sonoff, the entire body of this switch acts as the button. This button as feels much higher quality than Sonoff or the Aqara.

This button is also a Zigbee device, and is easily paired with ZHA. Once paired it can be used right away with no blueprint. It supports 3 actions, single press, double press, and hold, but also has another feature that none of the other buttons in this review do – it has a temperature sensor! The temperature sensor is immediately available in Home Assistant once it is paired. This button has been sitting in my office for quite a while, and I use it to control my office lighting scenes as well as report the temperature of the office. At 30 dollars, you are certainly getting what you pay for in my opinion.

Shelly Button 1

The Shelly Button1 is different than the rest of the single button remotes today for a few reasons. You can get it in either white or black, and it has an LED indicator ring on the front around the button. It also has a built-in rechargeable battery with the option to power it via micro-USB cable. The button is also IPX5 certified, so a little sweat or rain drops won’t hurt it. The design is very sleek, and the LED indicator ring ads a nice touch. The button also has a hole for a keyring loop for taking it with you places.

This button is also different than the rest because it uses WiFi communication. Although I don’t prefer WiFi smart home devices,  the advantage to the WiFi button is that it can be used to trigger automations when you are somewhere else where there is WiFi, but not on your home network. To do this it needs a connection to the Shelly Cloud, which I know is an automatic “NO” for a lot of smart homers. This means that you can have the button at a different location, and as long as it has connection to the internet, it can trigger automations at your home. The setup process for this button is a little tedious, but is clearly described in a video on the Shelly YouTube channel. Once connected to the Shelly app, it should be automatically discovered and can be added to Home Assistant via the Shelly integration. In Home Assistant, 4 automation triggers are available without the need of a blueprint. However, that’s where I started having a lot of issues with responsiveness of the button. Tapping the button after not having used it for a while caused the LED ring to flash white for a few seconds before turning green. Once green, it will actually trigger an automation when you press the button. The only way to stop the button from sleeping was to leave it powered by USB continually. However, I noticed that there was a firmware update available, and once I updated it the button was a lot more responsive, although not quite as quick as the Zigbee devices I tested. This may be expected from a WiFi device, but it’s hard to justify buying this button over some of the others at the price it is at. The only reason to do so in my opinion is because of its unique look.

Fibaro “The Button”

“The Button” by Fibaro is one of the most unique of the many smart buttons I’ve used. It is styled to look like an emergency button, but it can be integrated with Home Assistant to control scenes or trigger automations. Even though it has largely negative reviews on Amazon, its unique look made me have to try one out. It has a plunger-style push-button, with a variety of bright colors to choose from. It also comes with an adhesive so that the button can be adhered to a surface of your choice.

The Button uses Z-Wave communication protocol, and easily pairs with Home Assistant via Z-Wave JS. With a blueprint, the button is capable of 7 actions: single press, double, triple, quadruple, and 5x presses, as well as a hold, and release. Because of its appearance, this button might work best as an emergency/help button if you have someone elderly in your home that needs to be able to call you quickly. You can set up an automation that sends an audio message on all of your Echo Dots or Google Homes when the button is pressed. The only issue I had with this button is that the batteries are not standard coin batteries, so I had to buy some as backups. Overall, the unique look of this button doesn’t really justify the high price for me.

Multi-Button Remotes

Hank Four-Key Scene Controller

The Hank 4-Key Scene Controller is impressively priced for a Z-wave device. It has 3 equally sized buttons, one with a moon and star on it, one with two people, and one that appears to be an I/O on/off symbol. The fourth button is directly in the middle, and it has a small circle on it. The button has a clean and simple look to it, but it feels kind of cheap. Some of the buttons have different amounts of click than the others when depressed, which is weird. The battery is rechargeable, and can be charged by the micro-USB port on the one side

As I mentioned, this is a Z-Wave device, which paired pretty much instantly to Home Assistant via Z-Wave JS. However, each button has only 2 actions, a single press and hold, but a blueprint needs to be installed in order to use them.

IKEA Tradfri Remote

Next is the IKEA Trådfri Remote. This Zigbee remote is made for other IKEA Trådfri devices using the Tradfri hub. However, the hub is not required to use it with Home Assistant.

The remote feels very high quality, the nicest feeling of any of the buttons I’m looking at in this review. The perfectly round button in the center, with four equally sized buttons surrounding it, and the white/grey combo gives it a modern look that only IKEA can manage. The front of the remote is white with a matte finish, and it’s easy to see the button icons. The back is grey, with some sort of grippy plastic, which makes it very easy to hold onto and allows it to stay put on slippery surfaces. The feel of it makes you want to keep picking it up for some reason! It also comes with a magnetic wall plate that can be mounted to the wall, and then the remote can be stored on the wall plate, held in place magnetically. Since it’s so good looking, it may be something you’re comfortable with mounting out in the open where anyone can see. The remote has 5 buttons, a brightness up, brightness down, left arrow, right arrow, and an on/off button.

Typically, this would be used with a smart Trådfri light bulb to control its brightness and power state, and then the left and right arrows would be used to switch to a different bulb to control. However, in Home Assistant each button can be used to trigger whatever automation or scene you want. There are a total of 10 actions, a single press and a hold for each button. The pairing of this device using ZHA was not exactly straightforward. The instructions mention holding the pairing button (which is found under the battery cover) for 10 seconds to pair the device, but that didn’t seem to work for me. I googled around and someone mentioned that you need to press the pair button 4 times in order to reset and pair it. When I did this, a hidden LED indicator on the front middle button lit up showing me that it was pairing. After that it worked fine, with no need for a blueprint! There is a blueprint available if you want to use the brightness and power button to control a single light. I’ll link that for you. At around 25 dollars, this is getting a lot more than you pay for.

Aeotec NanoMote Quad

The Aeotec NanoMote Quad is also a very unique device. This Z-Wave remote features 4 buttons, 3 around the edges, and single button in the middle. It bothers me that the buttons are not all equally sized, but a cool feature is that each button has raised nubs on them. The top button has a single nub, the bottom left has two, and the bottom right has 3. This helps you know by feel which button you are touching. This is awesome because if it’s in your pocket or you are in the dark, you don’t have to see the remote to know which button you’re pressing. This button also has a rechargeable battery that can be charged via the micro-USB port. It also has a keychain ring that you can attach by taking off the battery cover and slipping it through a hole in the body of the button. It seems like they designed it to be something that you can carry around with you in your pocket or on your keyring, which I can see being pretty useful with those raised nubs.

Adding this device to Home Assistant via Z-Wave JS was super easy, but a blueprint will need to be installed in order to use the 8 actions. Each button can be single pressed or held to trigger an automation. Since Z-Wave has a bit longer range than Zigbee, this could be used in your car as a garage door opener remote if you have a smart garage door opener but don’t have a remote in your car. I set button 1 to open/close both garage doors, button 2 for the left garage door, and button 3 for the right garage door. The center button I set up to toggle the garage lights.

4-Gang Tuya Scene Switch

The Tuya 4-Gang Zigbee Switch is a remote you can find sold by multiple sellers on Amazon, so I think it’s one of those ones that gets rebranded a lot. Despite this, the remote is pretty cool. It is easily the largest of all of the ones that I’m looking at in this review, featuring four large and easy-to-press buttons. It comes with adhesive strips for the back, and is clearly meant to be adhered to a wall or other surface. I picked this one up specifically because I saw a video by Smart Home Solver where he used a Broadlink Button as a toddler remote. However, with a Broadlink Button, a hub is required, so I chose this instead. Large stickers or pictures can be place on each button to help kids use it. I decided to use this button with my projector setup. In a previous video, I showed how I automated my entire projector setup using the Broadlink RM4 Pro. Now the kids have a remote mounted to the projector cart that can trigger these automations with a button push.

This remote is meant to be used with a Tuya Zigbee hub and the Tuya app, but it can set it up in Home Assistant via ZHA. However, when setting it up I found that it would not register the button presses, and ended up having to work with others in the Home Assistant community to get it working. I ended up having to install a custom Zigbee quirk for it to function. This process is a bit complicated, so I can’t say I recommend this switch to a beginner. Instead of the 12 actions that were advertised, this remote only has 6, even with the custom quirk installed. The left two buttons each only register a single press, while the two on the right register a single press and a hold action. Although the switch only costs 27 dollars, only getting half of the actions that were advertised is a bummer, and I’m considering returning the switch. I’ll leave a link to the GitHub pull request related to this switch.

Linkind 5-Key Remote Control

OK, here’s the last button that I have tested with Home Assistant. It’s also the cheapest of all of them. I was browsing through the different options on Amazon, and I saw the Linkind 5-Key Remote Control for an unbeatable price of 10 bucks. This remote has pretty poor reviews, mostly because it doesn’t seem to work with its own ecosystem. However, since it is a Zigbee device, I decided to try it out with Home Assistant. A quick google search showed me that there is no blueprint for it for ZHA, although there is for Zigbee2MQTT, so I did what any smart homer would do – I made it work. I actually spent way too much time on this little remote, but I wrote my first, from scratch, ZHA blueprint for it, so that most of its functions can be used in Home Assistant.

Hardware wise, this remote has 5 buttons. It also has a magnetic wall plate similar to the IKEA remote. The wall plate has holes for screws as well as an adhesive sticker for sticking it right to a surface. The device is made to control a single or group of RGBW lights. The blueprint I wrote allows you to control the brightness, color temperature, and RGB color of any light entities that you choose. Due to the nature of the Zigbee commands that it sends, the remote has 5 brightness levels, 4 color temp settings, and 6 preset colors. Each of these are selected by cycling through them using the up/down arrows. Pressing the left button (looks like a refresh symbol) changes the selection mode between brightness, color temp, and color. The center button turns the light(s) on and off, and the right button doesn’t actually send any Zigbee commands (as far as I can tell), so it does nothing.

I’ll leave a link to my blueprint, but it definitely needs further development.

This button could be used to control a group of smart bulbs at the same time in a room. An example would be controlling the lamps in your living room all at once. The ability to easily adjust their brightness simultaneously might make this 10-dollar switch worth picking up.

Final Thoughts

Favorites

For single buttons, I would recommend the Aqara Button as the best budget option. The low price combined with the ease of install and modern look makes this button an easy recommendation.

If you’re looking for the best bang for the buck, I would recommend the Samsung/Aeotec SmartThings Button. The quality feel of it as well as the extra temperature sensor makes this button a one-of-a-kind!

For multi-button remotes, I’d recommend the IKEA Trådfri Remote without hesitation. It’s one of those devices that just makes you want to pick it up. On top of that, it has more actions than any of the other devices in this review.

A runner up to this remote is the Aeotec NanoMote Quad. Although it has fewer buttons and actions than the the Trådfri remote, it has those raised nubs that are surprisingly useful. Since it uses Z-Wave protocol, the ability to use it as a garage door opener from outside the house is awesome.

Least Favorites

Here are the ones I would NOT recommend.

First, the Shelly Button1. This was easily the biggest disappointment because it had so much going for it. The almost 2-second delay that occurs when the button has been pressed after it has been “sleeping” is too much, and the button doesn’t have enough other features going for it for me to recommend it.

Next, the Hank Z-Wave 4-Key Scene Controller. This remote really has nothing special to offer except for the low price for a Z-Wave device. Since there are other remotes out there like the Tradfri remote and the Aeotec NanoMote, I can’t recommend this one.

If you liked this review, keep an eye out for more on my website. Also, be sure to subscribe to my channel, since I’ll be doing more review videos, as well as guides and videos on automation ideas.

Anyway, thanks for reading!

Smart Charging a Wall-Mounted Tablet

What’s up, Smart Homers? In this article I will show you how I set up smart charging for my wall mounted dashboard.

You may have heard of the 80/20 rule for charging lithium-ion batteries – the recommendation is to keep them between 20 and 80 percent. The idea is that lithium-ion batteries are under the most mechanical strain when they are at 100% charge. Eventually the battery’s internal resistance increases, and the battery capacity decreases. In some cases, the battery can physically fail, causing it to bloat/expand and cause actual damage to the device it is powering.

In a video on my YouTube channel, I showed how I set up my wall-mounted dashboard using an Amazon Fire tablet. However, my setup involved keeping the tablet continuously powered all the time, effectively keeping the tablet’s battery at or near 100% state of charge. This is not ideal as I explained earlier. In this article I’m going to show you how I used a smart outlet and Home Assistant to “smart charge” my tablet.

Background

Based on some research I’ve done, the ideal condition for the battery would be to sit at around 50 to 60 percent. This would put the least stress on the battery. However, you also want to avoid micro cycles by constantly recharging small amounts to keep it at 50%. The best would be to average 50% state of charge, with smooth and slow charge and discharge rates to limit unnecessary heat. For these reasons, I first chose a minimum battery percentage of 20%, and a maximum of 80%.

A Smart Outlet

I’ve heard the horror stories of people’s wall mounted tablets being damaged when the batteries expanded leaving them in a potentially dangerous situation, and I really didn’t want this to happen to mine. The first thing I did was started looking around for smart outlets that also had a USB port in them. However, the USB port on the receptacle had to be smart, not always on, and the device had to be compatible with Home Assistant. I couldn’t find a single Z-wave or Zigbee device that met my requirements, but surprisingly enough, I found a couple WiFi switches that had the smart USB port. The one I chose is a MOES WiFi Smart Wall Outlet, with two standard receptacles that are individually controlled, and a USB port that is also individually controlled. The USB port provides 5V at 2.1A, which should work fine for my needs. The outlet also uses Tuya software and works with the Smart Life app. Since there is a Tuya integration in Home Assistant, this switch will hopefully integrate with home Assistant.

Install and Setup (Smart Life & Home Assistant)

When you buy a Tuya device, you’re not guaranteed that it will show up in Home Assistant via the Tuya integration. I have a Tuya powered fan/light switch combo that does not show up even though I can control it with the Smart Life app. Anyway, I bought the switch and installed it, replacing the outlet that was there previously. I followed the instructions given with the outlet and got the device connected to the Smart Life app. The switch shows up as 3 entities in the Smart Life app – the top and bottom receptacles, and the USB port.

How the Smart Outlet Shows Up in the Smart Life app

In Home Assistant, I navigated to Configuration, Integrations, and then I reloaded the Tuya integration… and boom! It showed up! At least all that wiring wasn’t for nothing.

Template Sensor in Home Assistant

Next, I created a template sensor for the tablet’s battery level attribute from the Fully Kiosk sensor (as I showed in the video) so I could monitor and plot the battery level. I can also use this value as at trigger to automate the switch. If you don’t understand what I’m doing here, basically a template sensor can be used to take another sensor’s attribute and make a brand new sensor out of it.

- platform: template
  sensors:
    firehd10_battery_level:
      friendly_name: "firehd10_battery_level"
      unit_of_measurement: '%'
      value_template: "{{states.sensor.firehd10.attributes.batteryLevel }}"Code language: JavaScript (javascript)

Automations

Now that I have the battery percentage sensor in Home Assistant, and also the ability to control the power to the tablet, I created two automations. One automation turns on the power to the tablet once its battery level reaches the minimum of 20%, and the second one turns off the tablet’s power supply after the battery reaches the maximum of 80%.

Results

 I also created a mini-graph-card so that I could trend the battery percentage over the course of a few days. As you can see the battery discharges at a varying rate depending on how much the screen is on during each cycle, but the charge rate is very smooth. Ideally, reducing charge rate would help with battery performance, but I’m not sure I could find another smart USB outlet that would fit with my setup that would provide 5V at less than the 2.1A that this one does.

Mini Graph Card showing Battery Level

I considered switching from the 20/80 setup to 30/70 because that would keep the battery closer to a 50% SoC, but it would increase the number of cycles. I may get a second wall-mounted tablet and use the 30/70 method and compare the two over a long timespan.

Wrap-Up

Anyway, that’s all there is to it! If you enjoyed this article, please check out the others on my website, and also check out my YouTube channel where I’ll be doing more guides like this, and also reviews and videos on automation ideas. If you’re interested, please consider subscribing!

Related Links:

https://batteryuniversity.com/article/bu-808-how-to-prolong-lithium-based-batteries

https://batteryuniversity.com/article/bu-808b-what-causes-li-ion-to-die

https://batteryuniversity.com/article/bu-409-charging-lithium-ion

https://batteryuniversity.com/article/bu-208-cycling-performance

https://batteryuniversity.com/article/why-mobile-phone-batteries-do-not-last-as-long-as-an-ev-battery

Automate Your Projector Setup with the Broadlink RM4 Pro

Hey Smart Homers! In this article I’ll show how I used the Broadlink RM4 Pro to automate my projector and motorized screen for a hands free experience. If you prefer a video, I’ve posted one on YouTube. If you watch it and enjoy it, please consider subscribing!

Before I really started building my smart home, I bought a 100-inch motorized projector screen (controlled by an RF remote) and a projector (controlled by an IR remote) for watching movies. As I added more to my smart home, I really wished I could automate these devices. This problem is now solved with a Broadlink RM4 Pro and Home Assistant. Now I can control both without needing the remotes, and can even use Alexa voice commands to control them.

RF vs. IR

Before I actually show how I did it, I want to quickly explain the difference between RF and IR. This is important information so that you are able to troubleshoot any future potential issues with your setup. Basically RF and IR are two different wavelengths on the electromagnetic spectrum. RF stands for Radio Frequency, and IR stands for Infrared. Both of these have longer wave-lengths than actual visible light, so you can’t see them. As you can see on the diagram below, RF has a longer wavelength than IR. This is important because it results in RF signals being able to pass through walls and other solids (to a certain extent of course). Though invisible, Infrared light cannot pass through solids because it of its longer wavelength.

Electromagnetic Spectrum

This difference between RF and IR will be important later.

How the RM4 Pro Works

Ok, so now I’ll explain how the RM4 Pro works. The RM4 pro works as both a transmitter and receiver for RF and IR signals. The device can “learn” signals from IR/RF remotes, and then can transmit those signals to the various devices that those remotes control. The RM4 Pro can be integrated with Home Assistant to allow for automations and scripts using these remote signals.
Important Note: The RM4 Pro only supports RF devices that operate at 433 MHz, so you check your remote to see what frequency your RF devices use before you buy this.

Connecting the RM4 Pro to WiFi

The first thing you’re going to need to do is set up the RM4 Pro in the Broadlink app. The only use we will have for the Broadlink app is that it will connect your RM4 Pro to your WiFi network. Once this is done, the app won’t be needed anymore.

First, plug in your RM4 Pro (power) and download the “Broadlink – Universal Remote” app. Once it is installed, open it follow the required steps in order to sign in. If you haven’t already, you’ll need to create a Broadlink account. Once you’re all signed in you should be at the “Welcome home” screen. Tap “Start to use” and then tap “Add device”. Allow any permissions it requests, and then it will begin scanning for nearby devices. Tap “WiFi devices” and then follow the instructions it shows. Once connected, you should see your RM4 Pro in the device list on this screen. Now you’re done with the app! Just close it out without proceeding any further.

Next, head over to your router settings (this will vary depending on what router you have) and find the IP address of your connected RM4 Pro. It’s a good idea to reserve that IP address for Home Assistant integration.

Setup in Home Assistant

Next, It’s time to head over to Home Assistant. Click on “Configuration”, “Integrations”, and look for the Broadlink integration. Your device should already be discovered and show up on this page, but if it doesn’t, click “Add Integration”. Search for Broadlink, and click the Broadlink integration. The “Connect to the device” box will pop up, requiring you to enter the IP address of your Broadlink device that you found earlier. Enter that IP address and click Submit. Once it’s integrated, click “Configure” on the integration, and give your RM4 Pro a name and area if you like.

Teaching a New Dog Old Tricks

Ok, now comes the grind. We’re going to have the RM Pro listen for codes sent by remotes, and save those codes so Home Assistant can send them. This part is really not too difficult, but just takes some time depending on how many remotes you want to learn from. I only had two remotes for this project: one for my projector and one for my projector screen. The projector remote uses Infrared while the screen’s remote uses RF. Each button press must be learned individually. The first thing we do is head over to developer tools. From there, click services, and on the services page, search for the “remote.learn_command” service. In the Targets field, click “Pick entity” and choose your RM Pro from the list. We are going to run this service for each button press we want to “learn”, changing the information in the fields shown below each time. Check the boxes next to Device, Command, and Command Type. The Device field lets you give a name to the device that you will control, for example, “projector”. The Command field lets you give a name to the command, for example, “power”. These two fields are completely custom, so you can call them whatever you want. After this, choose the Command Type from the dropdown menu for the 3rd field. My projector operates via IR, so I chose IR. Finally, click call service, and you should see a notification appear in Home Assistant telling you to press the button on the remote. Point the remote at the RM Pro and press the button. This should cause the notification to be cleared, and there you have it, you’ve learned the first code!

Now you can repeat this step for each button on your remote that you want to have the RM Pro learn. Note that, because of what I explained before about IR not being able to pass through solids, I found that you need to point the remote straight on at the RM Pro’s orange light where the IR receiver is. This is important for when you decide where you want to put the RM Pro – it needs to be in the same room as the projector, and facing it properly so that the projector can receive the signal it sends.

Next we can program our RF remote, which is only a slightly different procedure than with IR. In the service tab again, change the name of the device in the Device field to the name of the RF device. I name it “projectorscreen”. For my screen, I’m only programming up, down, and ok buttons, so in the Command field I put “up”. Change the command type to RF, and then click “call service”. You’ll see a notification appear in Home Assistant telling you to hold the button that you are programming. The RM Pro then sweeps across a range of frequencies looking for the signal that your remote is putting out. Keep holding until the notification goes away and then let go. Another notification will appear telling you to press the button once again, so give it a single press (no need to hold it) and that notification should also be cleared. As with the IR remote, repeat this step for each button you want to program. Once that’s complete, you’re all set to start sending commands via Home Assistant! Not so bad, eh?

Commands can also be “batch-learned”; multiple commands can be learned in a row. To do this, just put a list of commands (one per line) in the command field. Then you can learn them one by one.

Testing the Commands in Home Assistant

You can then test these commands by changing the service to “remote.send_command”, selecting your RM Pro as the target again, putting the name that you chose for your device in the Device field, putting in the name of the command that you want to send, and then clicking “Call Service”.

Scripts in Home Assistant

Maybe we want to send a sequence of multiple of these commands by tapping a button. In this case, we can write a script, and then call that script with a Lovelace button card. On the scripts page, choose “Add Script”. Give it a name, and then in the “Sequence” section, set the action type to “Call Service”. The service will be the same one you just tested (“remote.send_command”) and the same target. Specify the Device and the command. When making a script, you can add multiple commands in a sequence. You can also add delays in between commands if need, and you can also control other devices as well, like lighting. I’ll show a sample script later on.

Virtual Projector Remote in Home Assistant

Another cool thing that you can do is use the “custom:tv-card” to make a virtual remote in Lovelace. The card has a bunch of pre-defined buttons that can be tied to a service. Tapping the buttons on the card will call the service that you define. I used this card to combine both my projector and projector screen remotes into a single virtual remote. The card has predefined buttons for selecting  a TV’s channels (going up and down), so I used these buttons to raise and lower the projector screen. I used the source button to select the input for my projector. If you do not specify a service for a particular button, that button will not be displayed on the card (pretty nice). Below I have left the config YAML for my custom:tv-card setup.

type: custom:tv-card
 entity: sun.sun
 name: Projector Setup
 tv: true
 power:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: power
 up:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: up
 down:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: down
 left:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: left
 right:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: right
 select:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: ok
 back:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: exit
 source:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: source
 info:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projector
     command: menu
 channelup:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projectorscreen
     command: up
 channeldown:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projectorscreen
     command: down
 home:
   service: remote.send_command
   service_data:
     entity_id: remote.broadlink_rm4_pro_remote
     device: projectorscreen
     command: okCode language: CSS (css)

Automating the Entire Setup

I have a pretty cheap projector, and every time I turn it on I have to change the input source to HDMI so that my Chromecast with Google TV with be displayed. If we want to watch something on the setup, we have to lower the screen, turn on the projector, change the input source, and then we can control the Chromecast with the Chromecast remote. I don’t mind navigating Google TV with a remote, but I wanted to automate the rest of the process so that the kids can get the projector set up by themselves. I created a script that performs all these actions in a sequence as shown earlier. First the script sends the command to bring the projector screen down, and while that’s going (it takes a while), it sends the command to turn on the projector. Since the projector needs to be fully booted up before it can receive the commands to change the source, I put a “wait” action in the sequence. After 10 seconds, the script then sends a command to open up the Input Source menu. To select HDMI, the “right” command needs to be sent twice, and then the “select” or “ok” command needs to be sent. In order to make sure my cheap projector recognizes each command, I put a one-second delay between each. After the input source is selected, the Chromecast remote can be used to control Google TV from there. I set up a button card in Lovelace to that can be tapped to run this script and set up the projector. I also made another script that turns off the projector and retracts the projector screen.

Lovelace Buttons to Call the Scripts

To make this automation much simpler for anyone to use, I wanted trigger the whole sequence with a voice command. If you have Amazon Alexa integrated with Home Assistant, your Scripts will show up as Scenes in the Amazon Alexa app. You can create a simple automation in the Alexa app that triggers these scenes. I made a Routine that triggers the “Projector Setup” script when I say, “Alexa, time to watch a video.”. Then when we’re done watching, we can say “Alexa, turn off the projector” to run the “Projector Shutdown” script.

alias: Projector Setup
sequence:
  - service: remote.send_command
    data:
      entity_id: remote.broadlink_rm4_pro_remote
      device: projectorscreen
      command: down
  - service: remote.send_command
    data:
      entity_id: remote.broadlink_rm4_pro_remote
      device: projector
      command: power
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: remote.send_command
    data:
      entity_id: remote.broadlink_rm4_pro_remote
      device: projector
      command: source
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
  - service: remote.send_command
    data:
      entity_id: remote.broadlink_rm4_pro_remote
      device: projector
      command: right
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
  - service: remote.send_command
    data:
      entity_id: remote.broadlink_rm4_pro_remote
      device: projector
      command: right
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
  - service: remote.send_command
    data:
      entity_id: remote.broadlink_rm4_pro_remote
      device: projector
      command: ok
mode: single
icon: mdi:projectorCode language: CSS (css)
alias: Projector Shutdown
 sequence:
 service: remote.send_command
 data:
   entity_id: remote.broadlink_rm4_pro_remote
   device: projector
   command: power
 service: remote.send_command
 data:
   entity_id: remote.broadlink_rm4_pro_remote
   device: projectorscreen
   command: up
 delay:
   hours: 0
   minutes: 0
   seconds: 1
   milliseconds: 0
 service: remote.send_command
 data:
   entity_id: remote.broadlink_rm4_pro_remote
   device: projectorscreen
   command: up
 mode: single
 icon: mdi:projector Code language: CSS (css)

Wrap-Up

To sum it up, I’m blown away that I can make my dumb projector and motorized screen into smart devices, and its nuts that they are controlled by one device. This device is super easy to set up and use, and I would highly recommend it for automating your projector setup. Thanks for reading, and if you’re a fan of my work, check out some of the other articles I’ve written or head over to my YouTube channel. See ya!