Using the Ring Alarm Keypad with Home Assistant

Thank you!
Z-Wave JS Logs are not very helpful for me:

Subscribed to Z-Wave JS Log Messages…
2023-08-23T08:56:57.554Z CNTRLR   Leaving Smart Start listening mode...
2023-08-23T08:56:57.560Z DRIVER   all queues busy
2023-08-23T08:56:57.567Z DRIVER » [REQ] [AddNodeToNetwork]
                                    action:       Stop
                                    high power:   true
                                    network wide: true
                                    callback id:  0
2023-08-23T08:56:57.575Z CNTRLR   Left Smart Start listening mode
2023-08-23T08:56:57.576Z CNTRLR   Starting inclusion process with strategy Default...
2023-08-23T08:56:57.584Z DRIVER » [REQ] [AddNodeToNetwork]
                                    node type:    Any
                                    high power:   true
                                    network wide: true
                                    callback id:  13
2023-08-23T08:56:57.591Z DRIVER « [REQ] [AddNodeToNetwork]
                                    status:      Ready
                                    callback id: 13
2023-08-23T08:56:57.595Z CNTRLR   The controller is now ready to add nodes
2023-08-23T08:56:57.597Z DRIVER   all queues idle
2023-08-23T08:57:03.709Z DRIVER   all queues busy
2023-08-23T08:57:03.713Z DRIVER » [REQ] [GetBackgroundRSSI]
2023-08-23T08:57:03.720Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -85 dBm
                                    channel 1: -88 dBm
                                    channel 2: -88 dBm
2023-08-23T08:57:03.728Z DRIVER   all queues idle
2023-08-23T08:57:33.712Z DRIVER   all queues busy
2023-08-23T08:57:33.722Z DRIVER » [REQ] [GetBackgroundRSSI]
2023-08-23T08:57:33.730Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -86 dBm
                                    channel 1: -88 dBm
                                    channel 2: -88 dBm
2023-08-23T08:57:33.735Z DRIVER   all queues idle
2023-08-23T08:58:03.711Z DRIVER   all queues busy
2023-08-23T08:58:03.720Z DRIVER » [REQ] [GetBackgroundRSSI]
2023-08-23T08:58:03.727Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -86 dBm
                                    channel 1: -88 dBm
                                    channel 2: -88 dBm
2023-08-23T08:58:03.736Z DRIVER   all queues idle
2023-08-23T08:58:27.541Z CNTRLR   stopping inclusion process...
2023-08-23T08:58:27.549Z DRIVER   all queues busy
2023-08-23T08:58:27.557Z DRIVER » [REQ] [AddNodeToNetwork]
                                    action:       Stop
                                    high power:   true
                                    network wide: true
                                    callback id:  14
2023-08-23T08:58:27.566Z DRIVER « [REQ] [AddNodeToNetwork]
                                    status:      Done
                                    callback id: 14
2023-08-23T08:58:27.570Z CNTRLR   The inclusion process was stopped
2023-08-23T08:58:27.572Z CNTRLR   Enabling Smart Start listening mode...
2023-08-23T08:58:27.579Z DRIVER » [REQ] [AddNodeToNetwork]
                                    action: Enable Smart Start listening mode
2023-08-23T08:58:27.584Z CNTRLR   Smart Start listening mode enabled
2023-08-23T08:58:27.586Z DRIVER   all queues idle
2023-08-23T08:58:33.713Z DRIVER   all queues busy
2023-08-23T08:58:33.723Z DRIVER » [REQ] [GetBackgroundRSSI]
2023-08-23T08:58:33.734Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -85 dBm
                                    channel 1: -88 dBm
                                    channel 2: -88 dBm
2023-08-23T08:58:33.738Z DRIVER   all queues idle
2023-08-23T08:59:03.713Z DRIVER   all queues busy
2023-08-23T08:59:03.724Z DRIVER » [REQ] [GetBackgroundRSSI]
2023-08-23T08:59:03.733Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -86 dBm
                                    channel 1: -88 dBm
                                    channel 2: -88 dBm
2023-08-23T08:59:03.738Z DRIVER   all queues idle
2023-08-23T08:59:33.712Z DRIVER   all queues busy
2023-08-23T08:59:33.720Z DRIVER » [REQ] [GetBackgroundRSSI]
2023-08-23T08:59:33.727Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -85 dBm
                                    channel 1: -88 dBm
                                    channel 2: -88 dBm
2023-08-23T08:59:33.731Z DRIVER   all queues idle
2023-08-23T09:00:03.712Z DRIVER   all queues busy
2023-08-23T09:00:03.719Z DRIVER » [REQ] [GetBackgroundRSSI]
2023-08-23T09:00:03.727Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -85 dBm
                                    channel 1: -88 dBm
                                    channel 2: -88 dBm
2023-08-23T09:00:03.733Z DRIVER   all queues idle
2023-08-23T09:00:19.532Z CNTRLR   Leaving Smart Start listening mode...
2023-08-23T09:00:19.540Z DRIVER   all queues busy
2023-08-23T09:00:19.544Z DRIVER » [REQ] [AddNodeToNetwork]
                                    action:       Stop
                                    high power:   true
                                    network wide: true
                                    callback id:  0
2023-08-23T09:00:19.552Z CNTRLR   Left Smart Start listening mode
2023-08-23T09:00:19.553Z CNTRLR   Starting inclusion process with strategy Default...
2023-08-23T09:00:19.559Z DRIVER » [REQ] [AddNodeToNetwork]
                                    node type:    Any
                                    high power:   true
                                    network wide: true
                                    callback id:  15
2023-08-23T09:00:19.566Z DRIVER « [REQ] [AddNodeToNetwork]
                                    status:      Ready
                                    callback id: 15
2023-08-23T09:00:19.569Z CNTRLR   The controller is now ready to add nodes
2023-08-23T09:00:19.571Z DRIVER   all queues idle

Did I buy the wrong keypad? Model: 5B28S8
I tried it 100 of times, but ha doesn´t see the keypad.

Is something wrong with my Z-Wave JS Config?

It looks like you’re trying to use classic inclusion mode, which is a good idea if smart start isn’t working. When you put the stick into inclusion mode, are you holding down the 1 button on the keypad to start classic inclusion?

It’s also a good idea to explicitly exclude a device, not factory reset it.

Try the following, and collect logs while you do it:

  • Put the stick into exclusion mode. On the Zwave page, “remove a device”
  • Tap (don’t hold) the rest button with a pin.
  • Wait for things to settle.
  • Put the stick into inclusion mode (“add a device”)
  • Hold down 1 on the keypad until it starts blinking green

Thank you for your help.
I send you a video where you can see my steps. In the log I can´t find any helpful information.

                                    · SetPriorityRoute (0x93)
                                    · UNKNOWN_FUNC_UNKNOWN_0x98 (0x98)
                                    · FUNC_ID_SERIAL_API_SLAVE_NODE_INFO (0xa0)
                                    · FUNC_ID_ZW_SEND_SLAVE_NODE_INFO (0xa2)
                                    · FUNC_ID_ZW_SET_SLAVE_LEARN_MODE (0xa4)
                                    · FUNC_ID_ZW_GET_VIRTUAL_NODES (0xa5)
                                    · FUNC_ID_ZW_IS_VIRTUAL_NODE (0xa6)
                                    · BridgeApplicationCommand (0xa8)
                                    · SendDataBridge (0xa9)
                                    · SendDataMulticastBridge (0xab)
                                    · UNKNOWN_FUNC_GET_LIBRARY_TYPE (0xbd)
                                    · UNKNOWN_FUNC_SEND_TEST_FRAME (0xbe)
                                    · UNKNOWN_FUNC_GET_PROTOCOL_STATUS (0xbf)
                                    · UNKNOWN_FUNC_UNKNOWN_0xD2 (0xd2)
                                    · UNKNOWN_FUNC_UNKNOWN_0xD3 (0xd3)
                                    · UNKNOWN_FUNC_UNKNOWN_0xD4 (0xd4)
                                    · undefined (0xd6)
                                    · undefined (0xd7)
                                    · undefined (0xd8)
                                    · Shutdown (0xd9)
                                    · undefined (0xda)
                                    · undefined (0xdb)
                                    · undefined (0xdc)
                                    · undefined (0xdd)
                                    · undefined (0xde)
                                    · undefined (0xdf)
                                    · undefined (0xe7)
                                    · undefined (0xe8)
2023-08-24T11:25:17.024Z CNTRLR   querying serial API setup capabilities...
2023-08-24T11:25:17.054Z CNTRLR   supported serial API setup commands:
                                  · Unsupported
                                  · GetSupportedCommands
                                  · SetTxStatusReport
                                  · SetLRMaximumTxPower
                                  · SetPowerlevel
                                  · unknown (0x07)
                                  · unknown (0x0f)
                                  · GetMaximumPayloadSize
                                  · GetLRMaximumPayloadSize
                                  · SetPowerlevel16Bit
                                  · unknown (0x1f)
                                  · unknown (0x3f)
                                  · unknown (0x7f)
2023-08-24T11:25:17.057Z CNTRLR   querying controller IDs...
2023-08-24T11:25:17.077Z CNTRLR   received controller IDs:
                                    home ID:     0xfcf38137
                                    own node ID: 1
2023-08-24T11:25:17.107Z CNTRLR   Performing soft reset...
2023-08-24T11:25:17.122Z CNTRLR   Waiting for the controller to reconnect...
2023-08-24T11:25:17.344Z CNTRLR   reconnected and restarted
2023-08-24T11:25:17.365Z CNTRLR   supported Z-Wave features: 
                                    · SmartStart
2023-08-24T11:25:17.365Z CNTRLR   querying controller capabilities...
2023-08-24T11:25:17.383Z CNTRLR   received controller capabilities:
                                    controller role:      primary
                                    is the SUC:           true
                                    started this network: true
                                    SIS is present:       true
                                    was real primary:     true
2023-08-24T11:25:17.383Z CNTRLR   Enabling TX status report...
2023-08-24T11:25:17.432Z CNTRLR   Enabling TX status report successful...
2023-08-24T11:25:17.433Z CNTRLR   finding SUC...
2023-08-24T11:25:17.449Z CNTRLR   This is the SUC
2023-08-24T11:25:17.450Z CNTRLR   querying additional controller information...
2023-08-24T11:25:17.472Z CNTRLR   received additional controller information:
                                    Z-Wave API version:         1 (official)
                                    Z-Wave chip type:           EFR32ZG23 / ZGM230S
                                    node type                   Controller
                                    controller role:            primary
                                    controller is the SIS:      true
                                    controller supports timers: false
                                    nodes in the network:       1
2023-08-24T11:25:17.510Z CNTRLR   [Node 001] Embedded device config loaded
2023-08-24T11:25:17.531Z CNTRLR   Interview completed
2023-08-24T11:25:17.535Z CNTRLR   Enabling Smart Start listening mode...
Starting server on 0.0.0.0:3000
2023-08-24T11:25:17.571Z CNTRLR   [Node 001] The node is alive.
2023-08-24T11:25:17.573Z CNTRLR   [Node 001] The node is ready to be used
2023-08-24T11:25:17.574Z CNTRLR   All nodes are ready to be used
ZwaveJS server listening on 0.0.0.0:3000
2023-08-24T11:25:17.590Z CNTRLR   Smart Start listening mode enabled
New client
2023-08-24T11:53:25.710Z CNTRLR   Leaving Smart Start listening mode...
2023-08-24T11:53:25.730Z CNTRLR   Left Smart Start listening mode
2023-08-24T11:53:25.730Z CNTRLR   starting exclusion process...
2023-08-24T11:53:25.749Z CNTRLR   The controller is now ready to remove nodes
2023-08-24T11:54:04.275Z CNTRLR   stopping exclusion process...
2023-08-24T11:54:04.297Z CNTRLR   the exclusion process was stopped
2023-08-24T11:54:04.298Z CNTRLR   Enabling Smart Start listening mode...
2023-08-24T11:54:04.309Z CNTRLR   Smart Start listening mode enabled
2023-08-24T11:54:06.907Z CNTRLR   Leaving Smart Start listening mode...
2023-08-24T11:54:06.920Z CNTRLR   Left Smart Start listening mode
2023-08-24T11:54:06.921Z CNTRLR   Starting inclusion process with strategy Default...
2023-08-24T11:54:06.939Z CNTRLR   The controller is now ready to add nodes
2023-08-24T11:55:11.989Z CNTRLR   stopping inclusion process...
2023-08-24T11:55:12.012Z CNTRLR   The inclusion process was stopped
2023-08-24T11:55:12.014Z CNTRLR   Enabling Smart Start listening mode...
2023-08-24T11:55:12.024Z CNTRLR   Smart Start listening mode enabled
Starting logging event forwarder at info level
Stopping logging event forwarder

I repeated the steps many times and pressed the button on the ring pad for a short/long time, unplugged and plugged in the device, restarted HA,… Unfortunately, I don’t see a ring pad in the log.

thanks for the nice integration with alarmo.
the keypad is working fine, i only have one issue.

number 1,3,7,9 are flashing white the whole time , any idea how to stop this?
it’s there away to update the firmware

Hi,
I have downloaded the latest blueprint for Alarmo. The communication between Alarmo and the Ring Keypad V2 should work as I receive all the information of the security system state on the keypad (controlling the system via phone). The only issue I have is that I can not arm the security system via the keypad directly. I am inserting the code and then press „armed away“ button, but I receive only a fault signal sound. I have also traced the z-wave events and it seems the correct code is transmitted in the event_data field, but after I have pressed “armed away” the event_data is set to “null” and again I receive this fault sound.
I hope you could help me.
Thanks and best regards,
M4v3

You’re seeing the code and arm away press in separate events? Is your code unusually long?

Make sure the key cache size (under there entry control CC section of the node in ZwaveJSUI) is larger than the length of your code.

Hi ImSorryButWho,

thank you for your reply.
Yes, I see two different events.
I am using a 8-digit number - where can I find this entry control CC section of the node in ZwaveJSUI?
Thx
BR

Hello People,

I am attempting to use a Ring Alarm Keypad to unlock a lock. I’ve noticed that I can initiate an automation triggered by the ‘Enter’ event of the Keypad.

My question is, how can I utilize the following inputs:

data:
  domain: zwave_js
  node_id: 4
  home_id: xxxxxxxx
  endpoint: 0
  device_id: xxxxxxxxxxxxxxxxxxx
  command_class: 111
  command_class_name: Entry Control
  event_type: 2
  event_type_label: Enter
  data_type: 2
  data_type_label: ASCII
  event_data: "5555"
origin: LOCAL
time_fired: "2023-11-14T19:43:06.026274+00:00"

I want to trigger the automation with the event above and then compare the event_data with the values of another entity property (Rental Control Integration entity: Slot code). Additionally, I want to check if the time_fired is within a specified range of values from another set of data (Rental Control Integration entity: start, end).

Logically, it’s a straightforward task, but I don’t have any experience with YAML automations in Home Assistant. ---- I don’t have any experience with YAML anywhere :wink:

Regards,

Listening to any events, I do for example not see any event sent when the delay period is over after countdown on 18 (Exit delay). Not sure how to manage this in a good way?

What’s your goal here? You can probably get things working to reflect the state of the internal Manual Alarm Control Panel, if you’re trying to avoid Alarmo for some reason. But the keypad is not a alarm control panel, and doesn’t have the logic necessary to be a standalone alarm system by itself.

That said, I’d really urge you to try out Alarmo. The dev is very responsive, it’s very stable, and it’s both much easier and much more flexible than the built-in manual alarm panel.

Well… this is embarrassing, but I thought Alarmo was the name of the Ring Alarm Central :blush:
Never mind me, I’ll find the door out :slight_smile:

1 Like

How can I make a firmware update via homeassistant to the keypad 2?

BTW do you know why the “keypad_v2_system_software_failure_with_failure_code” changes state from off (ok) to on (problem)?

To the best of my knowledge, you can’t. You should be able to do a normal ZWave firmware update if you can get you hands on the firmware image, but Ring doesn’t make that available outside their proprietary ecosystem.

I’ve never figured out what that error means, but as far as I can tell it’s harmless.

1 Like

Thanks for the awesome info compiled here - this is really excellent.

I know we can receive a message when one of the “emergency” (police, fire, medical) buttons along the left side of the keypad is long-pressed, but is there a way to go the other direction and turn the lights on those buttons on and off? (I’d like to be able to light one up to indicate when a door or window is open.)

No, they’re not independently controllable over Z-Wave. The closest would probably be to put it into medical alarm mode, which at least doesn’t play an obnoxious noise, but I’d guess it’s a lot more flashing than you probably want.

Oh, well. Thanks for confirming. It was a nice-to-have feature, and everything else is working great. Thanks again!

If you disarm the alarm with alarmo, will the Ring keypad also be in the disarmed state, or will it remain in the armed state ? In other words, can Alarmo also operate the ring keypad by means of a automation ?

Yes.

But, this behavior needs to be programmed via an automation. I use Node Red, and have flows that watch for changes to the Alarmo state and send the appropriate commands to the Ring keypad to set their states to match. And vice versa, automations that watch for keypad entries to arm or disarm and send those commands to Alarmo. So everything stays in synch, and the user experience is that they are totally seamless and integrated.

I don’t use the blueprint that this thread’s author has created, but I believe it takes care of all of this for you, if you don’t want to create your own automations.

1 Like

Ok, thanks :+1: