Decoding Yale Z-Wave Lock with Homey

Decoding Yale Z-Wave Lock with Homey

Since we last post on Yale lock and Homey, we have received several feedbacks on the Yale app on Homey app store from our customers. There have been report that a YDD424 pairing as a YFM40 in Homey or YDM4109 pairing as a YDD424. While remote locking and unlock works fine for all the locks, there are instances such as there is no status feedback for certain manual actions on the lock (such as autolock or fingerprint unlock).

This technical article aims to provide everyone a better understanding of the Yale Z-Wave information. Why Homey (unlike other hubs such as Vera, FIBARO and Zipato) is able to tell if the lock is unlocked from the back or locked from the touchpad. We also aim to share some of the limitations of certain models of Yale lock in terms of sending status feedback to the Z-Wave hub.

As such, we embarked on the quest of understanding the Yale Z-Wave better, we loan a set of YDD424, YDM4109 and YFM40 to do some detective work and here's some of our basic information and findings.

1. Same Z-Wave module used for different locks for different batch

Regardless of the lock you have, whether it is YDM4109, YFM40 or YDD424, it uses the same Z-Wave module. When the Yale Z-Wave module is set into a lock and paired with Homey, it register 3 pieces of information to Homey : Manufacturer ID, Product Type ID and Product ID. In fact all Z-Wave devices register these information when being included to a hub.

For the test locks we have on hand, YDD424 pairs with a Manufacturer ID 197, Product Type ID 7, Product ID 0 while a YFM40 pairs with a Manufacturer ID 197, Product Type ID 199, Product ID 0 even though we used the same module in both locks. It seems to suggest that the Product Type ID determine which lock model but we've also seen a YDD424 produces Manufacturer ID 197, Product Type ID 255, Product ID 65535.

As a result, when you have a batch of Z-Wave module may producing an entire new range of Product Type ID or Product ID, Homey will identify it as a generic z-wave device until we update the new information into the Yale app. There might be cases that 2 different lock model, producing the same Product Type ID and Product ID. In this case, for example, even if you have a YDD424, it might appear as YFM40 in the Yale app.

Please let us know if you have a Yale lock that is included as generic Z-Wave device. We are in the process of adding more supported locks in the Yale app. 

2. Yale sends a fixed set of Z-Wave command class during status update

Everytime you operate a Yale lock that is Z-Wave enabled, it sends out a status update via a Z-Wave command class called COMMAND_CLASS_ALARM. For example, if you unlock with the thumbturn behind the lock or when you lock by touching the number pad in front, the Yale lock will send this command class with some details to the Z-Wave hub. Note that Z-Wave transmission for locks are encrypted. We can only inspect the packets between Homey and the lock after we have included the lock as a generic Z-Wave device.

It is up to the Z-Wave hub to decipher the COMMAND_CLASS_ALARM to see if the lock is simply being unlocked or if it is being unlocked by a specific action. Hub like FIBARO, Vera and Zipato simply only decipher the lock and unlock status and discards the details. For Homey, we are able to take it to another level by deciphering details of the COMMAND_CLASS_ALARM that a specific action has taken place (provided that the lock sends out the status update).

We have analysed the COMMAND_CLASS_ALARM sent out by some of the mode common Yale models and realised that they updates the Z-Wave hub with a fix set of details. To go a little bit more in-depth, here's how they look like:

Alarm Type Alarm Type Level  Action
19 N User pin unlocked by user N
21 1 Locked by thumbturn
21 2 Locked by touchpad
21 3 Locked by button
22 1 Unlocked by thumbturn
22 2 Unlocked by button
24 None Locked by Z-Wave
25 None Unlocked by Z-Wave
27 None Auto-locked
161 None Lock tampered
130 None Battery inserted

 

The Z-Wave hub like Vera and FIBARO will just update the lock status based on the Alarm Type and ignore Alarm Type Level entirely. With Homey we can determine the action by Alarm Type and allow automation by Homey flows.

With above being said, we also noticed that some models of lock does not send any COMMAND_CLASS_ALARM even for specific action. For example, the YFM40 and YDM4109 does not send a status update when you lock manually using thumbturn regardless of hub (we tried Vera and FIBARO and we cannot tell that it is locked when operating by thumbturn). We can only depends on the hub to poll the lock for the latest status.

Another disappointing point we noticed is that, the fingerprint locks do not send any Z-Wave status updates when you unlock with fingerprint! One would assume that since the fingerprint are tied to a specific user pin, we can know which user unlock with fingerprint. Unfortunately, for fingerprint locks only send Z-Wave status updates when operated by touchpad.

Conclusion

So far, we notice that the COMMAND_CLASS_ALARM from common Yale models available in Singapore are rather standard, however, we might not have covered every possible details in the COMMAND_CLASS_ALARM for different locks. We also hope that there is no 2 model of locks producing the same Product Type ID and Product ID. Feel free to let us know if you notice your Yale lock appearing as different model in the UI.

Regardless, with this app, Homey remains to be the most compatible Z-Wave hub for Yale locks.

Automate Asia Team

4 Comments

androidfroyo - Jul 10, 2018

Hmm

I have a Yale YDD424

It is paired with your app with the following

Manufacturer ID 297, Product Type ID 199, Product ID 0

The device class (specific) is showing as SPECIFIC_TYPE_SECURE_KEYPAD_DOOR_LOCK

Not sure if this is how it should be. I’ve long renamed the default device name in homey so I don’t know if it was showing up as YDD424 or not

My experience prior to the upgrade today is that it can be unstable. Occasionally when i open with keypad it would work, sometimes it would not.

Any ideas?

Mike Lim - Jul 10, 2018

Manufacturer ID 297, Product Type ID 199, Product ID 0 is exactly the 424 test set we have in our office.

We are also having SPECIFIC_TYPE_SECURE_KEYPAD_DOOR_LOCK as the device class.

Every Z-Wave devices works on multiple COMMAND_CLASSES. The ALARM_CLASS is used when the lock updates the hub. This class will not be listed in the info.

We did quite a bit of regrouping of the product IDs into YDD424, 4109 and YFM40 in this update. Please drop us a message if it does not work. You may also check the signal strength of the lock in https://developer.athom.com/tools.

Angelo - Jul 10, 2018

Yale Z-Wave Assure Keyless Deadbolt
Model:YRD446NR-ZW-KIT
When will this be added
Please can this be done urgently. It is widely used in Australia
Thanks

Mike Lim - Jul 10, 2018

Please pair the YRD446NR-ZW-KIT to Homey as a generic device and provide us Product Type ID and Product ID.

We will add basic functionality in the next release.

Leave a comment

Comments have to be approved before showing up