Ring Keypad Gen 1 Driver Code to work with Nyckelharpa?

Anyone have driver code to make the Ring Keypad Gen 1 work with Nyckelharpa?

I was trying to figure out how to write my own. Anyone know if it's possible to get Hubitat's driver code for the Ring Gen 1? I think that would help me. Is not public due to some outside 3rd party copyrights?

When developing drivers, how do you find out the devices capabilities, commands, etc, if you're starting from scratch? Is that something you can get from the manufacturer.

Sorry for the noobie questions.
Thank you,
Mark

Hubitat's drivers are generally closed-source because that is their business model, though they have published several as examples (unfortunately, the Ring Gen 2 keypas is the closest you'll get to this model). Z-Wave devices are generally simple to write drivers for if you are somewhat familiar with:

  1. Hubitat's development environment -- and if not, this relatively new developer doc may help: Developer Overview | Hubitat Documentation, plus the driver overview; and
  2. Z-Wave (e.g., command classes), and the Z-Wave driver docs can help you figure out the basics if you are not as well as help you apply general driver knowledge from above to Z-Wave devices.

You determine the capabilities you want to implement based on real-world device features and the commands you need it to accept as well as the attributes you need it to report. ("Capabilities" are just standardized collections of commands and/or attributes, basically so apps can select specific kinds of devices they want to work with without needing to know details about the underlying protocol, etc., just that it can do certain things.) The manufacturer will not help you with this given that it is a Hubitat concept. A Z-Wave manufacturer (or really the manual or conformance doc) generally will help you figure out which Z-Wave command classes the device supports, and that is important when writing a driver and may also help you make decisions about the above.

But I might step back a bit: what are you actually trying to do with this device that isn't working with your custom app? There could be another way that doesn't require a special driver. I'd also look at what you're trying to do with this custom app, as HSM has had a couple additions since it was written and might now be (or perhaps would have always been) able to handle what you're after, some way or another.

2 Likes

Thanks Robert. I appreciate the help.

I'm not sure I understand your comment that the driver is closed-source because that is their business model. I thought their business model was more open-sourced allowing their DIY users to have more control of their own environment.

I have the driver code for the Ring Keypad G2 which will hopefully give me what I need to interact with the G1. I also have the Centralite Keypad driver code which successfully works with the Nyckelharpa app, so hopefully I can merge the two to get a functioning Ring Keypad G1 device.

The Nyckelharpa app allows me to set up different users with their own security pin and it also notifies me through Pushover for different events.

Thanks for taking the time to provide some pointers!
Mark

You can write your own drivers, and most community members who do release their code under an open-source license. The platform itself is not, which is why all you'll find is the handful of published exampled drivers mentioned above.

2 Likes

They’re very different devices,

Anyway, just wanted to be sure you’ve seen this:

Yeah, I'm worried that since it doesn't seem like anyone else has done it, then it might be a difficult or impossible task without knowing the gen 1 driver code...