I found the device type array in the ring source code:
deviceType = {
"access-code": "Security Access Code",
"access-code.vault": "Code Vault",
"adapter.zigbee": "ZigBee Adapter",
"adapter.ringdevices": "Ring Devices Adapter",
"adapter.zwave": "Z-Wave Adapter",
"alarm.co": "CO Alarm",
"alarm.smoke": "Smoke Alarm",
"hub.redsky": "Ring Alarm",
lock: "Lock",
"range-extender.zwave": "Z-Wave Range Extender",
"security-panel": "Security Panel",
"security-keypad": "Security Keypad",
sensor: "Sensor",
"sensor.contact": "Contact Sensor",
"sensor.glassbreak": "Glassbreak Sensor",
"sensor.humidity": "Humidity Sensor",
"sensor.motion": "Motion Sensor",
"sensor.shock": "Shock Sensor",
"sensor.temperature": "Temperature Sensor",
"sensor.water": "Water Sensor",
switch: "Switch",
"switch.multilevel": "Switch Multilevel",
"switch.multilevel.bulb": "Switch Multilevel Bulb",
unknown: "Unknown",
"unknown.zwave": "Unknown Z-Wave Device",
"unknown.zigbee": "Unknown ZigBee device",
"temperature-control.thermostat": "Thermostat"
}
I have implemented a few of the sensors along with the keypad, base station and security panel so far. Other types of sensors would be easy to implement now that we know the device type, but I don't have any of them to test out and verify. PRs are welcome from anyone that has one of these additional devices to try out.
If you implement lock I can test it. Or is there local sniffing involved?
@jproz lock might be tough to implement without having one to try out. The sensors all seem to follow a similar pattern, but locks would probably have a different set of commands. What type of lock is it? I didn’t realize they had any sort of lock integration at this point.
Kwikset 910
They literally just released it. (I was so excited!)
https://support.ring.com/hc/en-us/articles/360016519732-Integrating-Z-Wave-Door-Locks-with-Your-Ring-Alarm
I would personally like to thank you for this plugin! I found it a few minutes ago and it works great. Do you think Ring will catch on and close this up?
@jproz I'll see if I can find any info regarding lock states and commands in the ring web app source code. Might be a few weeks as life is getting busy with the holidays, but I'll keep you informed if I make progress.
@riveraj33 glad to be of use 😄. I've actually informed Ring that the plugin exists in hopes to get official support, or at least give them a nudge to get true HomeKit integration. As far as closing it up goes, it's really hard to change your API once it's out in the wild. Even though this isn't an official public API, they would break any existing versions of the web app or mobile apps if they changed the API down the road.
Yah thanks dg
I'd also like to thank you for this plugin! It's been working extremely well for me!
I have three Schlage Connect Z-Wave locks that are now apparently compatible with the Ring system, and I'd love to help test lock integration if you add it. I'm currently connecting them to HomeKit using this plugin along with an old Wink 1 hub that I'd love to decommission.
I don't have any Z-Wave locks to test with, but I think I have everything in place based on what I found in ring's source code. @raygan @jproz would you guys mind trying out your locks with version 1.1.0? Once you upgrade and restart homebridge, your locks should show up in the Home app with no additional configuration. Let me know if they show up, are able to lock/unlock the lock, and if they update properly when you lock/unlock by hand or through the ring app. Thanks in advance for testing it out!
I’ve tested it out and so far it’s good news and bad news.
The good news is your plugin seems to work! Once I got the lock disconnected from Wink and added to Ring it showed right up in HomeKit and I was able to lock and unlock it. It worked pretty much exactly as it did via homebridge-wink3.
The bad news part is that Ring’s implementation of Z-wave locks seems to be really unreliable and underbaked so far. Once I got the lock added it was pretty slow and flakey about locking and unlocking (in both the Ring app and HomeKit, so I don’t think it’s on you.) Much slower and more prone to failure than it was with my super old second hand Wink 1 hub.
Even worse, Ring wiped my lock’s passcodes and gave me an error every time I try to set a new passcode on the lock. I called their support and they said the feature is “very new” and “not fully featured” and that I should try again in January. (By then they’re also planning to add a feature to disarm the system when you unlock the door with the alarm code, so I’m looking forward to trying that next year.)
So for now I think this plugin working, and I look forward to using it eventually, but I’m switching my lock back to my Wink hub for now.
@raygan thanks for all the detail! Sorry to hear that their implementation is lacking at this point. I think they are trying to move really fast with the alarm/hub to keep up with competition, so not surprising that there are a few bugs right now. I'll consider the lock feature complete for now unless I hear back from anyone who has issues. Leaving this issue open for future requests if anyone has another device on the list at the top.
Just tried this with the schlage 968. For me, lock / unlock seems to work consistently from the ring app, however, only unlock seems to work via homekit. There are no errors in the homebridge hub.
For the issue mentioned by raygan about it wiping your codes and not being able to create new ones using the lock keypad. Your codes are now managed by the ring app. You need to manage your users and explicitly give access to the lock for each user, even for the owner user, which is annoying.
I'll try to look into the issue more today, dgreif, let me know if you need any info.
@mbbeaubi Thanks, I know codes are managed by the Ring app. In my case, every time the Ring app tried to set a code for a user it was getting an error, which meant I was only able to set codes manually (by entering the programming code on the lock itself) and users weren’t tied to codes. Ring support basically told me there was nothing they could do and to try back in January.
@raygan did you experience the same behavior as @mbbeaubi where HomeKit could unlock but not lock? @mbbeaubi I'd just recommend trying it some more and verify that only unlocking works. The implementation for the two is basically identical so I am surprised that only unlock would work.
I think I was able to both lock and unlock from HomeKit but it’s possible I’m mistaken.
My lock is set to auto-lock after 30 seconds, and there was such a delay in locking and unlocking (via both HomeKit and the Ring app) that I might have misinterpreted an auto-lock as it locking from HomeKit. Since I use the auto locking feature (which is built into the lock and doesn’t require z-wave at all) I rarely use HomeKit to do anything other than unlock.
Yes, for sure this is consistently reproducible. Unlocking / locking from the ring app always works and happens in < 2 seconds.
Unlocking from homekit also works in < 2 seconds. Status also works perfect.
Only issue is locking. When I lock from homekit, the status on the button says Locking... and it hangs forever. If I then go into the Ring app, status is still unlocked but I can click the lock button and the lock will lock in < 2 seconds. Then the homekit status updates properly.
Raygan, I'm no expert but maybe the issue is that your locks were previously connected to wink? Or perhaps it's some kind of zwave communication error? My locks are brand new and located within 20 feet of the ring hub.
Dgreif, I'm no expert in node.js or debugging homebridge but I am an experienced developer so tell me what you need and I'll do it.
@mbbeaubi I found the issue. When you lock/unlock from HomeKit, it determined the action using state === State.Secured ? 'lock' : 'unlock'. Should have actually been State.SECURED. This means it was _always_ sending an unlock command. Simple typo that would have been easy to catch it I had a z-wave lock lying around. Thanks for solid debugging which lead me to the right place. Give v1.1.1 a try and let me know how it goes. @raygan hopefully this fix makes it feel more "reliable" for you as well 😄
Interesting! That might explain why I was having so much trouble with it.
I’ll give it another try some time this weekend.
On Wed, Dec 5, 2018 at 11:56 AM Dusty Greif notifications@github.com
wrote:
@mbbeaubi https://github.com/mbbeaubi I found the issue. When you
lock/unlock from HomeKit, it determined the action using state ===
State.Secured ? 'lock' : 'unlock'. Should have actually been State.SECURED.
This means it was always sending an unlock command. Simple typo that
would have been easy to catch it I had a z-wave lock lying around. Thanks
for solid debugging which lead me to the right place. Give v1.1.1 a try
and let me know how it goes. @raygan https://github.com/raygan
hopefully this fix makes it feel more "reliable" for you as well 😄—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dgreif/homebridge-ring-alarm/issues/4#issuecomment-444600755,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC2A3x0h0ZeWfV5sQWUeDIwWhHWPDcHIks5u2BbrgaJpZM4YQ2b_
.
Worked like a charm :)
Thanks for the great work!
@mbbeaubi glad to hear it! Thanks again for debugging the plugin for me 🏆
In the Ring app motion triggered for motion sensors lasts 4 minutes. In homekit through this plugin it seems to stay triggered for 30 minutes or longer. Is there a setting in the plugin or homebridge to make this match the ring app? I can’t use motion automations if sensor is always triggered. Everything else has worked great! Thanks!
@jamhap64 I just tested the timing on my motion sensor and it was perfectly in-line with the ring app. I'm not sure what caused the delay for you. It might have been a disconnect between your Home app and your Homebridge server, or some other network related issue, but I'm confident that the plugin is correctly registering the end of motion event as soon as ring sends it out. If you are able to reproduce the issue please let me know.
I'm afraid this issue will become a catch-all for comments in the future so I'm going to close it. If anyone has a new sensor that they are connecting to their ring alarm hub which is not yet supported by this plugin, please open a new issue with as much detail as you can provide. Thanks to everyone who helped with the lock integration!
Thanks for looking into this. It seems that restarting homebridge fixed my problem.
Sent from my iPhone
On Dec 10, 2018, at 9:37 AM, Dusty Greif <[email protected]notifications@github.com> wrote:
@jamhap64https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjamhap64&data=02%7C01%7C%7C486d2365d8344792867c08d65eb567b1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636800530547856781&sdata=xwjEI0tHns%2Fg%2BA%2F8zIfp6maMJ702wGig8oYuglqgrPM%3D&reserved=0 I just tested the timing on my motion sensor and it was perfectly in-line with the ring app. I'm not sure what caused the delay for you. It might have been a disconnect between your Home app and your Homebridge server, or some other network related issue, but I'm confident that the plugin is correctly registering the end of motion event as soon as ring sends it out. If you are able to reproduce the issue please let me know.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdgreif%2Fhomebridge-ring-alarm%2Fissues%2F4%23issuecomment-445859181&data=02%7C01%7C%7C486d2365d8344792867c08d65eb567b1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636800530547856781&sdata=SiLFvqRV%2B6dc6RP%2BBU%2Fqr8kZiIC6UjX4LDfGQLdN7PY%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAQw0kne8RuuBQghZSjI0Hz-wUmYb3MR3ks5u3n-8gaJpZM4YQ2b_&data=02%7C01%7C%7C486d2365d8344792867c08d65eb567b1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636800530547856781&sdata=%2Bh1leKRWf8JtKDRcRn0u%2FKeMmSCOeUMEKX3o7u%2B%2Bwz8%3D&reserved=0.
Most helpful comment
Thanks for looking into this. It seems that restarting homebridge fixed my problem.
Sent from my iPhone
On Dec 10, 2018, at 9:37 AM, Dusty Greif <[email protected]notifications@github.com> wrote:
@jamhap64https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjamhap64&data=02%7C01%7C%7C486d2365d8344792867c08d65eb567b1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636800530547856781&sdata=xwjEI0tHns%2Fg%2BA%2F8zIfp6maMJ702wGig8oYuglqgrPM%3D&reserved=0 I just tested the timing on my motion sensor and it was perfectly in-line with the ring app. I'm not sure what caused the delay for you. It might have been a disconnect between your Home app and your Homebridge server, or some other network related issue, but I'm confident that the plugin is correctly registering the end of motion event as soon as ring sends it out. If you are able to reproduce the issue please let me know.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdgreif%2Fhomebridge-ring-alarm%2Fissues%2F4%23issuecomment-445859181&data=02%7C01%7C%7C486d2365d8344792867c08d65eb567b1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636800530547856781&sdata=SiLFvqRV%2B6dc6RP%2BBU%2Fqr8kZiIC6UjX4LDfGQLdN7PY%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAQw0kne8RuuBQghZSjI0Hz-wUmYb3MR3ks5u3n-8gaJpZM4YQ2b_&data=02%7C01%7C%7C486d2365d8344792867c08d65eb567b1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636800530547856781&sdata=%2Bh1leKRWf8JtKDRcRn0u%2FKeMmSCOeUMEKX3o7u%2B%2Bwz8%3D&reserved=0.