Ring Keypad

Posted on
Wed Feb 13, 2019 10:32 pm
Dual offline
Posts: 169
Joined: Feb 05, 2019

Ring Keypad

I have been adding to a lengthy post in the New to Indigo/Home Automation forum. I now see that:
Note - once you've started using Indigo, use the correct forum below to post implementation questions."

So here I am. Hopefully in the right forum/sub-forum ... there are many!

I plan to create an Indigo Z-Wave based home alarm system as part of my migration from Lowe's Iris system. I need an alarm keypad. I had trouble finding any for North America! I ended up purchasing a Ring Keypad and trying to make it work. My progress so far:

  • Synced keypad using encryption successfully (and submitted the device report).
  • Used debug logging to record and review the data received from the keypad when I pressed each of the buttons.
  • Looked for helpful info on the FCC website. It was some help. I got the list of configuration parameters.
  • Changed parameter 5 (button press timeout) to 0 which allowed me to press buttons sequentially rapidly and receive data for each press.
  • Discovered what I hope are the correct bytes for each button (10 digits, cancel, accept, away, home, disarm) to utilize Match Raw Packet to trigger an action from one of the 15 buttons being pressed.
  • Created 15 triggers to test each button.
  • SUCCESS at receiving button presses including in rapid sequence.
I don't know if it will work long term or break. Time will tell. It is asking for replies that I am not sending it. One hexadecimal pair is incrementing with each press. I am not sure what will happen once it gets to FF.

I do not have any way yet to send commands to the keypad to activate the speaker (chime). Or the Bypass light. Or the LED Ring. Or to read what appears to be a motion detector sensor. Nor do I even know what the little thingamajig is beside what appears to be the motion sensor.

But who cares, right? My need is for the button presses to work. And it seems they do. :)

Next step is a script to receive multiple button presses and see if they match a PIN for disarming the alarm. After that I should be in a happy place.

Posted on
Sun Feb 17, 2019 1:53 pm
Dual offline
Posts: 169
Joined: Feb 05, 2019

Re: Ring Keypad

Here are the bytes to match for the various key presses.

Code: Select all
0: * 0x6F 0x01 ? 0x02 0x01 0x01 0x30 0xFF
1: * 0x6F 0x01 ? 0x02 0x01 0x01 0x31 0xFF
2: * 0x6F 0x01 ? 0x02 0x01 0x01 0x32 0xFF
3: * 0x6F 0x01 ? 0x02 0x01 0x01 0x33 0xFF
4: * 0x6F 0x01 ? 0x02 0x01 0x01 0x34 0xFF
5: * 0x6F 0x01 ? 0x02 0x01 0x01 0x35 0xFF
6: * 0x6F 0x01 ? 0x02 0x01 0x01 0x36 0xFF
7: * 0x6F 0x01 ? 0x02 0x01 0x01 0x37 0xFF
8: * 0x6F 0x01 ? 0x02 0x01 0x01 0x38 0xFF
9: * 0x6F 0x01 ? 0x02 0x01 0x01 0x39 0xFF
X: * 0x6F 0x01 ? 0x02 0x19 0x00 0xFF
V: * 0x6F 0x01 ? 0x02 0x02 0x00 0xFF
A: * 0x6F 0x01 ? 0x02 0x05 0x00 0xFF
H: * 0x6F 0x01 ? 0x02 0x06 0x00 0xFF
D: * 0x6F 0x01 ? 0x02 0x03 0x00 0xFF

Posted on
Sun Feb 17, 2019 1:59 pm
Dual offline
Posts: 169
Joined: Feb 05, 2019

Re: Ring Keypad

Here is my code to build a PIN from each numeric key press.

Code: Select all
calcValue = indigo.variables[848695101].getValue(int)
calcValue = calcValue * 10
calcValue = calcValue + 4 # button 4 pressed
indigo.variable.updateValue(848695101, value=str(calcValue))
if calcValue > 999999:
   indigo.variable.updateValue(848695101, value="0")

The PIN is stored in an Indigo variable with ID of 848695101.

If the PIN exceeds 6 digits it is reset to 0.

The above code is triggered by the press of the '4' key. I have created 10 different triggers, once for each digit key. Line 3 is changed as appropriate for each trigger.

Posted on
Sat Nov 21, 2020 4:07 pm
whmoorejr offline
User avatar
Posts: 386
Joined: Jan 15, 2013
Location: Houston, TX

Re: Ring Keypad

Just wondering where you landed in your project.

I was thinking about doing something similar, but leveraging the keypad plugin to avoid some of the python code for each button press.....
https://forums.indigodomo.com/viewtopic.php?f=196&t=16325

The only downside to that plugin, is the one code limit. Have you written a script that checks the completed pin against a correct pin?

Bill

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest