SmartThings Community

Yale Conexis L1 Z-Wave on Smart Things

Right thank you all so much! There doesn’t seem to be a refresh button on my SmartThings app (which came installed on my phone), whereas I’ve just downloaded the SmartThings classic app and there is a refresh button! 94% battery.

Thanks a lot!

Add me to the list of random erroneous unlocks, but only for one of the two L1s that I have.
I’m running the V2 module in both and got the firmware updated via the Yale module to try and solve the battery drain problem (going flat in under a week).
Interestingly the lock that used to go flat is the one that reports unlocks and doing a refresh can trigger it, so it seems to coincide with the health check polls from the Hub.
I’m running the local Zwave lock driver and have also tried the without codes version.

1 Like

Same things occurring with my Conexis L1 lock. I’ve been experiencing ‘ghost unlocks’ for some time and have kinda got used to it doing that. It seems to happen just before the hour and I have no idea why.

Also, in the last couple of months my lock has decided that it wants to deplete fresh lithium batteries every three weeks whilst reporting 100% fully charged. Of course it likes to tell me it’s at 1% when the batteries no longer have the power to open the door.

Kinda frustrating.

Some folks have had better luck when they do a factory reset. M
Or you can ask Yale to see if they can send you a replacement zwave module.

1 Like

It’s definitely worth phoning Yale support (they never respond online) to get the firmware update module, as my front door lock was eating Duracells in under a week. Having updated the firmware, they last much longer, but it hasn’t fixed the phantom unlocks, nor has a later Zwave 2 module 33.16 Vs 32.16.
It’s looking more like it’s one lock, as the back door is fine.
Phantom unlocks definitely coincide with polls as I tried the ZWave Lock without codes driver, which polls every hour and they match the polls exactly.
I’ve also done a complete factory reset, after updating the firmware.
It’s very annoying as I run routine on unlocks…

After contemplating the logging for the door lock when it generates a phantom unlock (or lock) event, it appears that it’s being generated from the DoorLockOperationReport.
The AlarmReport seems to be getting the correct lock state when locking or unlocking manually or via the RFID keys, so for the moment I am running with DoorLockOperationReport disabled, so that I don’t get the spurious lock state change events.
My suspicion is that Yale have a bug in the firmware for DoorLockOperationReport, so it’s not returning the correct lock state of locked or unlocked, but simply toggling each time it’s run.

There is an issue with the Yale firmware for some locks with generates a DoorLockOperationReport before the AlarmReport (normally it should come after) which causes issues with missing information and some side effects by the way’s it’s currently handled.

What is your lock’s raw description ? (you can find this in the IDE -> My Devices -> Click on your lock -> Raw Description)

As I said, I’ve got two locks, but only the front door gets the phantom unlocks for a reason known only to SmartThings, as the hub is mounted centrally between them, although the front is shielded by being around the conservatory wall.

Front Door - phantom unlocks:

Data * # MSR: 0129-6600-0002

  • fw: 33.16

  • manufacturer: Yale

  • networkSecurityLevel: ZWAVE_S0_DOWNGRADE

Raw Description # zw:Fs type:4003 mfr:0129 prod:6600 model:0002 ver:33.16 zwv:4.61 lib:03 cc:5E,55,98,9F sec:71,8A,8B,4C,70,86,72,5A,73,80,62,85,59,7A,6C role:07 ff:8300 ui:8300

Back Door - OK

Data * # MSR: 0129-6600-0002

  • fw: 33.16

  • manufacturer: Yale

  • networkSecurityLevel: ZWAVE_S0_DOWNGRADE

Raw Description # zw:Fs type:4003 mfr:0129 prod:6600 model:0002 ver:33.16 zwv:4.61 lib:03 cc:5E,55,98,9F sec:71,8A,8B,4C,70,86,72,5A,73,80,62,85,59,7A,6C role:07 ff:8300 ui:8300

Both are running firmware 1.2 and were factory reset after being updated.

I tweeted Yale and after a bit of arm twisting they sent me a new module next day. Going to install it later tonight. Hoping things improve at least re: battery usage.

@RBoy Do we think the phantom unlocks and battery reporting can be improved or is this controlled by the device itself?

Graham

There are two models that exhibit this problem and this is one of them.

How did you turn off the DoorLockOperationReport?

Let me see if I understand when this issue happens:

  1. You unlock using a code (reports unlocked)
  2. You immediately manually lock the door (reports locked)
  3. After a while it suddenly reports unlocked

Is that sequence correct?

I’m not sure about others but I’m not sure my phantom unlocks are dependant on a previous code unlock. I have experienced repeated phantom door unlocks through the night…but luckily the door remains locked!

I mentioned this issue about a year ago - still facing it but less frequent. No idea why it’s less frequent though

I turned off DoorLockOperationReport by just returning from it, like they were doing for the August lock when it detects an 0xFE, but in my case all the time, so no lock / unlocks get processed in DoorLockOperationReport.
For my front door, it was locked and then at times corresponding to when it was doing a battery level check/ health check, it would report a phantom “unlock” until the next poll or you do a manual refresh when it would switch back to locked.

This is the log I got earlier with your device driver. I didn’t touch the door, but might have done a manual refresh in the app to try and get it to show as locked, which is what it was all along.

ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:25: info [DTH] parse() - returning result=[name:battery, unit:%, value:62, descriptionText:Battery is at 62%, isStateChange:true, displayed:true, linkText:Front Door NP]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:25: info Battery level 62%
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:25: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.batteryv1.BatteryReport)' with cmd = BatteryReport(batteryLevel: 62)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:24: debug Sending cached lock operation: [descriptionText:Locked, name:lock, value:locked, data:[lockName:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:21: info [DTH] parse() - returning result=[:]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:21: trace [DTH] Executing 'zwaveEvent(DoorLockOperationReport)' with cmd = DoorLockOperationReport(lockTimeoutMinutes: 0, doorLockMode: 255, insideDoorHandlesMode: 0, doorCondition: 1, outsideDoorHandlesMode: 0, lockTimeoutSeconds: 0)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:16: info [DTH] parse() - returning result=[[name:beeper, value:enabled, descriptionText:Audio enabled, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:15: trace ConfigurationReport ConfigurationReport(parameterNumber: 1, scaledConfigurationValue: 3, reserved11: 0, size: 1, configurationValue: [3])
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:08: info [DTH] parse() - returning result=[[name:autolock, value:enabled, descriptionText:Auto lock enabled, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:54:08: trace ConfigurationReport ConfigurationReport(parameterNumber: 2, scaledConfigurationValue: -1, reserved11: 0, size: 1, configurationValue: [255])
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:42: info [DTH] parse() - returning result=[[descriptionText:Is associated, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:42: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.associationv2.AssociationReport)' with cmd = AssociationReport(reportsToFollow: 0, maxNodesSupported: 1, nodeId: [1], groupingIdentifier: 1)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:38: info [DTH] parse() - returning result=[[descriptionText:Is associated, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:38: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.associationv2.AssociationReport)' with cmd = AssociationReport(reportsToFollow: 0, maxNodesSupported: 1, nodeId: [1], groupingIdentifier: 1)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:37: debug Getting Sensitivity Level, current Alarm Mode
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:37: trace Found Yale
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:37: debug Getting keypad state
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:36: warn Unsupported device with MSR 0129-6600-0002, Alarm feature not supported
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:36: debug Getting Alarm Level
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:36: info Found Yale, 4-8 digit pin lengths
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:36: debug Getting configured user pin code length
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:36: trace Current user pin code length null
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:36: debug Found Yale Conexis Lock
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:53:36: debug Refresh called, Device MSR is 0129-6600-0002
[zw:Fs, type:4003, mfr:0129, prod:6600, model:0002, ver:33.16, zwv:4.61, lib:03, cc:[5E, 55, 98, 9F], sec:[71, 8A, 8B, 4C, 70, 86, 72, 5A, 73, 80, 62, 85, 59, 7A, 6C], role:07, ff:8300, ui:8300, endpointInfo:[]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:54: debug Sending cached lock operation: [descriptionText:Unlocked, name:lock, value:unlocked, data:[lockName:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:54: error java.util.concurrent.TimeoutException: Execution timed out after 40 units. Start time: Wed Apr 17 13:51:53 UTC 2019 @line -1 (doCall)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:54: error java.util.concurrent.TimeoutException: Execution time exceeded 20 app execution seconds: 64657700322786 @line -1 (run)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:53: info [DTH] parse() - returning result=[name:battery, unit:%, value:63, descriptionText:Battery is at 63%, isStateChange:true, displayed:true, linkText:Front Door NP]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:53: info Battery level 63%
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:53: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.batteryv1.BatteryReport)' with cmd = BatteryReport(batteryLevel: 63)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:45: info [DTH] parse() - returning result=[:]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:45: trace [DTH] Executing 'zwaveEvent(DoorLockOperationReport)' with cmd = DoorLockOperationReport(lockTimeoutMinutes: 254, doorLockMode: 0, insideDoorHandlesMode: 0, doorCondition: 2, outsideDoorHandlesMode: 1, lockTimeoutSeconds: 254)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:43: info [DTH] parse() - returning result=[[name:beeper, value:enabled, descriptionText:Audio enabled, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:43: trace ConfigurationReport ConfigurationReport(parameterNumber: 1, scaledConfigurationValue: 3, reserved11: 0, size: 1, configurationValue: [3])
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:34: info [DTH] parse() - returning result=[[name:autolock, value:enabled, descriptionText:Auto lock enabled, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:34: trace ConfigurationReport ConfigurationReport(parameterNumber: 2, scaledConfigurationValue: -1, reserved11: 0, size: 1, configurationValue: [255])
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:08: info [DTH] parse() - returning result=[[descriptionText:Is associated, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:08: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.associationv2.AssociationReport)' with cmd = AssociationReport(reportsToFollow: 0, maxNodesSupported: 1, nodeId: [1], groupingIdentifier: 1)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:04: info [DTH] parse() - returning result=[[descriptionText:Is associated, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:04: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.associationv2.AssociationReport)' with cmd = AssociationReport(reportsToFollow: 0, maxNodesSupported: 1, nodeId: [1], groupingIdentifier: 1)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:03: debug Sending cached lock operation: [descriptionText:Unlocked, name:lock, value:unlocked, data:[lockName:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:02: debug Getting audio/beeper state
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:02: debug Getting Sensitivity Level, current Alarm Mode
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:02: warn Unsupported device with MSR 0129-6600-0002, Alarm feature not supported
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:02: debug Getting configured user pin code length
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:02: debug Getting Alarm Level
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:02: info Found Yale, 4-8 digit pin lengths
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:52:02: trace Current user pin code length null
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:48: info [DTH] parse() - returning result=[name:battery, unit:%, value:59, descriptionText:Battery is at 59%, isStateChange:true, displayed:true, linkText:Front Door NP]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:48: info Battery level 59%
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:48: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.batteryv1.BatteryReport)' with cmd = BatteryReport(batteryLevel: 59)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:44: info [DTH] parse() - returning result=[:]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:44: trace [DTH] Executing 'zwaveEvent(DoorLockOperationReport)' with cmd = DoorLockOperationReport(lockTimeoutMinutes: 254, doorLockMode: 0, insideDoorHandlesMode: 0, doorCondition: 2, outsideDoorHandlesMode: 1, lockTimeoutSeconds: 254)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:39: info [DTH] parse() - returning result=[[name:beeper, value:enabled, descriptionText:Audio enabled, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:39: trace ConfigurationReport ConfigurationReport(parameterNumber: 1, scaledConfigurationValue: 3, reserved11: 0, size: 1, configurationValue: [3])
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:32: info [DTH] parse() - returning result=[[name:autolock, value:enabled, descriptionText:Auto lock enabled, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:32: trace ConfigurationReport ConfigurationReport(parameterNumber: 2, scaledConfigurationValue: -1, reserved11: 0, size: 1, configurationValue: [255])
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:06: info [DTH] parse() - returning result=[[descriptionText:Is associated, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:06: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.associationv2.AssociationReport)' with cmd = AssociationReport(reportsToFollow: 0, maxNodesSupported: 1, nodeId: [1], groupingIdentifier: 1)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:02: info [DTH] parse() - returning result=[[descriptionText:Is associated, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:02: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.associationv2.AssociationReport)' with cmd = AssociationReport(reportsToFollow: 0, maxNodesSupported: 1, nodeId: [1], groupingIdentifier: 1)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: trace Found Yale
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: debug Getting Sensitivity Level, current Alarm Mode
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: trace Found Yale
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: trace Found Yale
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: debug Getting keypad state
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: warn Lock Alarm mode not configured or not supported, deferring getting Alarm sensitivity level.
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: trace Found Yale
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: trace Current user pin code length null
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:49:00: debug Getting configured user pin code length
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:48:59: debug Found Yale Conexis Lock
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:48:59: debug Refresh called, Device MSR is 0129-6600-0002
[zw:Fs, type:4003, mfr:0129, prod:6600, model:0002, ver:33.16, zwv:4.61, lib:03, cc:[5E, 55, 98, 9F], sec:[71, 8A, 8B, 4C, 70, 86, 72, 5A, 73, 80, 62, 85, 59, 7A, 6C], role:07, ff:8300, ui:8300, endpointInfo:[]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:44:44: debug Sending cached lock operation: [descriptionText:Unlocked, name:lock, value:unlocked, data:[lockName:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:53: info [DTH] parse() - returning result=[name:battery, unit:%, value:60, descriptionText:Battery is at 60%, isStateChange:true, displayed:true, linkText:Front Door NP]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:53: info Battery level 60%
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:53: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.batteryv1.BatteryReport)' with cmd = BatteryReport(batteryLevel: 60)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:50: info [DTH] parse() - returning result=[:]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:50: trace [DTH] Executing 'zwaveEvent(DoorLockOperationReport)' with cmd = DoorLockOperationReport(lockTimeoutMinutes: 254, doorLockMode: 0, insideDoorHandlesMode: 0, doorCondition: 2, outsideDoorHandlesMode: 1, lockTimeoutSeconds: 254)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:45: info [DTH] parse() - returning result=[[name:beeper, value:enabled, descriptionText:Audio enabled, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:45: trace ConfigurationReport ConfigurationReport(parameterNumber: 1, scaledConfigurationValue: 3, reserved11: 0, size: 1, configurationValue: [3])
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:37: info [DTH] parse() - returning result=[[name:autolock, value:enabled, descriptionText:Auto lock enabled, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:37: trace ConfigurationReport ConfigurationReport(parameterNumber: 2, scaledConfigurationValue: -1, reserved11: 0, size: 1, configurationValue: [255])
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:11: info [DTH] parse() - returning result=[[descriptionText:Is associated, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:11: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.associationv2.AssociationReport)' with cmd = AssociationReport(reportsToFollow: 0, maxNodesSupported: 1, nodeId: [1], groupingIdentifier: 1)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:07: info [DTH] parse() - returning result=[[descriptionText:Is associated, isStateChange:false, displayed:false, linkText:Front Door NP]]
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:07: trace [DTH] Executing 'zwaveEvent(physicalgraph.zwave.commands.associationv2.AssociationReport)' with cmd = AssociationReport(reportsToFollow: 0, maxNodesSupported: 1, nodeId: [1], groupingIdentifier: 1)
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:05: trace Found Yale
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:05: warn Unsupported device with MSR 0129-6600-0002, Alarm feature not supported
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:05: debug Getting configured user pin code length
ebbec6c9-7d48-45b8-8b3e-b58a81400794 14:42:05: trace Current user pin code length null

Can you elaborate on this a little. I didn’t understand what that meant. Do you see the unlock issue when following the steps I had mentioned above?

Sure.

We generally unlock using an rfid key each. I’m not sure the phantom unlocks are related to previous rfid interactions as they often happen many hours later and very randomly.

If I had a guess, I would say it seems like some hourly service checking the status of the lock but in some cases reporting it as a phantom unlock event…I’m saying this because they generally happen about 10 minutes to the hour each time.

How did you update them? :astonished:

I phoned Yale support and complained about the battery running down and beeping in the rain and they sent me a firmware update module in the post, which I had to send back after doing the upgrade.

I used to have this problem. But it has gone away now. I mostly get this problem when battery is close to low. I’ve managed to get a set of batteries to last over 6 months. One thing I noticed is that this problem comes back every time I try and allow the lock to be accessed by any other Apps. So now I have not allowed any apps access to it and it’s been fine. So this might be something worth checking

I’ve had a Yale Keyfree lock which has been working brilliantly with RBoy App & Device handler for 3 years now. I recently bought a Yale Conexis L1 for the back door and have noticed I too am getting ‘ghost’ unlocks & locks !!!

I’ve removed the lock from the Rboy app and only have my Front door in there now, and have reverted to the stock smartthings Z-Wave Lock device handler (https://github.com/SmartThingsCommunity/SmartThingsPublic/blob/master/devicetypes/smartthings/zwave-lock.src/zwave-lock.groovy) to see if that rectifys the ghost unlocks.

So far it seems fine, but it’s only been a few hours at the moment.

It’s been 2 days since changing to the stock smartthings device handler, and there hasn’t been a single ‘ghost’ unlock.

Can only presume there is something that may need checking with the Rboy device handler?
Have to mention that Rboy’s is still installed & running perfectly on my Keyfree lock though.

It appears to be related to timing issue between the lock, mesh and the platform. There’s a firmware bug with 2 models (I had mentioned above), the Yale Conexis and Keyless Connected where the firmware generates the events reports in the wrong order (it should report the user code first and then the lock event but these 2 defective model firmwares do it in the reverse order). There is a patch present in the stock and custom DTH to handle the out of order notifications but due to timing differences from the mesh, internet, hub and the platform it has different effects for different folks. For some folks it works fine with one lock and has a problem with another lock (see above), some folks it works well with local processing, while other it works fine with custom DTH. In the lab here, we don’t see the issue with our Conexis but others do see it. The local DTH runs a little faster where the platform DTH’s run slower with higher latency which sometimes delays the processing quite a bit. You can disable the patch but for the locks with the defective firmware then you’ll lose the user notification (because it comes out of order).
For some folks doing a hard reset works, other using new batteries (it seems to reduce Z-Wave delays/improve response times), adding a repeater close to the lock helps some folks, while others use local DTHs for faster processing. It’s quite a mixed set of results unfortunately, YMMV.
This firmware bug appears to have been fixed by Yale in the latest firmware as confirmed by some users. Ideally you should contact Yale and ask them to send a new zwave module with the latest firmware that fixes this out of order notification and then disable the patch and then it should behave like a regular lock :slight_smile: