Problem Using Schlage BE469 Lock to Disarm HSM

Hello I'm trying to disarm HSM and change the mode to Home when a valid code is entered on my Schlage BE469 lock. Here is the rule I am using:

It will perform as expected with the garage opening but not when unlocking the deadbolt with a code.

If you do a search on this forum with that lock (or most zwave locks in general) you'll see the numerous posts of the unreliability of it, until HE gets this addressed I personally would recommend you use something else to trigger your rule.

Oops, I guess it would have been better for me to post about the same thing in THIS thread. Here's my post:

So, sounds like this isn't feasible right now. Hopefully it will be in the future.

Don't you want "Lock code entered" as the trigger? RM lets you use it as a condition, but it's probably not what most people want in that part of the rule (and to be honest, I have no idea what "any lock code" would do in this situation--when it's a condition and you use a single lock code, the truth value only changes if the last lock code that was entered is different from the one just entered).

Also, do you want it to just blindly change to Day mode and HSM: Disarm when unlocking the front door with any code or with opening the garage door? If so, you don't even need a triggered rule. Just a regular trigger will do. Set up the Trigger Events as I suggested above, then keep your current "Actions for True" as the trigger actions. If you want to check for something to be true or false before you run your actions, then you'll need a triggered rule, but right now it looks like you really just care about when the trigger events happen.

Some people do have problems with Z-Wave locks in particular, but I think this is just a problem with the truth evaluation of your rule not changing due to the way your condition/rule is set up when lock codes are used (the garage door will definitely cause a change).

I have the same lock. It was showing everyone as true when I first set up a job like yours but then went false and stayed false. If you check the events for the device it is showing who entered the code. The issue seems to be is when try to use it as a rule. I moved it to trigger with code and now have my Echo telling my wife welcome home when she enters with random greetings.

If you move it out of rules and if statements and into triggers it will work. I think it's a bug in the lock code app or Hubitat. If you need to test for it in an IF statement you could use a virtual device or global variable that gets set on a trigger for a work around for now.

1 Like

Actually, as I described above, I think you're just seeing how how lock codes in rules are designed to work. The truth evaluation will only change if the last lock code entered is different from the previous lock code. If you want something to happen (or at least be evaluated) every time a lock code is used regardless of whether it's different from the last one, you need a trigger (or a triggered rule).

I'm not sure if there's a lot of documentation on the behavior of lock codes in rules, but this post from Bruce in another thread does touch on the subject (this post plus a few more he made later in this thread): RM - Notification based on Lock code user - Help - #3 by bravenel

I'm not sure how using a virtual device or global variable would help, but maybe I just don't understand part of what you'd be trying to evaluate. You can still use rules/conditions in a triggered rule, though I'm not sure that's even necessary for the original poster's case.

1 Like

They are always false and started out both true before I started checking them. They never change and RM job logs show that.

1 Like

Is there some reason you can't use a trigger, triggered by a specific lock code (or several lock codes)?

That's what I did for my work around. If you wanted to have it all in one rule using if statements though that's a nope. So I have one rule that triggers when my wife comes home and enters her code and another rule for when I enter my code.

She gets cute normal messages, I get subnautica greetings.

I don't follow. Could you show me what you are talking about?

If I set this rule up it it will start out as TRUE for all till first time tested and then always be false.

It will also fail to trigger if you set it to be any code. But in the logs for the device and in the system logs you'll find this.

"Test: Front door deadbolt lockCode Richard" (note it will not show up if set trigger to any code only when you target codes)
followed by the IF statements both coming out false

"Condition Lock code entered on Front door deadbolt: Richard FALSE, IF-THEN (skipped)"
"Condition Lock code entered on Front door deadbolt: Yvonne FALSE, IF-THEN (skipped)"

If drop the IF statements and do this it will work.

It's a trigger, so it doesn't have true and false. Please clarify.

Probably should hide it from being selectable with IF in actions if its trigger only. Since it was selectable I thought it would be passed down with the event trigger the state it was at event.

I haven't dug into that yet. I was just trying to understand what you meant, and couldn't get past your first sentence. First things first, does this trigger when you expect it to?

Yes, the trigger works just fine for both examples. The trigger however will fail if you say any code and don't select the codes.

However, if I try to test for it in an action using the IF statement it fails to test true and is always false.

Issue 01: Lock Code fails to trigger on any code option. (works when you check for certain codes)
Example:
Lock Code trigger set to Any Code: No Event fire
Lock Code trigger to set to User1 and User 2 codes: Event fire

Issue 02: You cannot check for that value in action using the conditional IF action.
Example:
In Action IF (Lock code entered on Front Door deadbolt: Yvonne) is always false even if the trigger was Yvonne entered her code

OK, thanks for the clarification. I will investigate.

I am not able to reproduce a trigger not firing on 'Any Lock Code'. One thing to be aware of, the lock will only send the code on a valid code being entered, when it actually unlocks the lock. It's sent on with the unlock event. That won't be sent if the lock is not actually unlocked by the code.

I see the other problem, and will figure out a fix for it. Found and fixed, in the next release.

1 Like

Yeah, I see valid code in the device events but as soon as I chose any code and nothing else it won't fire off. If I have to select the codes for now I will as it isn't a big deal and it could be something funky with the lock driver. I don't know it just doesn't appear to work and I'll just give it a try again next update.

Cool.

Are you actually unlocking the lock?

Yes. When the next build comes out I'll try again and double check I'm right.