[RELEASE] Enhanced ZigBee Keypad Device Handler - Centralite, UEI, IRIS, Xfinity, Scout

Part of the issue is what’s the status to display when locked, some keypad have “partial” or “on”, other have “away”, “stay” and “night” modes. The DTH cannot decide what mode the keypad lights needs to be in since it isn’t a one to one mapping.
The led state is set by the app and not the DTH, the app controls what led to show, in this case when the user directly arms/disarms SHM the app updates the LED to reflect a successful processing of the user command.

BTW, by ST design DTH’s cannot read SHM state so it’s difficult to synchronize the keypad LED’s with SHM, it always needs to be done by the app. In this case the app is reflecting the last successful command sent by the user on the keypad.

Always open to suggestions and feedback

This has now been resolved. I had per user actions defined and was attempting to configure using the general lock/unlock actions.


I’ve tried resetting the iris keypad many times and following the setup instructions above where the pairing button is pressed while 1 (or 2) batteries are put in. I have the device handler installed but can’t get it to ever show up when I try to “Add a thing” from my SmartThings app.

Any other tips or steps I might have forgotten?

  1. Try to exclude the device
  2. Power cycle the hub (not just reboot)

they can be tricky to pair sometimes

@RBoy hello, question for you. How can I use this with your lock code manger using 4 digit codes for the keypad and 6 digit codes for the door locks Right now I Have the locks configued, but as soon as I add in the keypad it says my configuration will fail using a 4 digit code. I want to use 6 digits on the locks and 4 digits on the keypad, how do I make that work?

Most folks by default assign all users to all locks.
The app is basically informing you that trying to program a 6 digit code on a lock which is configured to accept 4 digits (or vice versa) will fail.

The right way to handle this is one of three ways:

  1. Install separate apps for each lock to program the user codes, since one lock only accepts 4 digits and the other 6
  2. Set all your locks to accept the same code length (most keypads are fixed at 4, but I’m assuming you’re using a Schalge connect which can be configured to accept 4, 6 or 8 digits)
  3. If you want to use a single app control multiple locks but have different code lengths for each lock, you can create a user, under the user select which lock you want (e.g. keypad) and then assigned it a 4 digit code. Then create another user and select the other lock (e.g. Schlage) and assign it a 6 digit code. Basically you’re create a separate set of users for your keypad and lock. Rather inefficient way do it, it’s better to go with option 1 unless there’s a specific reason to do is this way.
1 Like

This is exactly what I did, but on my 6 digit users it is still saying the codes will fail, even though I only selected the 2 locks with 6 digits. Any ideas?

In that case just ignore it. This is a very unique case where you’re trying to use locks with different hard coded pin lengths.
It’s a better safe than sorry warning. It just checks the current configured length of all the main locks (doesn’t check at an individual user level).

EDIT: Removed the extra warning messages in the next update.You will now see just one warning on the main page for safety and then it checks individual lock users and highlight them separately


ok, that is what I wanted to verify, thanks for your help, have a happy 4th!!!

1 Like

@RBoy got my Iris keypad today, and I think I have it added correctly. I used another slot in the Smart Lock SA to define the “open/close” garage action when the code is entered, but when I enter the code on the keypad I get an error that says “Too many invalid user codes detected on lock Garage Door Opener” and nothing happens.

Do I hit “on” and then the code on the keypad? Just the number? Sorry for the stupid questions!

Edit - I think I figured it out that the “on” means unlock and the “off” means lock.

But I have another question - is there a way to separate the actions for the same code depending on where the code is entered? For example, if my kid enters their code on the front door, it will unlock the front door but not open the garage door. But if they enter their code on the keypad it will open the garage door and not unlock the front door? Or is that inferred through the SmartApp?

Ok I think the best approach is to setup two different instances of the smartapp…one for the locks and one for the keypad. I can duplicate the codes across the apps, but trigger different actions.

Or have two different entries in the same smartapp with different locks? Maybe that is better?

@RBoy can you tell me what field is missing? I can’t change any value in the DH because it is asking for a field that is required.

@RBoy I also am still getting the “too many invalid user codes detected” error. This is a secondary code that I created to arm/disarm versus just opening or closing the garage door. Opening the door only works fine, but the code to arm the system is where I see the error

That message is coming from the keypad, you aren’t entering the code properly (i.e keypad doesn’t recognize a valid entry).FYI keypads only accept 4 digit codes

Thanks - I did verify that I was entering the code correctly and it is only 4 digits but I will try removing the code and adding another one to see if that helps.

@RBoy Is it possible for this DH to show correctly in the SmartLocks SmartApp from SmartThings? My Yale locks do with the tweak to the device name in the code, but can we do the same for this as well?

Same way, rename the DTH:

I couldn’t get this to work with arnb’s SHM Delay 2.0 app. Is there something I should do to make it work?


Enhanced ZigBee Keypad Lock - Version 01.01.02

  • Fix for deleteCode() not working as expected when code doesn’t exist

@RBoy I just installed today an Iris Keypad and a Schlage door lock with your handlers and smartapp. Almost everything seems to be working perfectly except for the fact that I cannot disarm the SMH with the Iris keypad nor the Schlage door lock if the status is Armed (Away). It can be disarmed perfectly if the SMH status is Armed (Stay). Please take a look at these two short videos to see what I mean. Thank you.