Need Generic Zigbee Lock Driver

I enabled it and it worked, but; now that I have Hubitat, I would like it to work again :slight_smile:

Don't know the code yet (how to port). Was hoping to learn from this driver code. Seems silly that they won't allow such things.

As long as you have the code, have a try at it yourself. If you get stuck someone probably will be able to help you, if you post the error it generates.

1 Like

That was surprisingly easy. Only needed to change physicalgraph..

Need to get a full zigbee response from the lock on what happens on "Keypad Locked" because it doesn't work anymore.

That sounds like a reasonably good feature to add. I could also see that being used to turn off lights, etc. Maybe @mike.maxwell can give some insight on this and maybe “locked by keypad” could be added to the stock driver.

this all depends on if this is produced by the device, the two zigbee locks I own do not produce a distinct event for locked by keypad.

So in order to add this in i will need the live logs only showing the locked by keypad event.
to capture these you will need to enable debug logging in the driver, open live logging, then lock the lock with the keypad.
I will also need some specific model info for the lock in question.

2 Likes

I’ll check it out on my Kwikset 914 & 916 and get back to you shortly.

Sure enough it's there with the generic zigbee lock driver. Didn't even need my own.

Now, I have to figure out how to capture it with webcore..

2020-09-11 01:06:40.664 pm [info]Front Door Lock was locked by keypad..

BTW, This is a Kwikset 910

1 Like

This is with the 916:

They both show correct events; either locked by keypad or locked by manual. They also report "locked by digital" when locked from my phone:

Thanks for this.

@mike.maxwell
Can you push a code update that includes this info for RM and webCoRE? It's GREAT for "Instant Arming"

SOMETIMES, the lock also pushed "locked" but if it's "Locked by keypad" that should stick for the current event.

[dev:99]2020-09-11 01:11:26.207 pm infoFront Door Lock was locked

[dev:99]2020-09-11 01:11:26.188 pm infoFront Door Lock was locked by keypad

Valid values for a lock capability's locked attribute are locked, unlocked and unknown, event values are what trigger events within applications, there isn't any "locked by keypad" that's part of the current event schema for locks, it's added to the description text which is part of an event, but description text is not a constrained attribute, meaning it's optional and can be anything or nothing at all and therefore we don't attempt to parse it in applications.

1 Like

Well, it would be nice if you could include that info on a "currentEventValue" I can't imagine it would be much to do. It took me adding three lines of code with SmartThings.

Use an app. I modified something else for my schlage and have since upgraded to yale zigbee with it.

we attempt to stick to defined attributes and capabilities for our internal apps and drivers.
Ideally there should be another attribute that's part of locks and or lock codes that allows publishing the means via which the door was locked or unlocked, right now there isn't such a thing...

1 Like

Not quite sure I understand that. Obviously there is some attribute to trigger that log.info to "Locked by Keypad". It's not like it came from thin air and only gets triggered when the lock was locked with the keypad.

I believe mike is saying that this is sent by the lock, but maybe there isn’t currently a way to use this info in Hubitat.

Applications do not use, nor should they use the description text attribute, they use the attribute values shown in the device current states which is the same data shown in the value column of device events.

1 Like

Thanks for this. Easy edit taking "[physical]" off and that was it.

@abuttino did you get further with this? I took a copy of the driver posted earlier in this thread and I was able to modify it to pass the details in the event data. In webCoRE I am able to access it with $args and with a bit of parsing I know how (auto, command, key, keypad, thumbturn) along with who (name & code) with my lock/unlock events. I am going to take a stab at getting the error conditions for bad PIN and invalid schedule. If I am lucky I will be able to pass it up as an "unknown" event along with the data. I coded it but won't be able to test that part until tomorrow as the wife is asleep and the lock is loud. lol

1 Like

I ended up altering the App that someone posted in this thread. If you need, I can probably put the code on Github.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.