[EDGE] Ring Retrofit Kit 8-channel contact sensor driver

Just developed an Edge driver for the Ring Retrofit Kit. This provides each of the eight contacts as separate components on the single device. It supports contact open/close notifications for each of the eight contacts as well as open/close for the case tamper and battery notifications. Configuration (ex: battery notification interval, contact debounce time, etc…) is not yet supported, but I may add it in the future.

As far as I know the Ring Retrofit Kit is one of the only Z-Wave contact sensors with more than just a couple channels. It is battery powered, but people have wired these up with 12V to 3V converters wired to the battery terminals of the device to provide hard-wired power.

Multi-channel association for each of the eight channels is performed by this driver at configuration time when the device is included, so if you have problems with it try excluding the Ring Retrofit Kit, factory resetting it, and then re-including your device.

Note that since the Ring Retrofit Kit is an S2 device it will not likely work with ST as a secondary in most scenarios (while technically S2 bootstrapping may be possible for some controllers I have yet to work with one where the S2 devices work correctly on the secondary controller). It’s possible it may work with a secondary controller if the device is included without security or with only S0 security. I have not tested this use case though.

At inclusion and configuration time this driver will send Basic:Get commands to each of the eight channels to populate the current value of the contact. However, after initial inclusion the contact states are only updated upon notification reports from the device. At present this does not try to re-query them on a wake-up, so if a report is missed (such as during a controller reboot) state could be stale. I may or may not add that in the future.

I have not been using this long enough to see if the device reports granular battery percentage (or if it only gives 100, 99, and then 0 - as Ring’s Z-Wave doc for the device seem to suggest). Will update the post once I have confirmed that.

Here is the channel invite:

https://bestow-regional.api.smartthings.com/invite/Q1jP1QqOBNML

This is my first publicly posted Edge driver. Please let me know if you have any issues with the channel invite.

Source in the following GitHub repo:

https://github.com/sanme-dev/edge-drivers-public

Currently this is the only fingerprint that matches (based on the instance of the device I received). If this device has any other fingerprints please send them to me to include.

zwaveManufacturer:
  - id: "0346/0B01/0101"
    deviceLabel: Ring Retrofit Kit
    manufacturerId: 0x0346
    productType: 0x0B01
    productId: 0x0101
    deviceProfileName: ring-retrofit-kit
2 Likes

Nice work. :sunglasses:

Most battery powered Z wave devices report in tiers, not individual levels. This is done to save battery life since it means fewer reports are required.

FAQ: How Sleepy Devices Report Battery Life (tier reporting)

Thanks for the link - good info. For the Ring Retrofit Kit, Ring’s Z-Wave docs seem to state the values it will report are 100 (full), 0 (low / needs replacing), 99 (basically everything else), and 255 (dead / device no longer operating). I can’t confirm the behavior as I don’t have any drained CR123’s around and these are supposed to run for quite a while, but I have no reason to doubt the docs as they have been correct on everything else. I can however confirm the device does do battery reports approximately every 70 minutes (give or take a bit), which is the default out of the box. The battery report interval is configurable, but I have not yet added code to support configuring it as I didn’t have a need to increase the frequency.

2 Likes

Thanks for your work, @sanme! This looks like a very useful device… :grinning:

1 Like