[DRIVER] Ring Alarm Keypad G2 Community Driver - Continued

I haven't drawn up the instructions yet for a post, but if you're using HSM, do the following :
In HSM :

  • ensure the keypad is selected in the HSM options (this MUST be done, or else HSM will not subscribe to the keypad)

In commands :

  • reset the keypad (dont reset codes)

In preferences :

  • Force keypad's state thru Mode/HSM/App/Rule? HSM
  • Resync to HSM or Mode? HSM
  • disable the proximity sensor
  • enable logs for info and debug
  • Save the preferences

If it isn't working, check to make sure HSM is subscribed properly.

If it is, take a screenshot of the logs and send to me in a DM

Edit : @j715 is 100% correct. For the 1st pairing, the proximity sensor must be covered. I used duck tape on 1 keypad and the sticky end of a sticky note on another keypad.

On a different note, thru the command classes, i was able to get the following :

Indicators to program in (some are done; "not found"s are manufacturer specific) :

Configurable Settings (28 total!):

{
	"1": {
		"input": {
			"defaultValue": "70",
			"name": "configParam1",
			"range": "1..70",
			"description": "# mins between heartbeats",
			"type": "number",
			"title": "Heartbeat Interval"
		},
		"parameterSize": 1
	},
	"2": {
		"input": {
			"defaultValue": "1",
			"name": "configParam2",
			"range": "0..5",
			"description": "# app-lvl tx retry if trnsprt-layr ACK / suprvisn rprts r missd",
			"type": "number",
			"title": "Application Retries"
		},
		"parameterSize": 1
	},
	"3": {
		"input": {
			"defaultValue": "5",
			"name": "configParam3",
			"range": "1..60",
			"description": "Base # secs used to calc delay between tx retries",
			"type": "number",
			"title": "Application Level Retry Base Wait Time Period"
		},
		"parameterSize": 1
	},
	"4": {
		"input": {
			"defaultValue": "7",
			"name": "configParam4",
			"range": "0..10",
			"description": "Adjusts the volume of the verbal audio prompts",
			"type": "number",
			"title": "Announcement Audio Volume"
		},
		"parameterSize": 1
	},
	"5": {
		"input": {
			"defaultValue": "6",
			"name": "configParam5",
			"range": "0..10",
			"description": "Adjusts the volume of the key press sound",
			"type": "number",
			"title": "Key Tone Volume"
		},
		"parameterSize": 1
	},
	"6": {
		"input": {
			"defaultValue": "10",
			"name": "configParam6",
			"range": "0..10",
			"description": "Adjusts the volume of the siren",
			"type": "number",
			"title": "Siren Volume"
		},
		"parameterSize": 1
	},
	"7": {
		"input": {
			"defaultValue": "3",
			"name": "configParam7",
			"range": "2..5",
			"description": "Duration 2 trig long-press event",
			"type": "number",
			"title": "Special Key Long Press Duration"
		},
		"parameterSize": 1
	},
	"8": {
		"input": {
			"defaultValue": "3",
			"name": "configParam8",
			"range": "2..5",
			"description": "Duration 2 trig long-press event w/ numpad key (sec)",
			"type": "number",
			"title": "Number Pad Key Long Press Duration"
		},
		"parameterSize": 1
	},
	"9": {
		"input": {
			"defaultValue": "5",
			"name": "configParam9",
			"range": "0..30",
			"description": "Input timeout after proximity detection (sec)",
			"type": "number",
			"title": "Proximity Display Timeout"
		},
		"parameterSize": 1
	},
	"10": {
		"input": {
			"defaultValue": "5",
			"name": "configParam10",
			"range": "0..30",
			"description": "Timeout after last button press w/ incomplete sequence (sec)",
			"type": "number",
			"title": "Button Press Display Timeout"
		},
		"parameterSize": 1
	},
	"11": {
		"input": {
			"defaultValue": "5",
			"name": "configParam11",
			"range": "1..30",
			"description": "Timeout when indicator set is received to change status (sec)",
			"type": "number",
			"title": "Status Change Display Timeout"
		},
		"parameterSize": 1
	},
	"12": {
		"input": {
			"defaultValue": "100",
			"name": "configParam12",
			"range": "0..100",
			"description": "Adjusts the brightness of the security mode buttons",
			"type": "number",
			"title": "Security Mode Brightness"
		},
		"parameterSize": 1
	},
	"13": {
		"input": {
			"defaultValue": "100",
			"name": "configParam13",
			"range": "0..100",
			"description": "Adjusts brightness of KP backlight. Key backlight LEDs only",
			"type": "number",
			"title": "Key Backlight Brightness"
		},
		"parameterSize": 1
	},
	"14": {
		"input": {
			"defaultValue": "20",
			"name": "configParam14",
			"range": "0..100",
			"description": "Light threshold where keypad will stop backlighting",
			"type": "number",
			"title": "Ambient Light Sensor Level"
		},
		"parameterSize": 1
	},
	"15": {
		"input": {
			"defaultValue": "1",
			"name": "configParam15",
			"range": "0..1",
			"description": "Turn On and Off the Proximity Detection",
			"type": "number",
			"title": "Proximity On/OFF"
		},
		"parameterSize": 1
	},
	"16": {
		"input": {
			"defaultValue": "50",
			"name": "configParam16",
			"range": "0..255",
			"description": "Ramp time (ms) to turn the LEDs on/off. Applies to all LEDs",
			"type": "number",
			"title": "Ramp Time Config"
		},
		"parameterSize": 1
	},
	"17": {
		"input": {
			"defaultValue": "30",
			"name": "configParam17",
			"range": "0..100",
			"description": "Percent lvl where display uses yellow battery indicator",
			"type": "number",
			"title": "Low Battery Threshold"
		},
		"parameterSize": 1
	},
	"18": {
		"input": {
			"defaultValue": "0",
			"name": "configParam18",
			"range": "0..31",
			"description": "Bit number in the languages supported bitmask to set",
			"type": "number",
			"title": "Languages Set"
		},
		"parameterSize": 1
	},
	"19": {
		"input": {
			"defaultValue": "10",
			"name": "configParam19",
			"range": "0..100",
			"description": "Percent lvl where display uses red battery indicator",
			"type": "number",
			"title": "Warn Battery Threshold"
		},
		"parameterSize": 1
	},
	"20": {
		"input": {
			"defaultValue": "2",
			"name": "configParam20",
			"range": "1..60",
			"description": "Blink dur. if sys sec mode display config is set periodic",
			"type": "number",
			"title": "System Security ionMode Blink Durat"
		},
		"parameterSize": 1
	},
	"21": {
		"input": {
			"defaultValue": "10000",
			"name": "configParam21",
			"range": "500..30000",
			"description": "Secs device waits for supervision report",
			"type": "number",
			"title": "Supervisory Report Timeout"
		},
		"parameterSize": 2
	},
	"22": {
		"input": {
			"defaultValue": "0",
			"name": "configParam22",
			"range": "0..601",
			"description": "601 = Always On, 1-600 = periodic, 0 = Activity-triggered only",
			"type": "number",
			"title": "System Security Mode Display"
		},
		"parameterSize": 2
	},
	"23": {
		"input": {
			"defaultValue": "37",
			"name": "configParam23",
			"range": "0..4294967295",
			"description": "Bitmask of languages. Bit == 1 => language supported",
			"type": "number",
			"title": "Languages Supported"
		},
		"parameterSize": 4
	},
	"24": {
		"input": {
			"defaultValue": "0",
			"name": "configParam24",
			"range": "0..1",
			"description": "Set to 1 to recalibrate the speaker impedance",
			"type": "number",
			"title": "Speaker Impedance Calibration"
		},
		"parameterSize": 1
	},
	"25": {
		"input": {
			"defaultValue": "10",
			"name": "configParam25",
			"range": "0..15",
			"description": "Secs FLiRS device stays awake after last comms",
			"type": "number",
			"title": "Z-Wave Sleep Timeout"
		},
		"parameterSize": 1
	},
	"26": {
		"input": {
			"defaultValue": "2",
			"name": "configParam26",
			"range": "0..60",
			"description": "# secs for motion detection to clear",
			"type": "number",
			"title": "Motion Dwell Time"
		},
		"parameterSize": 1
	},
	"27": {
		"input": {
			"defaultValue": "0",
			"name": "configParam27",
			"range": "0..255",
			"description": "Vol Reduction 0.5 dB steps",
			"type": "number",
			"title": "Vol Offset TFA9896"
		},
		"parameterSize": 1
	},
	"28": {
		"input": {
			"defaultValue": "0",
			"name": "configParam28",
			"range": "0..200",
			"description": "Vol Reduction 0.5 dB steps",
			"type": "number",
			"title": "Vol Offset AW8896"
		},
		"parameterSize": 1
	}
}

Anyone having issues with the Ring Keypad G2 since updating to Z-Wave JS? I had been using the community driver for years and also just tried the new Advanced driver and neither function correctly since updating from Z/IP

Yes It seems Ring Keypads G1 and G2 are both having issues. All of the drivers related to those devices seem to be impacted. That includes the built in drivers for those devices as well as the ones that were derived from community driver @btworld first built. It has been brought up with @bcopeland already so Hubitat staff is aware of it. Hopefully we atleast get a update to the built in driver before to long.

I looked at the code and found were it seems to be failing, I just don't know zwave well enough to understand what is the best way to fix it.

3 Likes

Yeah, still waiting for a fix as well... It correctly responds to HSM changes, but won't change the HSM status.

@MikeB0981 @francesco Check out my attempt to fix over here:
Ring Keypad G2 with ZwaveJS not working - #9 by jtp10181

My changes could probably be merged into any of the community derivatives once proven to be working correctly.

3 Likes

Any status updates?

Updates to what? Did you try the driver I posted in the other thread?

Otherwise I don't know what you issue is exactly, I don't have this device or any keypad to understand what you are asking about.

Sorry, missed that link... Installed it and will test.
(This was the tagged thread, not the other one...)

Arg... so close, after trying the Hubitat driver (completely broken), then the community driver (the arming delay quirks), and now this one.... it almost works. What I mean is, disarming disarms EVERYTHING in HSM, including smoke and water alarms, not just security. Can this be looked into?

Nevermind! I tried it again today and it is arming and disarming appropriately (not disarming everything). Not sure what fixed it, I tried doing syncs with HSM, enabling and disabling the disarm all override, etc., but all good - thank you!

I'm 8 days in to Hubitat and I'd like to use your Ring Keypad (G2) driver, but all I've been able to do is download the Community driver, and now I'm scratching my head... How do I load this into keypad...
What do I do next?
Then, how do I get your driver into Hubitat and get it loaded into the keypad?

Btw: the limited out of the box functionality of the Ring Keypad works fine and updates the HSM etc.

Thanks

Dave in Colorado

This is the newest driver that I know of: Ring Keypad G2 with ZwaveJS not working - #9 by jtp10181 Mostly updated to work with Zwave JS (on C8 Pro)

Here is the docs on how to install a custom driver and use it on a device:
https://docs2.hubitat.com/en/how-to/install-custom-drivers

1 Like

Thanks.

I installed this driver and functionality was fine until a Arm/Disarm loop began with HSM and I had to disable the keypad.

I also installed the Advanced driver from @Mike NYC and it only seems to allow arm/disarm via HSM... no functionality at the keypad to do anything regardless of the numerous settings. Really wanted to make either of these work, but doesn't seem possible.

So... Rollback to the Hubitat supplied driver tomorrow and I'll re-attack when I have more time to experiment.

UPDATE to previous entry...

Spent 2 hours experimenting with the Ring-pad and followed the remedy for the dreaded keypad lockup and am now Cadillacin' using the latest Community keypad driver.

All doors and all modes test A-OK.

I'm learning a lot, realizing now there's a world of tech I had little clue about.

Thanks..

Dave in Colorado

1 Like

Hi Dave, I ordered a Ring Keypad and hope to configure it to use Hubitat Safety Monitor (HSM) to Arm/Disarm. I see you got yours cadillacin, I noticed there are drivers within Hubitat that are titled Ring Alarm Keypad V1 and Ring Alarm Keypad V2. There is also a driver in Hubitat Package Manager titled Ring Alarm G2 Community driver. What driver did you end up using? ...did you use SmartStart to install? ...and what was the lockup and remedy?

Using the latest community driver

Thanks Dave- both of the community drivers in HPM and the standard driver in Hubitat didn't work for me. I couldn't get the alarm to cancel\disarm consistently. After spending several hours trying to configure and set up, I found it to be more trouble than what its worth for me.

That is pretty vague since there are multiple forks including my patched one I posted above (to fix for ZwaveJS).

Looking for some help as i seem to have hit a brick wall. Have been using a previous version of the community driver, for over a year with no problem. Recently the HSM generated an intrusion, when i tried to disarm with the ring keypad, it failed to react to the code and promptly locked up, disconnected it self from the zwave mesh. The only remedy is to reinclude it again. I have tried the built in driver, and the latest community driver 1.3.1, with the same result. You can arm and disarm HSM successfully using the key pad all works OK. When you trigger an intrusion on any device the key pad just locks up. Checked the debug log there is an unhandled notification when the issue occurs.:-
Unhandled NotificationReport: NotificationReport(v1AlarmType: 0, v1AlarmLevel: 0, notificationStatus: 255, notificationType: 9, event: 4, sequence: false, eventParametersLength: 1, eventParameter: [85], sequenceNumber: 0)
Hub is C8 running 2.4.3.171
Any ideas?

Thanks Mike

Please provide a link to the exact driver code (or post it came from) you are using when you get that error.

Need to know what hub you have, if a C8-Pro are you running Zwave JS or ZIP?

Also, I am not that familiar with HSM and keypads. So more details would help. Triggering an intrusion - would an example be HSM is in away mode and you set off an interior motion sensor which triggers an intrusion in HSM? What would HSM then be sending to the keypad that could make it lock up? Dos they keypad have some sort of alarm mode where it blinks or makes sounds which HSM is trying to activate?