After removing my old Kaadas K8 smart door lock after 4 years, I decided to try a different brand and model – in this case an Aqara A100. This post provides an overview of the installation process itself, integration into Home Assistant and the performance of the lock so far.
The selection of a new door lock was sort of tricky and somewhat contrained:
- We really liked using our fingerprints to open the front door because it avoids carrying around a physical key (which kids occasionally lose).
- Each time you install a new lock and mortice you ruin the door a little more due to drilling holes for the lock’s mechanics and screws. The new lock had to at least cover the holes left by the previous door locks.
- Ideally the new door lock has a better integration into Home Assistant. As of now, this aspect is still in flux: The Aqara A100 does use Zigbee but Aqara only supports its own Zigbee gateways, but not deCONZ which I am currently using. The integrations via the HomeKit Controller via Bluetooth is limited but works, assuming your Bluetooth setup in Home Assistant is working well.
So, after some consideration I decided to buy the Aqara A100 Bluetooth/Zigbee smart door lock which cost me about AU$450.
Overall the installation of the new lock worked reasonably well and there is a video that explains the steps. After removing the old Kaadas door lock I had to make some more modification to my old timber door. Existing holes were not quite lining up with new requirements and I had to carefully carve out a few more areas to make space for the new mortice and lock mechanics.
Luckily the new mortice’s screw holes mounting it to the door are in the exact same place as the old mortice’s ones. Similarly I only had to make small modifications to the door frame to fit the new strike plate.
I decided to drill an additional screw hole into the strike plate, just because the four existing ones are being reused from the previous lock’s strike plate and I wanted to fasten one more fresh screw into the timber frame.
My door is 40mm thick which is on the smaller end of the supported thickness, and hence the cables that connect the mortice with the inner and outer lock parts are fairly long and I had to find some space in the door cavity to carefully tuck them away.
There are no screws visible/available on the outside of the lock, and on the inside the two screws are well hidden – one inside the battery compartment and the other behind a rubber plug at under the Night Latch Knob.
The battery compartment not only contains the 8 AA batteries (I will provide an update on battery life in the future), but also buttons for setting up and resetting the lock. And you can find stickers there with the serial number and the HomeKit code.
- Supplied square shafts too long for 40mm door. I had to cut these to length.
- Round connecting posts: Accidentally broke one off a couple of millimetres at the top when using a screw driver but luckily it was still holding the screw tight.
- The screws provided for mortise and strike plate are not suitable for timber, and I had to use the ones from my old smart lock.
- The template supplied for the strike plate does not actually match the strike plate’s screw holes, so I had to use the actual strike plate as a template.
- I had to cut off the two hooks from the mortice because they have no use in my timber door.
Other issues I have encountered
- Aqara does not appear to have published any specifications for the NFC card compatible with this lock. The old ones I got with my Kaadas lock didn’t work. I had to order original Aqara NFC cards from China (AU$25 for a pack of 4; the vendor does not list the A100 as a compatible lock, but the batch I ordered and received in December 2022 is indeed working with this door lock).
- It appears that the emergency keys cannot be copied by your usual key shopping centre cutting shop. I was directed to the next locksmith but have not actually asked for a price yet.
The only reason I bring up this topic is because you only get two keys, and those keys are oddly long (9cm long, compared to the usual 5-6cm for most keys).
The keyhole for the emergency key is hidden behind a little plastic cover. You have to push that cover in a little bit at the bottom to then pull it out at the top. I hope I won’t have to use this often.
After installing the Aqara Home app on my iPhone, adding the new lock via Bluetooth worked exactly as described in the manual.
Any detailed information about the lock and changing setting requires an active Bluetooth connection (or maybe a cloud-connected Aqara Zigbee hub, but I haven’t tested that).
In the example below the door is closed as indicated in the app, but the “Door is not locked’ message may be a bit misleading: In this instance, the door is actually locked from the outside, i.e. strangers can’t just walk in, but the multi-point bolts are not locked (which you can do by lifting the handle up from the inside our outside).
The lock also has an additional Night Latch Knob which can be turned from the inside which closes yet another bolt. In this mode you can only open the door from the inside by just using the handle, but only the administrator can open the door from the outside.
The app has a very detailed activity lock and it updates the log from the lock itself once it is connected via Bluetooth. “Me” in the log refers to the person setting up the lock – other people are referred to by their name.
My Cloud log is empty because that would require an Aqara Zigbee hub.
Fingerprints and NFC cards
Access management is fairly easy (especially compared to my old door lock): I added users for each member of the household, and then added two fingers per person (right hand thumb because that’s the finger that naturally lands on the sensor when grabbing the door handle, and another finger, just in case the first finger gets injured).
Next I added an NFC card for each person who wanted one. I would recommend to label the NFC cards. Normally you attach an NFC card with a user in the Aqara app, but if family members mix them up or you have shared keys for guests, then for example in the case that one NFC card gets lost it is much easier to identify which one that was to remove it from the app.
I haven’t set up any PINs (except for myself) because I don’t see the need for them at the moment if fingerprints and NFC cards work for everyone.
At the time of writing this post, the A100 door lock is currently not supported by thirdparty Zigbee controllers such as deCONZ, and requires an Aqara Zigbee 3.0 hub. That in turn is not supported in Home Assistant either (well, it is with modified firmware and a custom component), so for now I decided to not pursue this avenue any further.
There is a post on the community forum asking people to send a petition to Aqara to share the lock’s encryption key so that thirdparty Zigbee integrations could be built.
Adding the lock to Homekit was fairly easy, assuming you find the QR code sticker which is located on the inside of the battery cover. This integration provides simple notifications on iPhones, Macbooks and Apple TV when the door lock is opened and closed.
Another potential advantage of integrating your door lock with Homekit is the ability to generate an Apple Home Key. This is added to your wallet and to open the door you have to then hold your iPhone against the number pad of the lock, just like you would with an NFC card. I do not own an Apple Watch, but I assume having the Home Key on your watch would be more convenient than using an iPhone.
Home Assistant via HomeKit Controller
After a bit more research I found suggestions to add the Aqara A100 lock via the HomeKit Controller integration which works via Bluetooth.
Prerequisite: Remove from HomeKit
I removed the lock from HomeKit via the Apple Home app. This is required to then bind it to the Home Assistant HomeKit Controller integration.
Prerequisite: Bluetooth Adapter
I have been using the Home Assistant Bluetooth integration for some time with ESPHome Bluetooth proxies spread around the house and garden and this worked fine with some temperature sensors and soil moisture sensors, however not with this door lock. Even after upgrading my host machine to Ubuntu 22.04 LTS (which was a prerequisite to fulfill the documented requirements) and configuring the required services and access, Home Assistant did not recognise the built-in Intel Bluetooth adapter. I then bought a Kinivo BTD-400 USB Bluetooth adapter (~15 AUD) and conncted that to a USB extender which is located in the middle of the house – about 8 metres away from the door lock. After restarting the BlueZ service, the DBUS broker service and the Home Assistant container itself, to my surprise suddenly both Bluetooth adapters showed up.
After configuring both Bluetooth adapters I could finally move on to pairing the lock with Home Assistant.
Configuring the door lock
In the Aqara app, select the door lock, on the lock’s detail page press the three dots at the top right, press More Settings, then press HomeKit Binding and then Bind Now, but obviously don’t scan the QR code, otherwise the lock would just end up in your HomeKit ecosystem and not in Home Assistant.
As soon as I had the lock in binding mode it was detected in Home Assistant.
Configuring the lock then requires to input the HomeKit pairing code (printed in the sticker inside the battery cover). After entering the code it took about 10 seconds before Home Assistant reported that it successfully added the device.
The device shows up with a generated name (including a portion of the Bluetooth address) and 3 entities (lock, battery sensor, identify button) and you can manually enable a signal strength sensor.
I also decided to rename the device itself to “Front Door Lock” and the entities accordingly.
- The lock entity does exactly what you expect: It shows the current status of the lock (locked or unlocked) and you can unlock the door.
- The battery sensor shows 100% for me – I cannot say yet how accurate this is, but I would have expected that after about 2 months of daily use that the batteries would not be at 100% anymore. This value is however consistent with the Aqara app.
- When pressing the Identify button the door lock makes 2 ding-dong sounds. Maybe this is helpful if you have more than one smart door lock, but other than that I don’t see any use for this button.
- The Bluetooth signal strength might help if you experience any connectivity problems.
Lock state changes
One of the reasons to integrate a smart door lock into Home Assistant is of course to automate things around events or state changes, so I wanted to see what my logbook shows when the door lock is in use. In the above screenshot I grouped the entries of a single unlock-lock-transaction, and as you can see there are up to 4 events logged – unlocking -> unlocked -> locking -> locked -, but sometimes some events are omitted.
Originally I thought that there could be certain mechnical state changes that would trigger a specific event, like for example pushing down the handle from the inside would trigger an “unlocking” event, but that does not appear to be the case.
Unfortunately there are no events or state changes logged for:
- Failed attempts to open the door.
- Details of who opened the door (from the outside) and using what method.
- Lifting the handle to fully lock
- Turning the Night Latch Knob
Performance so far
The Aqara A100 door lock is doing very well so far. The lock mechanics feel very solid and it looks great. More specifically, it does look like a normal door lock you would find on a normal house made for normal people, not like it is straight out of a science fiction movie (like my old smart lock).
The fingerprint sensor is quite reliable – only when the finger is wet the detection rate is going down significantly. The other potential issue to keep in mind: The fingerprint sensor is made for adult-sized fingers and in our case is working well for teenagers, too. However, in the case of my 5-year-old the intial setup of his fingerprint took a bit longer, and opening the door with his fingerprint is not working reliably, possibly compounded by the fact that he can only just reach the handle and doesn’t always hit the centre of the sensor with his thumb – in summary, it works for smaller kids but not all the time, and I assume we need to repeat the setup every couple of years.
There is nothing special about the NFC card – you just hold it against the number pad and it’s recognised within a second or so.
One disadvantage of removing the Aqara A100 from Homekit and integrating it via Homekit Controller into Home Assistant is that you will lose the Apple Home Key. In my case the Home Key was automatically removed from my wallet when I removed the lock from Homekit. For me personally this is not a huge loss because fingerprint recognition and NFC cards work quite well, and of course I can also use either the Aqara app to unlock the door lock via Bluetooth or now use Home Assistant to do that.
I haven’t had to use the emergency key yet. The cylinder is hidden behind a plastic cap and I would say that this is probably not made for everyday use. But then again I never had to use the emergency key with my previous smart door lock in 4 years.
At the risk of stating the obvious here, but the HomeKit Controller integration with Home Assistant of course only works well if the Bluetooth adapter is behaving well. While trying to adopt a completely different device I ran into an issue with my Bluetooth adapter locking up which resulted in the door lock not updating anymore in Home Assistant. The log was full of error messages, but there was no indication in the Home Assistant UI that the the Bluetooth adapter had locked up, so this might be an area for future improvement, trying to detect issues with the Bluetooth adapter early.
For now the Home Assistant integration for the Aqara A100 via Bluetooth works reasonably well, but I hope that a solution can be found to integrate this lock via Zigbee and expose more information, for example who unlocked the door or events in the case of failed attempts.
At the time of writing this post, I used:
- Home Assistant 2023.3.1 in Docker container on Ubuntu 22.04.2 LTS
- bluez 5.64-0ubuntu1
- dbus-broker 29-4build1
- Aqara A100 smart door lock with firmware 3.0.0_0040
- Aqara Home app version 3.1.5 on an iPhone 14 running iOS 16.3.2
- Kinivo BTD-400 USB Bluetooth adapter