Yale Smart Lock

And like you said bud, it worked!! I pretty much factory reset every z-wave device, my switches and dimmers, the lock , the z-wave stick and then I cancelled the z-wave files in home assistant, now works like a charm !!!

Do you guys know how identify each code? Let’s say my girlfriend code is 123456 so if she opens the door I get a notification says lady… Just opened the door

Here is my template for it. Pretty much went through different posts on the web and found examples, then went through the engineering guide (http://ozw.my-ho.st/Yale/Yale%20ZWave%20Developer%20Guide.pdf) and modified examples to get what I wanted.

You will have to replace <person’s name> with whatever name you want, change “front_door_lock” to match your entity name (default is something like “assa_abloy_yrd_446_blah_blah_blah” can’t remember off top of my head) , and probably add/remove names/codes to match your situation.

I tried to get most relevant items out of that guide and so far everything has worked, but haven’t been able to try some like the low/critical battery yet (still at ~85% battery after almost 9 months)

#############################################################################################
#####                                   Front Door                                      #####
#############################################################################################
- platform: template
  sensors:
    template_front_door_lock_status:
      friendly_name: 'Front Door Lock Status'
      value_template: >-
        
        {%- if is_state("sensor.front_door_lock_alarm_type", "112") -%}
          {%- if is_state("sensor.front_door_lock_alarm_level", "0") -%}
            Master code changed at keypad
          {%- elif is_state("sensor.front_door_lock_alarm_level", "251") -%}
            Master code changed over RF
          {%- else -%}
            User added to slot {{ states.sensor.front_door_lock_alarm_level.state }}
          {%- endif %}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "33") %}
          User deleted from slot - {{ states.sensor.front_door_lock_alarm_level.state }}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "161") -%}
          {%- if is_state("sensor.front_door_lock_alarm_level", "1") -%}
            Tamper Alarm - Keypad Attempts
          {%- elif is_state("sensor.front_door_lock_alarm_level", "2") -%}
            Tamper Alarm - Escutcheon Removed
          {%- else -%}
            Error - Tamper Alarm
          {%- endif %}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "25") %}
          Unlocked by RF
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "19") -%}
          {%- if is_state("sensor.front_door_lock_alarm_level", "1") -%}
            Keypad Unlock - <person's name>
          {%- elif is_state("sensor.front_door_lock_alarm_level", "2") -%}
            Keypad Unlock - <person's name>
          {%- elif is_state("sensor.front_door_lock_alarm_level", "3") -%}
            Keypad Unlock - <person's name>
          {%- elif is_state("sensor.front_door_lock_alarm_level", "4") -%}
            Keypad Unlock - <person's name>
          {%- else -%}
            Unlocked by user slot {{ sensor.front_door_lock_alarm_level }}
          {%- endif %}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "21") -%}
          {%- if is_state("sensor.front_door_lock_alarm_level", "1") -%}
            Manual Lock - Inside Thumb Turn
          {%- elif is_state("sensor.front_door_lock_alarm_level", "2") -%}
            Manual Lock - Touch Function
          {%- elif is_state("sensor.front_door_lock_alarm_level", "3") -%}
            Manual Lock - Inside Button
          {%- else -%}
            Error - Manual Lock
          {%- endif %}
        {%- elif is_state("sensor.front_door_lock_alarm_type", "22") %}
          Manual Unlock
       
        {%- elif is_state("sensor.front_door_lock_alarm_type", "24") %}
          Locked by RF
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "18") -%}
          {%- if is_state("sensor.front_door_lock_alarm_level", "1") -%}
            Keypad Lock - <person's name>
          {%- elif is_state("sensor.front_door_lock_alarm_level", "2") -%}
            Keypad Lock - <person's name>
          {%- elif is_state("sensor.front_door_lock_alarm_level", "3") -%}
            Keypad Unlock - <person's name>
          {%- elif is_state("sensor.front_door_lock_alarm_level", "4") -%}
            Keypad Lock - <person's name>
          {%- else -%}
            Keypad Lock by user slot {{ sensor.front_door_lock_alarm_level }}
          {%- endif %}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "38") -%}
          Non Access Code by user slot {{ sensor.front_door_lock_alarm_level }}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "167") -%}
          Low Battery Level - {{ sensor.front_door_lock_alarm_level }}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "168") -%}
          Critical Battery Level - {{ sensor.front_door_lock_alarm_level }}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "27") -%}
          Locked by Auto Lock
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "113") -%}
          Duplicated PIN from RF in slot - {{ sensor.front_door_lock_alarm_level }}
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "130") -%}
          Power To RFM Was Restored
        
        {%- elif is_state("sensor.front_door_lock_alarm_type", "131") %}
          Disabled User Code Entered from slot - {{ states.sensor.front_door_lock_alarm_level.state }}
        {%- endif %}
1 Like

Hi All,

I’m relatively new to HA and I’m trying to set up my Yale Smart Lock properly. I have it connected via the Z-wave module and I’m able to control it. What I can’t do is get all the additional information to display via a sensor. Everytime I try I get a notification saying:
Invalid config
The following components and platforms could not be set up:

  • Sensor
    Please check your config.

This is what I’ve added to the config file:

Sensor:
 - platform: template
   sensors:
    template_front_door_status:
      friendly_name: 'Front Door Status'
      value_template: >-
        {%- if is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type", "144") -%}
          {%- if is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_level", "1") -%}
            Fob Unlock - 1
          {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_level", "2") -%}
            Fob Unlock - 2
          {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_level", "3") -%}
            Fob Unlock - 3
          {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_level", "4") -%}
            Fob Unlock - 4
          {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_level", "5") -%}
            Fob Unlock - 5
          {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_level", "6") -%}
            Fob Unlock - 6
          {%- else -%}
            Unlocked by Unknown Fob {{ states.sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_level.state }}
          {%- endif %}
        {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type", "22") %}
           Manual Unlock
        {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type", "25") %}
           Unlocked by RF
        {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type", "21") %}
           Manual Lock - Handle Lifted
        {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type", "24") %}
           Locked by RF
        {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type", "27") %}
           Auto-Relock
        {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type", "167") %}
          Low Battery Level
        {%- elif is_state("sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type", "168") %}
          Critical Battery Level
        {%- else -%}
          {{ states.sensor.assa_abloy_yale_conexis_l1_sd_l1000_ch_alarm_type.state }}
        {%- endif %}

Any help appreciated, TIA!

There are formatting issues in the first few lines with the leading spaces.

Sensor:
 - platform: template
   sensors:
    template_front_door_status:

Try this…

sensor:
- platform: template
  sensors:
    template_front_door_status:

Hi @gohassgo, thanks for your reply. This was solved in another post and the issue was the capital S in sensor.