Handling of “Door lock jammed” message
Bug Report
Describe the Bug
when a door lock gets stuck, ring responds with a jammed error. Home bridge-ring does not handle this message and instead leaves the device in a spinning circle state.To Reproduce
Steps to reproduce the behavior:
- set up door lock to jam upon locking
- Attempt to lock door from home app
- See error in ring app, see spinning wheel in home app
Expected behavior
Home should also return a jammed error and show lock in prior state, in sync with the ring appScreenshots/Logs
If applicable, add screenshots and log output to help explain your problem.Additional context
Add any other context about the problem here.Homebridge Ring Config
Post homebridge-ring platform config without sensitive information
HIGHLIGHT THIS TEXT AND POST CONFIG HERE
DO NOT INCLUDE YOUR REFRESH TOKEN OR EMAIL/PASSWORD (replace them with xxx)
Environment
- OS: [e.g. Raspbian]
- Node.js: [e.g. 12.14.1]
- NPM: [e.g 6.13.4]
- homebridge-ring: [e.g 6.0.3]
- homebridge: [e.g. 0.4.50 or N/A]
- hoobs: [e.g. 0.4.50 or N/A]
I'd be happy to add support for this, and it should be possible as HomeKit supports a LockCurrentState.JAMMED value. To make it happen, I'll need you to get your lock into a "jammed" state and then follow the directions in https://github.com/dgreif/ring/wiki/Data-Discovery. Once I get a look at that data, it should be an easy addition
Hey there. I had the same question and put our Kwikset lock into a jammed state to get the info below. Happy to send over anything else that's helpful. Thanks - this plugin has been great!
{ "adapterType": "zwave", "batteryLevel": 100, "batteryStatus": "full", "categoryId": 10, "commStatus": "ok", "commandTypes": { "communication-poll": { "requiresTrust": false }, "lock.lock": { "requiresTrust": false }, "lock.unlock": { "requiresTrust": true }, "reconfigure.start": { "requiresTrust": false }, "update-node-neighbors.start": { "requiresTrust": false } }, "componentDevices": [ { "rel": "0:access-code", "zid": "xxxxxxxx-xxxx-uuid" } ], "deviceFoundTime": 1614565847395, "deviceType": "lock", "impulseTypes": { "error.lock.jammed": { "trusted": false }, "locked.by-auto-lock": { "trusted": false }, "locked.by-keypad.access-code": { "trusted": false }, "locked.by-manual": { "trusted": false }, "locked.by-one-touch": { "trusted": false }, "unlocked.by-keypad.access-code": { "trusted": false }, "unlocked.by-manual": { "trusted": false } }, "lastCommTime": 1614649624972, "lastUpdate": 1614649625306, "linkQuality": "ok", "managerId": "zwave", "manufacturerName": "Kwikset", "name": "Front Door", "pollInterval": 43200, "roomId": 7, "setupByPluginStatus": "complete", "setupByUserStatus": "complete", "subCategoryId": 0, "tags": [ "security-warning.accepted" ], "tamperStatus": "ok", "zid": "xxxxxxx-xxxx-uuid", "locked": "unknown" },
@sswany thanks for posting! The interesting bit is "locked": "unknown". Looking at the plugin, it looks like I'm already watching for "locked": "jammed" and using that to report a jammed lock. There is also support for an "unknown" state in HomeKit, which I already support. When you had it in that state, what did HomeKit show for the lock?
@TejasAntani If you get a chance, I'd be interested to see if your lock shows similar data if you get it jammed and run the data discovery tool
In that case, I did get the 'jammed' notification from Ring, but Homekit stopped spinning and said 'unknown.' I'll try again tomorrow and see if I can get something different.
@sswany based on what I see in your data, HomeKit showing 'unknown' makes perfect sense. There may be an additional event coming through ring that indicates it was jammed, but the lock doesn't seem to retain that as its "current state"
How long does the discovery script take to run? I let it go for 5 mins or so and it hasn't finished.
@TejasAntani it shouldn't take that long, only about 30-45 seconds at the most. There were some issues with a dependency recently that may be causing it to hang. Try installing the previous version of the plugin and then installing the latest version again. You can install previous versions via the homebridge ui plugin if you have it
@TejasAntani can you update to the latest version and try again?
Hi. It's still stuck on "fetching devices". Any ideas?
@TejasAntani I can't seem to recreate that issue with the data discovery tool on my end. Don't worry about running it, I'm guessing it will be the same as what @sswany reported. I think I can probably set up one of my August locks and recreate the issue on my end to get the data I need.