Schlage Connect Locks - HA Integration Needs Attention

Check this out (you’ll have to do a find and replace for your lock name, but this was help from @petro

      front_door_report:
        friendly_name: 'Front Door Report'
        value_template: >
          {% set number = states('sensor.lock_front_door_deadbolt_alarm_level') %}
          {% set sensor_codes = {'112':'Code Changed','113':'Code Duplicate','33':'Code Deleted'} %}
          {% set sensor_code = states('sensor.lock_front_door_deadbolt_alarm_type') %}
          {% set code_status = sensor_codes[sensor_code] if sensor_code in sensor_codes else 'Code Error' %}
          {% set user = 'Master' if number == '0' else 'User ' + number  %}
          {{ user }} {{ code_status }}
1 Like

Also just another question about the lock more than the yaml. Do you keep the keypad lock enabled most of the time? I noticed you broke out templates for keypad lock and unlock separately. I typically use the lock and leave, but have turned that off in the past to require people to enter codes to leave. More curious than anything.

Also just another question about the lock more than the yaml. Do you keep the keypad lock enabled most of the time? I noticed you broke out templates for keypad lock and unlock separately. I typically use the lock and leave, but have turned that off in the past to require people to enter codes to leave. More curious than anything.

I haven’t decided whether to use L&L as default or not. We’ve been using it that way for a while and I am trying to decide how much crap I am going to get if I force people to use their codes to lock the door. I live with a wife, 3 daughters, and our mothers come to visit often so I can only imagine the complaints. But… I am leaving the code there for when and if I decide to commit to one or the other. LOL

I also like to template out EVERYTHING I can for any future or current use.

1 Like

Ha, I have the same thing with family.

Another question, where did you find The following alarm levels
9- Jammed
duplicate code and code deleted. I did not seem them in the PDF you sent. I’m sure they’re good, just curious where you found them

Another question, where did you find The following alarm levels
9- Jammed
duplicate code and code deleted. I did not seem them in the PDF you sent. I’m sure they’re good, just curious where you found them

So 9 Jammed I found on the HA documentation - Z-Wave - Home Assistant. I don’t see 9 listed on most docs out there which is odd. I know for a fact it works because when I slightly move the thumb lock enough, it triggers. I didn’t get around to testing the other jammed values yet.

As far as the other jammed levels, I found them on multiple pdfs. I’m on my work machine and for some reason my chrome browsing history isn’t sync’d. I can send the actual docs to you but can’t post a url until later. I’m on HA discord right now if you want to ping me and I can send them to you directly.

With much help, came up with this sensor to keep a history of all door actions in one sensor

1 Like

What if you have names in the report such as “Tom Code Changed”? Or are you just assuming to use a generic state?

Edit: I think I see it now, you have to “set user”. Correct?

In my package for locks I include an input text for each slot that includes names.

But with this sensor it would say
keypad unlock with code 1 (or 2, 3, etc) by (Name) from matching input select. If you did not have that you could just remove those values, variables, etc

This looks really amazing. I love the rboy app on Smartthings and it’s the only thing keeping me.on Samsung. Do you think your package could become part of standard HA as a default component? In my opinion it would make HA much more attractive to use. It still looks like you need to do a lot of coding to set this up properly (correct my if I’m wrong) but it’s impressing what you guys are doing.

1 Like

I agree, i would totally pay to support a project that resulted in a plug and play GUI way to manage kwikset/schlague/any Zwave lock class device (alerts, Logs, passcode management, etc). It’s one of the only things I miss from back when I used Vera as my platform.

Same here! Would be a major improvement of HA as a whole. Will be closely watching this thread and following the progress, thank you @ptdalen and @edif30 for working on this.

I don’t think packages will ever be part of a component since they are all configuration options and there are so many different flavors of devices that have even more flavors of options and parameters. Every zwave lock I have come across in person and in reading is different in one or many ways. It’s unfortunate and hopefully with time some of the standards that have been built in recent years can catch up with the newly manufacturers devices.

I surely don’t mind sharing my code :slight_smile: Matter of fact, here is an update to the front_door_report sensor that @ptdalen posted. I like having names tied to the user slot and there is a few directions you could go with this which would be use the initial version and input_number to know which user is who. Then there was having a static value sensor with the name. Would work but who needs more sensors? LOL. Then I toyed around with it a bit and decided this was the easiest way.

I have 6 main users. Anymore than that and the code will wrap but it still works. And you’re never going to have more than one user unlock or lock at the same time.

  front_door_report:
    friendly_name: 'Front Door Report'
    value_template: >
      {% set number = states('sensor.front_door_db_alarm_level') %}
      {% set alarm_type_value = states('sensor.front_door_db_alarm_type') %}
      {% set user1 = 'Person1' if number == '1' %}
      {% set user2 = 'Person2' if number == '2' %}
      {% set user3 = 'Person3' if number == '3' %}
      {% set user4 = 'Person4' if number == '4' %}
      {% set user5 = 'Person5' if number == '5' %}
      {% set user6 = 'Person6' if number == '6' %}
      {% set alarm_type_general_actions = {
        '0':'No Status',
        '9':'Lock Jammed',
        '17':'Keypad Lock Jammed',
        '21':'Manual Lock',
        '22':'Manual Unlock',
        '23':'HA Lock Jammed',
        '24':'HA Lock',
        '25':'HA Unlock',
        '26':'Auto Lock Jammed',
        '27':'Auto Lock',
        '32':'All Codes Deleted',
        '161':'Bad Code Entered',
        '167':'Battery Low',
        '168':'Battery Critical',
        '169':'Battery Too Low To Operate Lock' } %}
      {% set alarm_type_lock_actions = {
        '18':'Keypad Lock',
        '19':'Keypad Unlock',
        '162':'Lock Code Attempt Outside of Schedule' } %}
      {% set alarm_type_code_actions = {
        '33':'Code Deleted',
        '112':'Code Changed',
        '113':'Duplicate Code' } %}
      {% if alarm_type_value in alarm_type_code_actions %}
        {{ alarm_type_code_actions[alarm_type_value] }} (Code {{ number}})
      {% elif alarm_type_value in alarm_type_lock_actions  %}
        {{ alarm_type_lock_actions[alarm_type_value] }} by {{ user1 }}{{ user2 }}{{ user3 }}{{ user4 }}{{ user5 }}{{ user6 }}
      {% elif alarm_type_value in alarm_type_general_actions %}
        {{ alarm_type_general_actions[alarm_type_value] }}
      {% else %}
        Unknown Alarm Type Value {{ states('sensor.front_door_db_alarm_type') }}
      {% endif %}

I tested this and it works well. Little update from a side conversation @ptdalen and I were having and that is the Duplicate, Delete, and Changed is not updating in HA. I tailed the logs in OZW and I am not seeing the values show up. This resembles the levels 24 and 25 which are electronic lock/unlock. I’ll look into this more tomorrow-ish.

1 Like

Do you mean that it’ll never be an easy install or just never built into HA and always be an add-on?

Vera had a great UI for working with locks, automations, notifications, code changes, etc. and it worked with all the major lock brands. I was hoping to find something like that. The complexity of all the lock code seems to be much wider than any other device I’ve toyed with.

I guess once the code here settles down maybe a simple guide to setting all this up? I see people doing it different ways and I’ve got my signals mixed, not to mention what does and does not work with the new beta UI.

I have mixed feelings when it comes to the locks in HA. I used the zwave USB stick to connect them to the system, I even have the templates to identify who unlocked or locked the lcoks. I was able to alert when the lock was unlock it (I got it working for more than a year); until suddenly things stopped working (between versions 0.77.x) after that I was not able to lock or unlock using HA. I removed the nodes and try to re-add them (adding node secure) to no avail. The nodes joined the system but not secure (for some reason that I could not figure it out) after trying multiple times, I went back to use Wink and the nodes were added instantly. I feel bad to say this, but I have the feeling that HA is not ready for the locks, yet. Maybe in the future and with the communities help we can have a solid add-on or component for locks.
I am using hassbian with the Aeotec USB stick (Aeotec ZW090 Z-Stick Gen5 US) and I am currently on version 0.77.2. All my hardware is located at the basement (and it always has been that way).

My locks have been rock solid to lock and unlock, but automating them and getting notifications has been my challenge!

I don’t worry at all about the security though.

Do you mean that it’ll never be an easy install or just never built into HA and always be an add-on?

I won’t say things will NEVER be built into a system but at least at this moment packages and configurations are user based.

I guess once the code here settles down maybe a simple guide to setting all this up? I see people doing it different ways and I’ve got my signals mixed, not to mention what does and does not work with the new beta UI.

Depending on who produces the configuration and their threshold for writing documents/guides, you might get lucky. I’ve seen some amazing set-ups and guides and I’ve also had to patch/cherry pick to get what I want. Even then, I’m always adding/changing/switching/reverting/removing. All part of the fun!

What are you using as a z-wave controller? I use an Aeotec Z-Stick and the z-wave network works well most of the time. Sometimes there are delays for tens of seconds and once in a while a z-wave command won’t work at all.

Home seer zstick here.

Aeotec. I don’t see issues like that but I have a very large mesh.

I have a large mesh too, around 50 devices or so. Are any of your zwave devices sensors (door sensors, leak sensors, multisensor6, etc.)?