neon.ninja

Sharing enlightening moments of home automation

Smart Lock – First impressions of the Aqara A100

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.

Installation

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.

Aqara A100 Outside

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.

Aqara A100 Strike plate

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.

Aqara A100 Battery compartment

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.

Installation issues

  • 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).
Aqara A100 Keyhole

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.

Aqara A100 Open with emergency key

General Setup

After installing the Aqara Home app on my iPhone, adding the new lock via Bluetooth worked exactly as described in the manual.

Aqara app – Overview

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.

Aqara app – Lock details

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.

Aqara app – Lock log

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).

Aqara A100 Open with fingerprint

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.

Aqara A100 Open with NFC card

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.

Aqara app – Lock user details

Zigbee

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.

Homekit

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.

Aqara app – Bind to HomeKit

As soon as I had the lock in binding mode it was detected in Home Assistant.

Device configuration – Lock discovered

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.

Device configuration – Lock pairing
Device configuration – Lock added

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.

Device configuration – Tile before renaming
Device configuration – Details before renaming

I also decided to rename the device itself to “Front Door Lock” and the entities accordingly.

Device configuration – Tile after renaming
Device configuration – Details after renaming

Device entities

  • 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

Door lock logbook

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.

Outlook

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.

Compatibility
At the time of writing this post, I used:
* Home Assistant 2023.3.1 in Docker container on Ubuntu 22.04.2 LTS
* 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

Smart door lock series

  1. Smart Lock – Kaadas K8 Post Mortem
  2. Smart Lock – First impressions of the Aqara A100

Comments

5 responses to “Smart Lock – First impressions of the Aqara A100”

  1. Tilak Sidduram Avatar
    Tilak Sidduram

    Hi Malte, Nice writeup on your experience with the Aqara A100 Zigbee Door lock. I have the same lock but mine is the chinese version called Aqara A100 pro. Both of these are the same lock and uses BT and zigbee, the only difference between them is that the pro model does not support remote unlocking of the lock. Rest all feature are the same.

    I got my Aqara A100 Pro connected to HA via the Aqara E1 Hub which opened up some additional event that i can use to trigger various automations. What is not possible is you cannot lock and unlock the door lock, but you can see Battery level, keyID(Who and how the door lock was unlocked), Lock/Unlock state and lock events. The way I got it connected was I first enabled ssh on the E1 hub which allowed me to add the E1 hub into HA. Next I paired the E1 Hub with the Aqara Home app where my A100 pro lock was already paired. Next step is to bind the Hub with the lock, so to do that open the lock page there will be an option to bind the lock to a hub click that and follow the steps to bind the lock with the hub. Once you have the locked binded with the Hub your lock will now show up in Home Assistant under the Aqara Hub page in the integration section with the other mentioned entities and sensors created. If you want to know who unlocked the door then check the KeyID sensor, it will show a number, this number is different for each of the finger prints registered in the app. You can test each fingerprint and make a note of the number the sensor shows. Now using this number you can create different automations for different members in your house. This opens up lots of opportunity for automation.

    1. malte Avatar
      malte

      Thank you very much for sharing your experience. I might look into using an Aqara hub at a future point in time.

    2. Max Avatar
      Max

      Hi Tilak,

      Can you catch the away mode event in HA?

      Thanks for your feedback, very useful.

      1. Tilak Sidduram Avatar
        Tilak Sidduram

        Hi Max,

        Yes you can catch the away mode event in HA. The Lock Event sensor will show the away event when the away button is pressed on the lock. The event will show as “Away-from-home mode is enabled” when the away button is pressed after closing the door and “Away-from-home mode is removed” event will be shown when you unlock the door. You can then create automations with these events. I have setup an automation to turn off all lights and switches and set the home to Arm’ed status when the away button is pressed on the lock.

        The lock event sensor provided a lots of other event as well. Examples like “Door is closed”, “The Door is not locked”, “Door is open”, “The door is left unlocked”, “Unlocked with Fringprint by user”, “Battery level is full” & “Unlock from Inside”

  2. Ali Avatar
    Ali

    Hi Tilak, I was planning to buy the same lock, did you use the XiaomiGateway3 integration to enable the telnet/ssh? or could you share the steps to bring the hub into HA? Because I was planning to buy the lock and use the E1 Hub (CN), it seems that the only supported Hub in XiaomiGateway3 is the CN version and I didn’t know if it would affect the ability to do the remote lock/unlock if I pair the A100 zigbee with E1 Hub (CN)?

Leave a Reply

Your email address will not be published. Required fields are marked *