Ring Keypad Gen 2 - how to get key presses

Hi everyone,

I have successfully included a Ring Keypad Gen2. I have found some threads regarding problems with inclusion but that seems to be solved. I can create an item and link 4 channels to it. This seems to be in line with the database OpenSmartHouse Z-Wave Device Database for the keypad. Nobody has ever asked additional questions or just given up?

Searching whatever information I could get hold of, it seems to me that all relevant data is communicated via the COMMAND CLASS EntryControl (0x6F/111). A description for it I found at Z-Way Manual — Command Class Reference

Also on reddit I found a post how the HomeAssistant communicates with the keypad (https://github.com/ImSorryButWho/HomeAssistantNotes/blob/6f05b3f90a979f7118e7c688ce2d01b878227328/RingKeypadV2.md) original post at (Reddit - Dive into anything)

Where I get confused is if the COMMAND CLASS EntryControl is missing from the database or if it is embedded in the GENERIC_TYPE_ENTRY_CONTROL that is listed there.

If it needs adding, how do I define the channels so I get notifications for my rules?
If the database is correct, where else can I get the keypresses from?

1 Like

I actually tried but not with any success: Ring Alarm Components - Zwave - #36 by stefan.hoehn

if I remember correctly I even sniffed the zwave network and didn’t see anything when I pressed a key. I even asked in the ring community and their support but really didn’t get any helpful support and finally gave up even thought it would have been an awesome keypad!

Thanks a lot! … or sad to hear…

upon researching further, everything interesting seems to run via the COMMAND_CLASS_ENTRY_CONTROL

this one is listed in the .xml file

<secureCommandClasses>
          <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
          <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
          <commandClass>COMMAND_CLASS_ENTRY_CONTROL</commandClass>
          <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
          <commandClass>COMMAND_CLASS_ALARM</commandClass>
          <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
          <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
          <commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
          <commandClass>COMMAND_CLASS_BATTERY</commandClass>
          <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
          <commandClass>COMMAND_CLASS_VERSION</commandClass>
          <commandClass>COMMAND_CLASS_INDICATOR</commandClass>
          <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
        </secureCommandClasses>

however in the database, there is no listing of that class and therefore I can not add any channels to it.
I also can not edit the database, it does not allow to add a command class directly, I only can select the generic command and the specific class. The later is set to SPECIFIC_TYPE_SECURE_KEYPAD.
I still try to get information on how to add the COMMAND CLASS ENTRY CONTROL to the database (if at all possible)

I’m not the developer, so this isn’t the final answer, but there is no Entry_Control CC ‘class file’ to process endpoints in the OH Zwave binding. From ~/internal/protocol/commandclass/ZWaveCommandClass.java

COMMAND_CLASS_ENTRY_CONTROL(0x6F, null),

versus a working one
COMMAND_CLASS_ALARM(0x71, ZWaveAlarmCommandClass.class),

Does the Ring binding work with this device?
What are you looking for, the number you press?

Edit: One more thing after looking at the HA link. The OH Zwave binding does not have S2 capability. If that is needed you might want to take a look at this to leverage the zwave-js-ui S2 capability

oh, that I didn’t know :frowning:

actually I am trying the same as Stefan pointed out above, that is using some of the buttons as normal switches and getting (and beeing able to process (hardcoded)) pins

Does that mean I should request the addition of the COMMAND_CLASS_ENTRY_CONTROL ?

Certainly. That way the developer can verify my observation. However, from a quick scan of your link, S2 security is also required and OH only supports S0.

While you are waiting, if you have spare equipment/capacity, you could exclude the keypad from your current stick and use zwave-js-ui in a docker container on a spare stick with S2 security and see if the messages are published with Mqtt explorer. That way you know that works. I am concerned by the observation by @stefan.hoehn that the zniffer did not show messages. Maybe they are only sent with the higher level security, but it would be good to check before requesting all that work.

I don’t have a second stick, but plan to get one. I don’t have the knowledge to run two zwave bindings concurrently, but I will try…