CentraLite Keypads

It does call a few methods on the device that wouldn’t likely be part of another device, or would possibly generate a different behavior.

It’s the second option in the table that defines the types of inputs.

Hopefully we do get some official support for this keypad as CentraLite did not reply to my request for additional/technical information :frowning: I didn’t really expect a response, but it would have been nice…

1 Like

Ok, I see where this is getting us there: “device.deviceTypeName Prompts for all devices of the specified type.”

But how do you explicitly know what “deviceTypeName” is? I’m questioning the thoroughness of the documentation in this specific area (not you, and not in general BTW, it’s pretty good documentation compared to what I have worked with at times).

That is a good question. I assumed that it had a similar syntax to the capabilities (“Lock Codes” becomes “capability.lockCodes”). I found a thread discussing it in the forums: Device preference

This should be included in the docs.

I think this post in that thread is the source of our angst…

It’s your device type, so no one else can select it.

Purely based on speculation, but I like to speculate, and I think I’m good at it… :wink:

Edit: Maybe I’m not good at it because I forgot that iOS users could use the app… in any event, documenting this would sure be nice.

I suggest you guys take the capabilities discussion to the developers category on writing device types. Lots of people there have experience with these issues and may be able to help you further and at this level it’s getting kind of off topic for this thread. :wink:

1 Like

Yet it works for some… inconsistent behavior to say the least. The last post in that thread seems to indicate that you can do this with devices outside of your own namespace.



yea, input of deviceTypeName used to work, about three or four weeks ago, it doesn’t now, on android at least.
Just another platform update bonus “feature”…
I’m feeling like anything to do with custom device(s) types, and specifically child devices is pretty much fubard at the moment.
there’s so many things in my environment that worked just fine 2-3 weeks ago, and don’t work now that I seriously can’t keep track of them, and none of them show any indication of error other than not working or crashing the app…

1 Like

Thanks guys was able to load, will see how it works when i get home.

Kudos to you.

I just finished messing around with the new code. It’s working flawlessly! I’ve created a modified version of @ethayer’s User Lock Manager which adds keypad support and an Arm delay (in seconds). As of right now there is no way to add a disarm delay…

Let me know if this code works for you guys!


That lock manager code is beautiful. I’d like to contribute to that at some point as you have, I wonder if @ethayer is taking enhancements?


  1. Keypad may need to take multiple keypads. Not too hard.
  2. Routine may need to take other routines, or restrictions. I’m not sure how to handle this, but the number of modes I have make it hard to just use a couple of routines to arm/disarm. Have to think on this generically.
  3. Keypad may need some null safe operators put in there for users that don’t use keypads.


Okay, I ordered an iphone yesterday to get these keypads installed, then this code works!

Thanks Brian.

This is awesome

Thanks to everyone… specifically Brian and our OP… this is now working for me.

Having this working device type and smart app we can really have some awesome functionality.

I love where we are going with the Lock Code Manager. I use a lock code manager for my smart locks in fact, so it makes sense here.

Some quick ideas:

  1. Ability to toggle a function that disables any sirens / alerts from triggered alarms via the disarm code or secondary code. This gives non-privileged users or children the ability to execute specific commands without having the app or other access - authenticated by something they know.

  2. Ability to choose a routine to execute when you ‘Arm’ or ‘Disarm’ - giving us options to tie to these buttons in addition to arming away/arming stay/disarm. Example - when I leave I normally execute a routine which does many things including arm the system.

  3. Lock code management - already in the works. :slight_smile:

EDIT: Okay setup the Lock Code Management app on my second keypad and it’s provide much of this functionality already. This is superb.


One question.

Where do you enter the code for the keypad on this smartapp

Two functions I am not getting to operate:

Code Usage Counts

This is an awesome app to pair with the keypads. Thank You!

EDIT: I did install two separate instances of the app for each of my keypads, as I wasn’t able to determine how to get one app to work with both keypads.

My part was very small, I just happen to be Android-centric.

This community is excellent, I really believe ST architecture allows collaboration to push the platform far/fast. It’s fun to see.


I just added Code Usage Count (increments the existing count for door unlocks) and added notifications. I also allowed you to select multiple keypads but I’m not sure if it will work properly or not. I’m not at home to test it out so let me know if you have any issues.

1 Like

Ben -

Awesome. Thank you.

I did remove the old app, republish and attach to a single keypad - I have not tried multiple keypads yet with the new code.

I was not able to get a notification or a usage count when I tried a new code with the keypad - it did function to arm and disarm however.

be glad to grab additional information or logs if it is helpful.

Which lock code is the one that is used by the keypad (first location) Reason i ask is i have multiple codes set for the lock portion. Or do i use a separate instancc for the lock and the keypad?

It will use all of the codes that are currently enabled in the User Lock Manager SmartApp. If you want to have it only for specific codes then I would create a separate instance of the SmartApp only for those codes.

I’m looking into it now, there’s not much in the way of logging right now so I’ll have to push a new version for you to test.

When you talk about notifications what do you specifically mean? Notification messages, push notifications, SMS or all of the above?