Yale Conexis L1 Z-Wave on Smart Things

Its brand new, the battery is showing 88%.

It doesn’t actually unlock the lcok which is a relief but still a concern, incase it does unlock it self!

I see you guys talking about refreshing and updating the battery information. I don’t seem to be able to see anywhere in either the SmartThings app or the Yale app to refresh it, and it doesn’t ever seem to update in either.

My Yale app just seems to have a full battery icon (should there be a number alongside it)? And the ST app says 40% - but hasn’t changed in the first week.

Am I being dumb? Any help will be appreciated!

I’m very worried it’s just going to die and not give me any warning!

Tap the refresh tile a couple of times. It should force the lock to report the battery information to ST. If it’s less than 40% and you have a deadbolt lock I would replace it. The link describes why battery % drop drastically for deadbolt motors and can cause the lock to shutdown without warning.

Sorry, I might be being dumb, but how do I tap the refresh tile?

Interesting - thanks for the read. I don’t have a deadbolt lock. Instead I have the Yale Conexis - which is multi point. Any advice for the battery on that?

Yale seem to recommend alkaline batteries only- and am currently using the batteries which came with the lock.

Thanks for your help!

The button being referred to for refresh is the one i’ve circled in red in the following screenshot:

Okay - my app looks nothing like that! Is that SmartThings?? Ahh just googled it. Is that the ‘classic’ version?

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.