Schlage BE469 Zwave (non plus) locks terrible at reporting lock status (don't report or varying delays from short to loooong)

I’ve noticed too when several announcement messages are sent within a second or two they don’t play in order on Alexa. Since Alexa is a cloud connected device that creates some issues with processing delays, so in between the cloud processing I think it just naturally losses track of which is first when they are sent too close together.

The only idea I can think of is to add a delay node with a “rate limit”, so that messages are only sent every five seconds. That way, the first message goes right through, but a second message will wait 5 seconds before going out to Alexa. That will slightly delay the second message, but I think that would be better then them going out of order. You can set them to “queue” so it doesn’t discard the announcements, it just holds them for the few seconds before sending them out.

1 Like

@mwav3 As always awesome advice. I will experiment with that. I already have 1 or 2 delays in the flow to allow one event to override the other but the way I had done it was that both door and lock update the same global variables just prior to a delay. The hope was that the door unlocked event would not get announced given the door open event happens so fast afterwards. I believe that part works but not perfectly. The rate limiting method may even solve both issues… I’ve got some testing to do…

This seems to have solved the issue but I am only a couple days into testing it:

[{"id":"51842ffcd3eb0fe2","type":"server-state-changed","z":"22924e93ed954a8e","name":"Patio Door Lock","server":"6f1799ba.17e938","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"lock.patio_door_lock","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"locked","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":true,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":140,"y":860,"wires":[["d02f9864197d1e25"],["4ac076533745c043"]]},{"id":"71cb21e6ed6b55b9","type":"api-current-state","z":"22924e93ed954a8e","name":"Patio Door Lock - locked?","server":"6f1799ba.17e938","version":3,"outputs":2,"halt_if":"locked","halt_if_type":"str","halt_if_compare":"is","entity_id":"lock.patio_door_lock","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"lock_state","propertyType":"msg","value":"","valueType":"entityState"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":970,"y":820,"wires":[["4fe487d897eb59a6"],["163d44f3692ba893"]]},{"id":"d02f9864197d1e25","type":"api-call-service","z":"22924e93ed954a8e","name":"Patio Door Lock >> refresh","server":"6f1799ba.17e938","version":5,"debugenabled":false,"domain":"zwave_js","service":"refresh_value","areaId":[],"deviceId":[],"entityId":["lock.patio_door_lock"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":380,"y":800,"wires":[["073416794055bd5e"]]},{"id":"4fe487d897eb59a6","type":"change","z":"22924e93ed954a8e","name":"5: C & L","rules":[{"t":"set","p":"msg_case","pt":"msg","to":"5","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1200,"y":800,"wires":[["ffb557443cf6ac84"]]},{"id":"784605f84db31bba","type":"function","z":"22924e93ed954a8e","name":"Create Alert","func":"var alert_name = \"Door Status Alert\"\nvar door = \"Patio Door\"\nvar door_state = global.get('patio_door_state')\nvar lock_state = global.get('patio_door_lock_state')\nvar what_changed = global.get('patio_door_last_change')\nvar msg_case = msg.msg_case\nvar last_msg_case = global.get('patio_door_last_msg_case')\nvar suppress_alert = false\n\n/*\nDoor open / on  |  Door closed / off\nLock locked     |  Lock unlocked\n\nC-Closed / O-Open / L-Locked / U-Unlocked\n\nNormal Sequence\n1 D: Closed   L: Locked     C: na  - Starting point, no message\n2 D: Closed   L: *Unlocked* C: L   - Door unlocked\n3 D: *Open*   L: Unlocked   C: D   - Door open\n4 D: *Closed* L: Unlocked   C: D   - Door closed\n5 D: Closed   L: *Locked*   C: L   - Door closed and locked\n*/\n\nglobal.set(\"patio_door_last_msg_case\", msg_case);\n\nswitch (msg_case) {\n    case \"0\":\n        suppress_alert = true\n        break;\n    case \"1\":\n        var final_msg = `${door}` + \" or lock state is unavailable.\"\n        break;\n    case \"2\":\n        var final_msg = `${door}` + \" is unlocked.\"\n        break;\n    case \"3\":\n        var final_msg = `${door}` + \" is open.\"\n        break;\n    case \"4\":\n        var final_msg = `${door}` + \" is closed.\"\n        break;\n    case \"5\":\n        var final_msg = `${door}` + \" is closed and locked.\"\n        break;\n    case \"6\":\n        var final_msg = `${door}` + \" is locked but the door is open. Please unlock to avoid frame damage.\"\n        break;\n    default:\n\n}\n\nif (suppress_alert == false || msg_case != \"0\") {\n    var msg1 = {\n        \"payload\":\n        {\n            \"data\":\n            {\n                \"message\": `${final_msg}`,\n                \"title\": `${alert_name}`,\n                \"data\": {\n                    \"type\": \"tts\"\n                }\n            }\n        }\n    }\n    //var debug_msg = `${final_msg}`\n\n    var msg2 = { payload: `${msg_case}` + \": \" + `${final_msg}` };\n\n    return [msg1, msg2];\n}","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1510,"y":800,"wires":[["5c34aa4243f3a8e9","ee2633c185bca307"],["819cd6919690d243"]]},{"id":"819cd6919690d243","type":"debug","z":"22924e93ed954a8e","name":"debug 7","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1680,"y":860,"wires":[]},{"id":"ffb557443cf6ac84","type":"trigger","z":"22924e93ed954a8e","name":"500ms","op1":"","op2":"","op1type":"nul","op2type":"payl","duration":"500","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1350,"y":800,"wires":[["784605f84db31bba"]]},{"id":"ee2633c185bca307","type":"link out","z":"22924e93ed954a8e","name":"Play Patio Door Alert","mode":"link","links":["7d27c9ed96a7fe0f"],"x":1720,"y":800,"wires":[],"l":true},{"id":"5c34aa4243f3a8e9","type":"debug","z":"22924e93ed954a8e","name":"debug 8","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1680,"y":740,"wires":[]},{"id":"edb5eb9ad690d73a","type":"link out","z":"22924e93ed954a8e","name":"Play Backyard Gate Alert","mode":"link","links":["7d27c9ed96a7fe0f"],"x":1710,"y":660,"wires":[],"l":true},{"id":"a8ad65d4e90a36e9","type":"function","z":"22924e93ed954a8e","name":"Create Alert","func":"var dog_escape_msg = \"Attention! Backyard gate is open so dog can escape.\"\nvar alert_name = \"Dog Potential Escape Alert\"\n\n\nvar payload = {\"data\":\n{\n \"message\": `${dog_escape_msg}`,\n \"title\": `${alert_name}`,\n \"data\": {\n \"type\": \"tts\"\n }\n}\n}\nmsg.payload = payload\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1490,"y":660,"wires":[["edb5eb9ad690d73a"]]},{"id":"effe1446ad83724d","type":"api-current-state","z":"22924e93ed954a8e","name":"Backyard Gate - open?","server":"6f1799ba.17e938","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.backyard_gate","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":730,"y":680,"wires":[["a8ad65d4e90a36e9"],[]]},{"id":"7873bd3fcf092a76","type":"switch","z":"22924e93ed954a8e","name":"Open / Closed","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":500,"y":680,"wires":[["effe1446ad83724d"],[]]},{"id":"6d5e223249201ff9","type":"delay","z":"22924e93ed954a8e","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":320,"y":680,"wires":[["7873bd3fcf092a76"]]},{"id":"667458a8d55a5ac4","type":"server-state-changed","z":"22924e93ed954a8e","name":"Backyard Gate","server":"6f1799ba.17e938","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.backyard_gate","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":true,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":140,"y":620,"wires":[["7c4ca5dc811dc1cf"],[]]},{"id":"695fc23dc274fb2d","type":"api-current-state","z":"22924e93ed954a8e","name":"Patio Door - open?","server":"6f1799ba.17e938","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.patio_door","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":710,"y":620,"wires":[["a8ad65d4e90a36e9"],[]]},{"id":"7c4ca5dc811dc1cf","type":"delay","z":"22924e93ed954a8e","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":320,"y":620,"wires":[["695fc23dc274fb2d"]]},{"id":"073416794055bd5e","type":"ha-wait-until","z":"22924e93ed954a8e","name":"Patio Door Lock - locked? - 1.5s","server":"6f1799ba.17e938","version":2,"outputs":2,"entityId":"lock.patio_door_lock","entityIdFilterType":"exact","property":"state","comparator":"is","value":"locked","valueType":"str","timeout":"1500","timeoutType":"num","timeoutUnits":"milliseconds","checkCurrentState":true,"blockInputOverrides":true,"outputProperties":[],"entityLocation":"data","entityLocationType":"none","x":670,"y":800,"wires":[["4fe487d897eb59a6"],["71cb21e6ed6b55b9"]]},{"id":"163d44f3692ba893","type":"change","z":"22924e93ed954a8e","name":"4: C","rules":[{"t":"set","p":"msg_case","pt":"msg","to":"4","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1190,"y":840,"wires":[["ffb557443cf6ac84"]]},{"id":"b50c67b2697af741","type":"server-state-changed","z":"22924e93ed954a8e","name":"Patio Door","server":"6f1799ba.17e938","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.patio_door","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":true,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":160,"y":760,"wires":[["5c85c51ebdb10cdb","6d5e223249201ff9"],["d02f9864197d1e25"]]},{"id":"5c85c51ebdb10cdb","type":"change","z":"22924e93ed954a8e","name":"3: O","rules":[{"t":"set","p":"msg_case","pt":"msg","to":"3","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1190,"y":760,"wires":[["ffb557443cf6ac84"]]},{"id":"f06b0d0fd1d1d4c6","type":"change","z":"22924e93ed954a8e","name":"6: O & L","rules":[{"t":"set","p":"msg_case","pt":"msg","to":"6","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1200,"y":720,"wires":[["ffb557443cf6ac84"]]},{"id":"4a6349972fb6c634","type":"change","z":"22924e93ed954a8e","name":"2: U","rules":[{"t":"set","p":"msg_case","pt":"msg","to":"2","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1190,"y":880,"wires":[["ffb557443cf6ac84"]]},{"id":"4ac076533745c043","type":"ha-wait-until","z":"22924e93ed954a8e","name":"Patio Door - closed? - 1.5s","server":"6f1799ba.17e938","version":2,"outputs":2,"entityId":"binary_sensor.patio_door","entityIdFilterType":"exact","property":"state","comparator":"is","value":"off","valueType":"str","timeout":"1500","timeoutType":"num","timeoutUnits":"milliseconds","checkCurrentState":true,"blockInputOverrides":true,"outputProperties":[],"entityLocation":"data","entityLocationType":"none","x":380,"y":880,"wires":[[],["06270a8572472812"]]},{"id":"06270a8572472812","type":"api-current-state","z":"22924e93ed954a8e","name":"Patio Door - open?","server":"6f1799ba.17e938","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.patio_door","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":630,"y":880,"wires":[[],["4a6349972fb6c634"]]},{"id":"6f1799ba.17e938","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]

I was trying to keep the node spaghetti simple and do more in the function node but given the door and lock messages have random timing, I had to sort out what was actually happening outside of the function node which now only plays the correct message. The waits and delays are there to try to avoid pointless alerts such as unlocked door when it typically opens (and is therefore obviously unlocked) immediately afterwards. It also gives time for the slower locks to report.

The “O & L” is not connected as that requires added logic that I have not worked on yet and would likely introduce some complications… It is when the lock is locked but the door is open which would result in door frame damage… problem is I need to know for certain that the lock locked AFTER the door was opened because I otherwise get that alert when the door opens and the lock has not reported unlocked yet… but that may not be true in this latest revision of the flow as I don’t even check the lock when the door opens… cause it is obviously unlocked.

Sorry to bring back 1.5 y/o thread but how did you add the lock to HA in the first place?

I have zooz 800 usb stick and BE469 non-plus lock. I can’t seems to add the lock to HA at all. I added Zwave JS UI, generated keys, then I added integration, now I am adding device, I go to the lock, hit schlarge button, enter 6 digit programming key, hit 0 and after several seconds the red checkmark flashes.
Tried at least 10 times.

If this is the non plus version you MUST pair the lock within 6 inches of the coordinator. It uses whisper mode in an attempt to secure the key.

If you use the ZP version this isn’t necessary.

1 Like

It is non-plus. So I just hold the HA box with Zooz stick right next to it?
OK, what else should I be aware of? Should I use s0 instead of S2?

I wrote a whole new post, detailing what I did - could you please take a look and give me a suggestion?

The 469 Non plus ONLY supports S0 whisper join. So you MUST use S0 (or it wont exchange the lock keys correctly) and S2 didn’t exist when this thing was originally built. Whisper Join means within 6" (they turn the radio signal strength WAY down on purpose). I have one Non plus left - my others have been replaced with ZPs. For that one lock and my garage door openers I have a 50’ LAN cable so I can bring my actual HA box and coordinator next to the device - then I just stick my ZWave coordinator to the lock (another good reason to have the coordinator on a USB extension) with blue painters’ tape so I can enter the codes.

  • Then before you start anything run a general exclude procedure on the lock just to make sure the ZWave module doesn’t think it is joined anywhere (auto exclude on factory reset didn’t get added until the ZWave Plus spec so it’s not in the non-plus lock)
  • Then the factory reset on the lock.
  • *IF you’re using JSUI - go into the ZWave config (settings > Z-Wave > Increase Node Report Timeout and enable it - this lock is slow to report - you’ll need this on during the join and anytime you want to re-interview the lock, and possibly for Keymaster to get the codes if you use it)
  • THEN start your inclusion process.

Once all that’s done, I dismantle the tape job - move my HA box back to its home and run a route repair on the lock to ensure it has a good route back to the now moved (as far as the lock is concerned) coordinator… You can turn off slow report mode in JSUI if you turned it on, just remember you need it ON to interview this lock.

See if that does it.

These are quite detailed instructions. Thank you. Question - if I am successful, will it be a problem if the HA box with the stick is about 7 ft and one door away?
These are current settings below. Anything else needs to be changed?

Also, exclusion - do I still need to run it either from the Zwave JS UI or from Settings->devices->Zwave? There is only one node and it is the stick.

How do I see the log of messages exchanged? Basically - is the radio alive or dead?

Possibly.

Personally I use 20’ between nodes for planning - you’re well within that but… Non plus locks work BEST if there’s a beaming capable repeater within repeating distance (in almost every lock I’ve ever done I put a ZWave switch in the porch light next to that lock - that’s enough to do it) so it can store and forward messages as the lock naps -it doesn’t exactly sleep but it’s not full power awake either. If you see it drop or lose messages - make sure you have a beaming capable repeater (almost all powered devices these days) within 10’ of the lock. Yes your coordinator is within 10’ but the store and forward function is important if the stick gets busy.

Side note -
Zwave is a mesh network - it relies on having multiple nodes, my STRONG suggestion is more repeaters… One node usually ends in sadness. Go buy more home automation stuff!

Rest of that looks fine.

See the icon that looks like a bug (my spouse thinks its a weird traffic light) in Zwave JSUI? Go there, hit start. You can watch the entire process.

OK, once again thank you very much. I don’t plan (yet) to add any more Zwave devices - it will be this stick and the lock.

I already have Sonoff Zigbee dongle and about 15 Zigbee devices (mostly temp sensors and energy meters) already. And plan to add SD-radio dongle and run RTL433. And plan to add Google Coral USB stick and add frigate, but this will be in summer.

One last question - when adding devices, is this the right setting to choose?

only if you NEED it (and in this case yes)

You are my hero. Thank you very much!

And what it is absolutely essencial to do factory reset of the lock and do unenrolling after that and confirm that after unenrolling the green checkmark is displayed. Do enrolling after that. I would not know that unless you told me.

BTW, regarding the sensors from the lock displayed by HA - which from the below is relevant? I guess I can’t set/unset unlock codes remotely?

1 Like

Look up an integration in HACS called Keymaster to set and manage the codes.

The control at the top is the deadbolt itself. The rest are various sensors and settings.

@NathanCu - I am always impressed by the quality of your answers! Hats off!

I still have 3 of these locks as I’ve been waiting for a new revision (800 series) or a Matter compliant version to be released. These locks have worked very well but I can’t wait to get the benefits of updated electronics (mostly speed, reliability, easier pairing, etc). For this reason, I might just stick with the same brand and product line for the new locks even though I’ve seen quite a few locks on the market with interesting features. One for example is the Yale lock with replaceable radios… The lock can easily last a decade but I wouldn’t say the same for evolving radios so being able to upgrade it without replacing the entire lock is very appealing.

If you were to suggest a new, existing or upcoming lock, what would you recommend? Fancy features are nice but the most important will always be long battery life, fast response to commands, fast updates, modern radios/protocols, and last (lol) safety (well designed lock).

Edit: While Keymaster was impressive in terms of features, it seemed to be the cause of a number of issues that made the locks slow/unreliable. Maybe it was just a coincidence, but once I removed it my locks became stable and trouble free. In the end, I only used it for setting codes which I have since moved to Node Red.

So today I discovered that keybard does not work, while surprisingly remote lock unlock via HA/Keymaster works.

Battery level in HA shows 97% and that has not changed for >1 month. Batteries were replaced 2 months ago.

I replaced batteries and keypad started working again and battery status at HA is now 100%. I measured voltage on the pack and it shows 5.7V, new batteries pack show 6.68V.

I guess replacing batteries every 2 months are norm for these locks?

No. Mine last 8. (three locks, that’s an average)

If you’re lasting 2 months, how’s signal tk the lock. Have you realigned the bolt recently?

If you have signal issue s the radio will always be active

If you have a misalignment it goes into high power mode to ensure the lock closes and that takes an order of magnitude more ‘juice’

So do you have a beaming capable repeater near the lock and have you realigned the jamb lately.

mmm… Realigning? How? And how do I check ‘signal tk’ and what it is?

The Zooz 800 stick/HA box is 6ft away from the lock.

Here is what I see on HA screen in the device section

Lock is facing south, so sun is shining to it most of the day, but definitely not heating to 110F and inside right now is 64F

1 the bolt MUST engage the striker plate with no effort and only your thumb and forefinger. If you can’t do that it’s misaligned.

Move the striker plate around until the bolt engages without rubbing.

This requires taking the strike plate from the door and re-drilling the holes for the plate mount screws. A trick to fill the old holes: hammer a golf tee coated in wood glue into the old hole then break it off. When its dry shave the remaining tee flush wit the doorframe and then re drill.

These locks are designed to relay Theroux a beaming capable repeater (yes even right next to the coordinator) the beaming repeater stores and forwards the traffic intended for the lock whole it sleeps (it doesn’t sleep like a standard battery device but it does nap a little) without it the lock wakes up a lot more to handle messages (at least that’s how it was described to me) there’s a post by RBoy on the Samsung SmartThings community titled ‘why do I need a beaming capable repeater if my lock is right next to the hub’

Those are the most common issues.