RM 4 Possible Bug with Lock Code Trigger

@bravenel

I found a possible bug with RM 4, I'm on the latest version currently. When I create a rule using a Lock Code then try to put it in a Conditional Action, I'm getting an error everytime. I'm tried this 3 different times on RM 4, it does seem to work fine on RM 3 so created rule on there for now.

Logs:
[app:1067] (http://10.100.11.130/logs/past#app1067)2019-07-16 11:05:12.291 pm errorjava.lang.IllegalArgumentException: Command 'currentValue' is not supported by device. (selectActions)

How to reproduce:

  1. Create a RM4 rule using a Lock Code as a trigger

  2. Under Actions, create a Conditional Action with an If statement.

  1. Pick "--> New Condition"

  1. An error will display like shown below.

I can confirm. A workaround for this if you want to use RM 4.0....select some other trigger second. When you go to create the conditional action it will select that as the condition rather than the lock. Then you can go back in and delete the dummy trigger.

1 Like

Tagging @bravenel to investigate this.

I will look into it. It probably should not be attempting to create a condition for a lock code.

1 Like

You mean that the trigger should be the person who enters the lock code instead of any lock code being the trigger? That makes a lot more sense.

@bfara83 @bravenel was this ever fixed? I just received a new Schlage Zigbee lock (using Generic Zigbee Lock driver) and I created rule to alert me when a specific lock code was entered in the lock and it doesn't fire. I am not getting any error messages and there are no logging events either from the rule. I tried both RM4.0 and RM3.0 and neither work.

I have a Z-wave lock too and tried it as well and it also didn't fire the rule.

As usual, you have to show the rule so we have something to go on.

@bravenel Pretty simple trigger as I was just trying to confirm this works before adding complexity. Even though logging is on, nothing is logged. With descriptive logs toggled on lock driver I do get an entry that this code was used:

Appears others may be having issue too:

I'm not able to reproduce a problem with this. So, next thing is to look at the lock device events. And, I assume you are doing this when unlocking the lock?

I had same exact problem with the RM4.0. I have a Yale Assure Lock SL ZW+
I tried many variations including Any lock code triggers and a simple action of HSM disarm instead of IF Then statement.
Looking at the logs I would see "HSM disarm user code entered: Front Door Lock lockCode XXXXX" but none of the logs for Trigger, Event, or Action associated with the rule.
I am using RM3.0 to do this and it's working perfectly so I'm happy, but thought I'd add my experience for debugging purposes..

image

I'll ask you the same question: Are you entering the codes to unlock the lock? Could you post a screenshot of the Event Subscriptions portion of the app status page (gear icon from app)?

Yes, entering codes to unlock only.
Yes, here it is:

Sorry been on business travel... While live logging is open, I can view the events:
image

I have both a 3.0 and a 4.0 rule and neither are working for me. I have logging turned on for both rules and as shown above no logging from the rule at all.

I meant the Events from the Device page. But, it's been some time since you posted before, and you covered up the name of the code. Send by PM if you want. Not enough context to tell what's happening. What I can tell you is that this works fine for me in testing. That makes me suspect the lock itself may not be sending the code properly. What driver is in use?

My zigbee and zwave are split across 2 different hubs and neither work. I have both a Schlage Zigbee and BE468 using the stock Schlage BE468 driver and the Generic Zigbee Lock driver. The zigbee one is the main concern as the Schlage isn't used that often but I did try it to rule out the lock.

On the device events, I just have lock and unlock events and it doesn't specify the user which unlocked it. Should those appear like they do in live logging?

OK, just ran a simple test, rule 4.0:

With encryption set to off in the lock driver, the rule worked as expected:

I ran the same test again after enabling lock code encryption in the driver, the rule ran as expected again:

The lock in question is a Yale Zigbee model:YRL220 TS LL using the stock Zigbee driver.

So a question for the two of you, The lock rule and the lock are running on the same hub correct?

@bravenel

I finally had time to test the issue I initially reported above on the newest release and verified it's working now on RM 4.0.

1 Like

@mike.maxwell Yes lock and rule are running on the same hub.

I am using the Generic Zigbee Lock driver. The Schlage fingerprint isn't contained in this driver as it originally paired as a device and I had to change it to this driver. I clicked configure once changed. I have both a zwave version and a zigbee version.

Via logging I can see that certain codes were entered to unlock the lock, but no events are ever created for it in the device events list:

When I compare this to my Schlage Zwave lock, it is entering events:

Is this the cause of the rule not firing? I asked a few owners of this same Schlage lock if events are logged for specific lock codes in this thread:

Yes, that's the reason.
I'll have a look at the other thread.

@bravenel tagging you so you know the answer to my issue with the rule not firing when I unlock my Zigbee lock by certain codes.

@mike.maxwell Thank you! If you need the fingerprint of this lock to add to the driver, I am happy to provide that. I can even pair it to my dev hub temporarily so I get the full details if need be.

Could this driver be updated so that unlock by code events are logged? I would like to automate things based on who unlocks the lock. I am happy to gather any logs or test things for you so let me know how I can help. Thanks!