Using the Ring Alarm Keypad with Home Assistant

I do not have the Ring Keypad, but would recommend we log a issue ticket to zwaveJS, so that the dev could look into it. Looks like the “behaviors after armed” issue is not isolated, and needs to be worked on.

@k8gg thanks, I just did that
@peterxian @dcoulson I just made an GitHub issue. Please add additional info if you have some #4879

Thanks for opening the GitHub issue, there’s some great troubleshooting going on over there. In the mean time I wanted to add I haven’t seen the signal loss issue since modifying the blueprint with a 2-second delay in the alarm_pending trigger. I found that <1 second is not enough to avoid a collision, but 2-seconds is enough time for the motion sensor to finish its report and be ready for the “pending” signal from HA. It’s also about enough time for me to close the door behind me so I really don’t notice the delay. Note this only seems to be necessary if the motion sensor is enabled.

1 Like

@ImSorryButWho - Massive thanks for this guide and the blueprint. If it hadn’t been for the keypad not interviewing and missing the indicator classes first time, this would literally have taken my <10mins to set up!

Now I can finally remove the old broken phone from my wall and have an easy to use keypad for the in-laws to disarm the alarm!

Could you show me exactly how you modified the blueprint to resolve the signal loss issue? Thanks!

Edit:
Do you mean changing the alarm_pending trigger like this:

- platform: state
  entity_id: !input alarm
  to: pending
  id: alarm_pending
  for:
    seconds: 2

@ImSorryButWho Thank you so much for this integration, I have tried your blueprint and everything works as it should. Just a few questions if you or someone else reading this can help:

  1. For the Arm Home button…I don´t use this, I use instead Arm Night in Alarmo, so how can I change to this for when I press Arm Home in the Keypad will activate Arm Night instead ?
  2. When you change the exit/entrace delay seconds in Alarmo settings, where do I have to change the config settings in HA for the Keypad voice match the seconds you have set ?
    When I arm the system with the keypad and I open the main door to exit the countdown get interrupted and it says sensors opened or something like that so how can I set the alarm as any other alarm system where the sensors are ignored during the countdown ? I have found the setting, forget this question.
  3. Last question, the keypad speaker is very low even at maximum so I was wondering how can I use HA with some of my smart speakers to get same keypad notifications as beeps/countdown/announcements and use this to make it louder ? I can´t see the entities I should use with automations to achieve this.

Sorry for the questions, very appreciated if someone can help.

  1. Replacing all the instances of “home” with “night” in the blueprint should do what you want. But, of course, the keypad will still say “home and armed,” because the sound clips are hard-coded and it has no concept of a night mode.

  2. The delay syncs automatically from Alarmo. No configuration necessary.

  3. You can use this blueprint as inspiration, but you’d want to trigger on Alarmo’s various state transitions and play appropriate sound clips on your media_player. You’ll need to bring your own sound clips–the ones the keypad uses are baked into the firmware.

Thanks for your help pal. Do you or anyone knows why I can’t get more than 2 days of battery life with this Keypad being brand new and even with the sensor lights turned off ?

Hi, I bought a Ring Alarm keypad v2 and wanted it to include it in my Z-Wave-JS configuration.
But when I Include the device I get it like this in my Z-Wave-JS web interface:

At first I did not had the S0 and S2 security keys enabled. Up until now, I had only some door- and motion sensors, Fibaro power plug and a radiator valve. I did not bother about the S0 and S2 security, I was happy it worked and thought, these where things which does not requiring S2 security or any security…

So I thought maybe that is the reason.
But after adding these 4 security keys in Z-Wave-JS :: Control Panel :: Config :: Zwave and restarting the Z-Wave-JS addon, nothing has changed.
So I try to remove (Exclude) the device from the Z-Wave network, but I cant seem to manage that.
For the Inclusion, I found that I have to use Button “1” with a 3 sec press on the Ring Keypad. And that worked.
I assume that for Exclusion, I also have to use the same Butten press when in the UI… But I am not sure about that. Could not find any info for Exclusion of the Ring Keypad…

When I select the device (node-12) in the Z-Wave-JS UI and press ACTIONS :: MANAGE NODES, and press Exclusion, and on the keypad i press Button “1” for 3 sec (tried also 10 sec) then i get this message:

There is also an ACTIONS :: ADVANCED ACTIONS:

I Re-Interviewed the Keypad (node 12) with this result:


2023-01-26 15:38:52.454 INFO Z-WAVE: Node 12: interview started
2023-01-26 15:38:52.473 INFO Z-WAVE: Success zwave api call refreshInfo undefined
2023-01-26 15:38:52.513 INFO Z-WAVE: Node 12: interview stage PROTOCOLINFO completed
2023-01-26 15:38:52.639 INFO Z-WAVE: Node 12: interview stage NODEINFO completed
2023-01-26 15:39:09.888 INFO Z-WAVE: Node 12: interview stage COMMANDCLASSES completed
2023-01-26 15:39:09.900 INFO Z-WAVE: Node 12: interview stage OVERWRITECONFIG completed
2023-01-26 15:39:09.908 INFO Z-WAVE: Node 12: interview stage COMPLETE completed
2023-01-26 15:39:09.921 INFO Z-WAVE: Node 12: value added 12-111-0-keyCacheSize => undefined
2023-01-26 15:39:09.922 INFO Z-WAVE: Node 12: value added 12-111-0-keyCacheTimeout => undefined
2023-01-26 15:39:09.923 INFO Z-WAVE: Node 12: value added 12-114-0-manufacturerId => undefined
2023-01-26 15:39:09.924 INFO Z-WAVE: Node 12: value added 12-114-0-productType => undefined
2023-01-26 15:39:09.925 INFO Z-WAVE: Node 12: value added 12-114-0-productId => undefined
2023-01-26 15:39:09.926 INFO Z-WAVE: Node 12: value added 12-134-0-firmwareVersions => undefined
2023-01-26 15:39:09.927 INFO Z-WAVE: Node 12: value added 12-134-0-libraryType => undefined
2023-01-26 15:39:09.928 INFO Z-WAVE: Node 12: value added 12-134-0-protocolVersion => undefined
2023-01-26 15:39:09.928 INFO Z-WAVE: Node 12: value added 12-134-0-hardwareVersion => undefined
2023-01-26 15:39:09.929 INFO Z-WAVE: Node 12: value added 12-134-0-sdkVersion => undefined
2023-01-26 15:39:09.930 INFO Z-WAVE: Node 12: value added 12-134-0-applicationFrameworkAPIVersion => undefined
2023-01-26 15:39:09.931 INFO Z-WAVE: Node 12: value added 12-134-0-applicationFrameworkBuildNumber => undefined
2023-01-26 15:39:09.932 INFO Z-WAVE: Node 12: value added 12-134-0-hostInterfaceVersion => undefined
2023-01-26 15:39:09.933 INFO Z-WAVE: Node 12: value added 12-134-0-hostInterfaceBuildNumber => undefined
2023-01-26 15:39:09.934 INFO Z-WAVE: Node 12: value added 12-134-0-zWaveProtocolVersion => undefined
2023-01-26 15:39:09.934 INFO Z-WAVE: Node 12: value added 12-134-0-zWaveProtocolBuildNumber => undefined
2023-01-26 15:39:09.935 INFO Z-WAVE: Node 12: value added 12-134-0-applicationVersion => undefined
2023-01-26 15:39:09.936 INFO Z-WAVE: Node 12: value added 12-134-0-applicationBuildNumber => undefined
2023-01-26 15:39:09.939 INFO Z-WAVE: Node 12 ready: Unknown manufacturer 0xXXXX - Unknown product 0xXXXX (0xXXXX)
2023-01-26 15:39:09.951 INFO Z-WAVE: Node 12: interview COMPLETED, all values are updated
2023-01-26 15:40:12.366 INFO APP: GET /health/zwave 200 3.194 ms - 2005
2023-01-26 15:40:54.423 INFO Z-WAVE: Node 5: value updated: 113-0-alarmType 0 => 0

Is there anyone who has experience with a situation like this and can help me?

Yup, this device absolutely requires S2 keys. Exclude the keypad and re-add it. (You might be able to make it work with “Reset Security Classes” checked, but I haven’t tested that. Excluding and re-adding will definitely work.)

To exclude it, put the controller in exclusion mode, then stick a pin in the reset hole on the back of the keypad. There should have been a pin included in the box, but anything the right size will work.

Hi @ImSorryButWho Thank you for helping me out with this! Excluding went fine. And I already added the S0 and 3 S2 keys.
The a new inclusion, where S2 was already selected, gave me this in the UI:

I did the exclusion twice, hence the increase on the node number to 14.
But for some reason the security seems not included…
Any idea what i did wrong? Perhaps i must repeate the procedure and make screen copies of every step…

BTW, Now I have 2 “empty spaces” in my node numbering. Any idea how I can get rid of that?
BTW2, I am using the Aeotec Z-Stick Gen5+.
(I read there is an update for the Gen5 to Gen5+. but nothing on new firmware for de Gen5+.)

This device can be difficult to include. Did you get a pop-up asking you to enter the last few digits of the DSK? If so, your controller recognized that it wants to talk S2. But in my experience, this device in particular has a very short timeout for that step. If you’re doing classic inclusion, you really have to have those last few digits copied to your clipboard, ready to paste in and hit “Next” as soon as the dialog pops up.

Luckily, things have improved, and ZWaveJS now support Smart Start. That’s by far the easiest way to get this device to include correctly. In ZWaveJS UI, go to the Smart Start tab, and add a new entry by scanning the QR code on the back (click the plus in the bottom-right corner of the Smart Start tab, then the QR-code looking option). You might want to do it on your phone – I’ve found computer webcams can have a hard time scanning those tiny little QR codes.

Once the entry is added, exclude the keypad, unplug it from power, and plug it back in. It should automatically join your network in a minute or two. If you don’t see that happen, you might need to fully factory reset it, which just requires holding down the reset button for 10 seconds until the green light on the front flashes. Then unplug it and plug it back in.

As far as node numbering gaps, don’t worry about it. Things can get a little wonky if the main controller isn’t node 1, but even that isn’t actually required. Everything else is just aesthetics. To force the controller to “fill in” the gap, you’d need to add and remove a device ~220 times, until the numbering wraps around.

2 Likes

Yes! Finaly I managed to get the Keypad included:

Decided to use the Smart Start option you mentionned.
However scanning with the camera on my laptop failed (don’t know why, because an attempt earlier this went fine?)
So, I scanned the QR code with my Phone and copied the 32 character code and put this in the Integrate session, then the PIN code from the back of the keypad, and bingo!

2023-01-27 15:37:13.459 INFO Z-WAVE: Node 15: value added 15-135-0-133-5 => 0
2023-01-27 15:37:13.460 INFO Z-WAVE: Node 15: value added 15-135-0-133-7 => 0
2023-01-27 15:37:13.461 INFO Z-WAVE: Node 15: value added 15-135-0-133-9 => 0
2023-01-27 15:37:13.461 INFO Z-WAVE: Node 15: value added 15-135-0-133-8 => 0
2023-01-27 15:37:13.463 INFO Z-WAVE: Node 15: value added 15-135-0-133-6 => 0
2023-01-27 15:37:13.464 INFO Z-WAVE: Node 15: value added 15-135-0-value => undefined
2023-01-27 15:37:13.695 INFO Z-WAVE: Node 15 ready: Ring - 4AK1SZ (Keypad v2)
2023-01-27 15:37:13.699 INFO Z-WAVE: Controller status: Scan completed
2023-01-27 15:37:13.700 INFO Z-WAVE: Network scan complete. Found: 12 nodes

About your 3th paragraph, do you really mean that I have to exclude the keypad from the Z-Wave-JS UI like this:

I see lots of entities in HA, but they have no data f.i. device temperature is “0”.

I’l give it a try, and Exclude the device and see what happens…

Thank you very much for your help so far!!
Kind regards, Bert

Sounds like it’s working correctly. Don’t mess with it any more! In the third paragraph, I just mean that the keypad won’t try to do Smart Start if it thinks it’s already included (even if it has the wrong security classes).

Home Assistant can sometimes cache entities that it’s seen before, even if they’ve been removed by the underlying integration. In that case, just go to the Entities page under settings, look for entities with a red circle and an exclamation point in the Status column, click on them, then click “Delete”.

It seems to work OK.
I checked some entities like:


This one reacts when I unplug the mains.
At first i checked the device temperature, and that seems odd:
image

But I don’t see any status errors/remarks in the entities overview for the drvice.

I’l now go to the Alarmo configuration…
If that is working, then I like to get both Z-Wave and Zigbee to a separate RPi (docker), apart from my HA platform, so these networks could run independently from HA (restarts etc.)

@ImSorryButWho First of all thanks for investing so much time in this. Really appreciated.

So I have paired the panel successfully via SmartStart . First time I used that after 10+ years of zwave but worked really well!

There is actuive coms between the panel and hass (below a snippet using code 1234)

2023-03-05 11:27:48.884 INFO Z-WAVE: [Node 068] Value updated: 113-0-alarmType 0 => 0
2023-03-05 11:27:48.888 INFO Z-WAVE: [Node 068] Value updated: 113-0-alarmLevel 0 => 0
2023-03-05 11:27:48.892 INFO Z-WAVE: [Node 068] Value updated: 113-0-Home Security-Motion sensor status 0 => 8
2023-03-05T10:27:50.123Z CNTRLR [Node 068] [Notification] Entry Control
event type: Caching
data type: None
2023-03-05 11:27:50.124 INFO Z-WAVE: [Node 068] CC Entry Control notification {
eventType: 0,
dataType: 0,
eventTypeLabel: 'Caching',
dataTypeLabel: 'None'
}
2023-03-05 11:27:54.291 INFO Z-WAVE: [Node 068] Value updated: 113-0-alarmType 0 => 0
2023-03-05 11:27:54.295 INFO Z-WAVE: [Node 068] Value updated: 113-0-alarmLevel 0 => 0
2023-03-05 11:27:54.300 INFO Z-WAVE: [Node 068] Value updated: 113-0-Home Security-Motion sensor status 8 => 0
2023-03-05T10:27:55.561Z CNTRLR [Node 068] [Notification] Entry Control
event type: Cached keys
data type: ASCII
2023-03-05 11:27:55.563 INFO Z-WAVE: [Node 068] CC Entry Control notification {
eventType: 1,
dataType: 2,
eventData: '1234',
eventTypeLabel: 'Cached keys',
dataTypeLabel: 'ASCII'
}

Installed the latest version of your blueprint from your github and Alarmo.

However when I press for instance ‘arm away’ on the hass alarmo panel the ring keypad keeps telling me ‘sensors require bypass’. I’m also not able to arm via the keypad, similar message.

Do you have any pointers?

EDIT and leaving here for people with a similar issue: Whoops: This is the message you get when a sensor that is part of the sensors within Alarmo is open. I had a door open and it does not allow me to arm the alarm (that was the message). That can be disabled per sensor in Alarmo

Is there a way to avoid the sirene on the Ring keypad to go off? In one of my modes, I only want a silent alarm and no sirene

Configuration parameter 6 controls the siren volume. Set it to 0, and you’ll get a silent alarm.

Hi,
New here about to go down this path.
What is the cirrent state of using Z-Wave-JS vs Zwavejs2mqtt?
I would prefer Z-Wave-JS as that is what i’m running already.
Is it now fully compatible?
If so would you consider updating: HomeAssistantNotes/RingKeypadV2.md at 6f05b3f90a979f7118e7c688ce2d01b878227328 · ImSorryButWho/HomeAssistantNotes · GitHub

cheers

Zwavejs2mqtt is now renamed into “Z-Wave JS UI” these days:
zwave-js/zwave-js-ui: Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify (github.com)

And if you pay attention to the GitHub page, it is actually a UI + Z-Wave JS Server + MQTT, running the same Z-Wave JS Server, all under the Z-Wave JS umbrella.

So there is no need to switch if you are fine with everything you have got from Z-Wave JS today.
Or, put it another way, you might want to switch, if you want to have some UI for finer/deeper Z-Wave control. I would recommend you read the notes of both on GitHub before you make the decision.

Personal experience: I switched. And the efforts were minimal - just point the integration with a new link, and done - they ran the same server & same version in the core, after all.

2 Likes