Kwikset 620 Long Range

This blueprint has been tested to work with the following locks:

  1. Kwikset 620
  2. Kwikset 620 Long Range

Because Z-Wave Locks are standardized this blueprint may work with other locks but there is no guarantee.

This blueprint makes it easy for you to perform actions based on the following Z-Wave Events:

  • Z-Wave unlock and lock
  • manual lock or unlock using key or thumb turn
  • keypad unlock by typing in the pin code for user 1-5
  • keypad lock by typing in the pin code for user 1-5 and pressing the Kwikset button
  • one touch locking by pressing the Kwikset button
  • lock jammed
  • low battery
  • battery replaced
  • messaging mode - if you have Z-Wave JS UI you can change the user code mode to messaging mode. Normally when you enter in a pin code it unlocks the door. When messaging mode is enabled entering the pin code does not unlock the door it just sends an event that you can use in your automation.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

blueprint:
  name: Kwikset 620
  description: This blueprint allows you to trigger actions based off events generated by the Kwikset 620 and Kwikset 620 Long Range lock.
  domain: automation
  input:
    kwikset_lock:
      name: Kwikset 620
      description: Select the Kwikset 620 you want to use for this blueprint.
      selector:
        device:
          integration: zwave_js
      
          
          
    z-wave_unlock:
      name: Door Unlocked using Z-Wave Commands
      description: Select an action to run when the door is unlocked using Z-Wave commands.
      default: []
      selector:
        action: {}
    z-wave_lock:
      name: Door Locked using Z-Wave Commands
      description: Select an action to run when the door is locked using Z-Wave commands.
      default: []
      selector:
        action: {}
    z-wave_not_fully_locked:
      name: Door Not Fully Locked After Using Z-Wave Commands
      description: Select an action to run when the door does not lock all the way after using Z-Wave commands.
      default: []
      selector:
        action: {}
    manual_lock:
      name: Door Locked Manually
      description: Select an action to run when the door is locked using a key or the thumb turn.
      default: []
      selector:
        action: {}
    manual_unlock:
      name: Door Unlocked Manually
      description: Select an action to run when the door is unlocked using a key or the thumb turn.
      default: []
      selector:
        action: {}
    one_touch_lock:
      name: Door Locked using the Kwikset Button aka One Touch Locking
      description: Select an action to run when the door is locked using the Kwikset Button.
      default: []
      selector:
        action: {}
    auto_lock:
      name: Door Auto Locked
      description: Select an action to run when the door is autolocked after a set time.
      default: []
      selector:
        action: {}
    auto_lock_not_fully_locked:
      name: Door Auto Locking Failed
      description: Select an action to run when the lock attempts to autlock the door and the lock does not lock all the way.
      default: []
      selector:
        action: {}
    lock_jammed:
      name: Lock Jammed
      description: Select an action to run when the lock is Jammed.
      default: []
      selector:
        action: {}
    all_user_codes_deleted:
      name: All User Codes Deleted
      description: Select an action to run when all user codes are deleted. You can only delete all the codes at once if the mastercode is enabled.
      default: []
      selector:
        action: {}
    user_code_deleted:
      name: User Code Deleted
      description: Select an action to run anytime any user code is deleted.
      default: []
      selector:
        action: {}
    new_user_code_added:
      name: New User Code Added
      description: Select an action to run when you add a new user code.
      default: []
      selector:
        action: {}
    duplicate_code:
      name: New User Code Not Added because its a Duplicate
      description: Select an action to run when you try to add a new user code that already exists.
      default: []
      selector:
        action: {}
    keypad_temporarily_disabled:
      name: Keypad Temporarily Disabled
      description: Select an action to run when the keypad is temporarily disabled.
      default: []
      selector:
        action: {}
    tampering_invalid_user_code:
      name: Invalid User Code Entered in Keypad
      description: Select an action to run when an invalid or disabled user code is entered into the keypad.
      default: []
      selector:
        action: {}
    invalid_user_code_limit:
      name: Invalid User Code Entered Limit
      description: Select an action to run when too many invalid codes are entered into the keypad. The limit is 3. This limit is not changeable.
      default: []
      selector:
        action: {}
    tampering_cover_removed:
      name: Tampering, Product Cover Disconnected or Removed 
      description: Select an action to run when the keypad has been disconnected from the inside mechanism.
      default: []
      selector:
        action: {}



    power_applied:
      name: Power Applied
      description: Select an action to run when power is applied to the lock.
      default: []
      selector:
        action: {}
    replace_battery_soon:
      name: Battery at 10%
      description: Select an action to run when the battery reaches 10%.
      default: []
      selector:
        action: {}
    replace_battery_now:
      name: Battery at 0%
      description: Select an action to run when the battery reaches 0%.
      default: []
      selector:
        action: {}


    keypad_unlock_user_1:
      name: Keypad Unlock User 1
      description: Select an action to run when the lock is unlocked using the keypad and the user 1 pin.
      default: []
      selector:
        action: {}
    keypad_unlock_user_2:
      name: Keypad Unlock User 2
      description: Select an action to run when the lock is unlocked using the keypad and the user 2 pin.
      default: []
      selector:
        action: {}
    keypad_unlock_user_3:
      name: Keypad Unlock User 3
      description: Select an action to run when the lock is unlocked using the keypad and the user 3 pin.
      default: []
      selector:
        action: {}
    keypad_unlock_user_4:
      name: Keypad Unlock User 4
      description: Select an action to run when the lock is unlocked using the keypad and the user 4 pin.
      default: []
      selector:
        action: {}
    keypad_unlock_user_5:
      name: Keypad Unlock User 5
      description: Select an action to run when the lock is unlocked using the keypad and the user 5 pin.
      default: []
      selector:
        action: {}
        
        
        
    keypad_lock_user_1:
      name: Keypad Lock User 1
      description: The lock can be locked by entering in your pin code and pressing the Kwikset button. Select an action to run when the lock is locked using the kwikset button and the user 1 pin.
      default: []
      selector:
        action: {}
    keypad_lock_user_2:
      name: Keypad Lock User 2
      description: The lock can be locked by entering in your pin code and pressing the Kwikset button. Select an action to run when the lock is locked using the kwikset button and the user 2 pin.
      default: []
      selector:
        action: {}
    keypad_lock_user_3:
      name: Keypad Lock User 3
      description: The lock can be locked by entering in your pin code and pressing the Kwikset button. Select an action to run when the lock is locked using the kwikset button and the user 3 pin.
      default: []
      selector:
        action: {}
    keypad_lock_user_4:
      name: Keypad Lock User 4
      description: The lock can be locked by entering in your pin code and pressing the Kwikset button. Select an action to run when the lock is locked using the kwikset button and the user 4 pin.
      default: []
      selector:
        action: {}
    keypad_lock_user_5:
      name: Keypad Lock User 5
      description: The lock can be locked by entering in your pin code and pressing the Kwikset button. Select an action to run when the lock is locked using the kwikset button and the user 5 pin.
      default: []
      selector:
        action: {}
        
        

    messaging_code_entered_1:
      name: Messaging Code 1 Entered
      description: If you have Z-Wave JS UI you can change your pin to messaging mode. Normally when you enter a pin into the keypad it unlocks the door then sends an event to the controller. With messaging mode enabled the lock only sends an event to the controller. Select an action to run when  messaging user code 1 is entered.
      default: []
      selector:
        action: {}
    messaging_code_entered_2:
      name: Messaging Code 2 Entered
      description: If you have Z-Wave JS UI you can change your pin to messaging mode. Normally when you enter a pin into the keypad it unlocks the door then sends an event to the controller. With messaging mode enabled the lock only sends an event to the controller. Select an action to run when  messaging user code 2 is entered.
      default: []
      selector:
        action: {}
    messaging_code_entered_3:
      name: Messaging Code 3 Entered
      description: If you have Z-Wave JS UI you can change your pin to messaging mode. Normally when you enter a pin into the keypad it unlocks the door then sends an event to the controller. With messaging mode enabled the lock only sends an event to the controller. Select an action to run when  messaging user code 3 is entered.
      default: []
      selector:
        action: {}        
    messaging_code_entered_4:
      name: Messaging Code 4 Entered
      description: If you have Z-Wave JS UI you can change your pin to messaging mode. Normally when you enter a pin into the keypad it unlocks the door then sends an event to the controller. With messaging mode enabled the lock only sends an event to the controller. Select an action to run when  messaging user code 4 is entered.
      default: []
      selector:
        action: {}
    messaging_code_entered_5:
      name: Messaging Code 5 Entered
      description: If you have Z-Wave JS UI you can change your pin to messaging mode. Normally when you enter a pin into the keypad it unlocks the door then sends an event to the controller. With messaging mode enabled the lock only sends an event to the controller. Select an action to run when  messaging user code 5 is entered.
      default: []
      selector:
        action: {}       
        
        
        

trigger:
  platform: event
  event_type: zwave_js_notification
  event_data:
    device_id: !input kwikset_lock

action:
  - choose:
      - conditions: "{{ trigger.event.data.event_label == 'Manual lock operation' }}"
        sequence: !input manual_lock
      - conditions: "{{ trigger.event.data.event_label == 'Manual unlock operation' }}"
        sequence: !input manual_unlock
      - conditions: "{{ trigger.event.data.event_label == 'RF lock operation' }}"
        sequence: !input z-wave_lock
      - conditions: "{{ trigger.event.data.event_label == 'RF unlock operation' }}"
        sequence: !input z-wave_unlock
      - conditions: "{{ trigger.event.data.event_label == 'RF not fully locked operation' }}"
        sequence: !input z-wave_not_fully_locked
      - conditions: "{{ trigger.event.data.event_label == 'Auto lock operation' }}"
        sequence: !input auto_lock
      - conditions: "{{ trigger.event.data.event_label == 'Auto lock not fully locked operation' }}"
        sequence: !input auto_lock_not_fully_locked
      - conditions: "{{ trigger.event.data.event_label == 'Lock jammed' }}"
        sequence: !input lock_jammed
      - conditions: "{{ trigger.event.data.event_label == 'Keypad temporarily disabled' }}"
        sequence: !input keypad_temporarily_disabled
      - conditions: "{{ trigger.event.data.event_label == 'Manually enter user access code exceeds code limit' }}"
        sequence: !input invalid_user_code_limit
      - conditions: "{{ trigger.event.data.event_label == 'Tampering, product covering removed' }}"
        sequence: !input tampering_cover_removed
      - conditions: "{{ trigger.event.data.event_label == 'Power has been applied' }}"
        sequence: !input power_applied
      - conditions: "{{ trigger.event.data.event_label == 'Replace battery soon' }}"
        sequence: !input replace_battery_soon
      - conditions: "{{ trigger.event.data.event_label == 'Replace battery now' }}"
        sequence: !input replace_battery_now
        
      - conditions: "{{ trigger.event.data.event_label == 'All user codes deleted' }}"
        sequence: !input all_user_codes_deleted
      - conditions: "{{ trigger.event.data.event_label == 'Single user code deleted' }}"
        sequence: !input user_code_deleted
      - conditions: "{{ trigger.event.data.event_label == 'New user code added' }}"
        sequence: !input new_user_code_added
      - conditions: "{{ trigger.event.data.event_label == 'Tampering, invalid code' }}"
        sequence: !input tampering_invalid_user_code
      - conditions: "{{ trigger.event.data.event_label == 'New user code not added, duplicate' }}"
        sequence: !input duplicate_code


      - conditions: "{{ trigger.event.data.event_label == 'Keypad unlock operation' and trigger.event.data.parameters.userId == 1 }}"
        sequence: !input keypad_unlock_user_1
      - conditions: "{{ trigger.event.data.event_label == 'Keypad unlock operation' and trigger.event.data.parameters.userId == 2 }}"
        sequence: !input keypad_unlock_user_2
      - conditions: "{{ trigger.event.data.event_label == 'Keypad unlock operation' and trigger.event.data.parameters.userId == 3 }}"
        sequence: !input keypad_unlock_user_3
      - conditions: "{{ trigger.event.data.event_label == 'Keypad unlock operation' and trigger.event.data.parameters.userId == 4 }}"
        sequence: !input keypad_unlock_user_4
      - conditions: "{{ trigger.event.data.event_label == 'Keypad unlock operation' and trigger.event.data.parameters.userId == 5 }}"
        sequence: !input keypad_unlock_user_5


      - conditions: "{{ trigger.event.data.event_label == 'Keypad lock operation' and trigger.event.data.parameters.userId is not defined }}"
        sequence: !input one_touch_lock
      - conditions: "{{ trigger.event.data.event_label == 'Keypad lock operation' and trigger.event.data.parameters.userId == 1 }}"
        sequence: !input keypad_lock_user_1
      - conditions: "{{ trigger.event.data.event_label == 'Keypad lock operation' and trigger.event.data.parameters.userId == 2 }}"
        sequence: !input keypad_lock_user_2
      - conditions: "{{ trigger.event.data.event_label == 'Keypad lock operation' and trigger.event.data.parameters.userId == 3 }}"
        sequence: !input keypad_lock_user_3
      - conditions: "{{ trigger.event.data.event_label == 'Keypad lock operation' and trigger.event.data.parameters.userId == 4 }}"
        sequence: !input keypad_lock_user_4
      - conditions: "{{ trigger.event.data.event_label == 'Keypad lock operation' and trigger.event.data.parameters.userId == 5 }}"
        sequence: !input keypad_lock_user_5

      - conditions: "{{ trigger.event.data.event_label == 'Messaging User Code entered via keypad' and trigger.event.data.parameters.userId == 1 }}"
        sequence: !input messaging_code_entered_1
      - conditions: "{{ trigger.event.data.event_label == 'Messaging User Code entered via keypad' and trigger.event.data.parameters.userId == 2 }}"
        sequence: !input messaging_code_entered_2
      - conditions: "{{ trigger.event.data.event_label == 'Messaging User Code entered via keypad' and trigger.event.data.parameters.userId == 3 }}"
        sequence: !input messaging_code_entered_3
      - conditions: "{{ trigger.event.data.event_label == 'Messaging User Code entered via keypad' and trigger.event.data.parameters.userId == 4 }}"
        sequence: !input messaging_code_entered_4
      - conditions: "{{ trigger.event.data.event_label == 'Messaging User Code entered via keypad' and trigger.event.data.parameters.userId == 5 }}"
        sequence: !input messaging_code_entered_5
        
mode: single
max_exceeded: silent