83 lines
2.5 KiB
YAML
83 lines
2.5 KiB
YAML
# This script uses ZHA Toolkit (https://github.com/mdeweerd/zha-toolkit) to manage smart door lock codes, and therefore ZHA Toolkit needs to be installed.
|
|
# There is no gaurantee that this script will work as expected with your particular ZigBee smart door lock.
|
|
# This has been tested against a Kwikset SmartCode 916 (https://www.kwikset.com/products/detail/916-smartcode-traditional-electronic-deadbolt-with-zigbee-technology)
|
|
|
|
blueprint:
|
|
name: Set Guest Door Code (ZigBee)
|
|
description: >-
|
|
A script that sets a temporary code for a ZigBee smart door lock (via ZHA Toolkit).
|
|
This script adds and removes a new code, rather than enabling/disabling an existing code.
|
|
source_url: https://raw.githubusercontent.com/nwithan8/configs/main/home_assistant/blueprints/scripts/set_guest_door_code_zigbee.yaml
|
|
domain: script
|
|
input:
|
|
lock:
|
|
description: (Required) Which door lock to program
|
|
name: Lock
|
|
selector:
|
|
target:
|
|
entity:
|
|
domain: lock
|
|
slot:
|
|
description: (Required) Which code slot to use
|
|
name: Slot
|
|
selector:
|
|
text:
|
|
on_start:
|
|
description: (Optional) Action to execute when code is enabled
|
|
|
|
The lock entity is available via the "lock" variable.
|
|
The set code is available via the "code" variable.
|
|
The set code slot is available via the "slot" variable.
|
|
The validity time is available via the "duration" variable.
|
|
name: When code enabled
|
|
default: []
|
|
selector:
|
|
action:
|
|
on_end:
|
|
description: (Optional) Action to execute when code is disabled
|
|
name: When code disabled
|
|
default: []
|
|
selector:
|
|
action:
|
|
fields:
|
|
code:
|
|
description: The code to set
|
|
example: "1234"
|
|
name: Code
|
|
required: true
|
|
selector:
|
|
text: null
|
|
duration:
|
|
description: How long the code is valid for
|
|
name: Valid for
|
|
required: true
|
|
selector:
|
|
duration:
|
|
enable_day: true
|
|
|
|
variables:
|
|
lock: !input lock
|
|
slot: !input slot
|
|
|
|
sequence:
|
|
- service: zha.set_lock_user_code
|
|
data:
|
|
code_slot: "{{ slot }}"
|
|
user_code: "{{ code }}"
|
|
target:
|
|
entity_id: "{{ lock.entity_id }}"
|
|
- choose:
|
|
- conditions: "{{ true }}"
|
|
sequence: !input on_start
|
|
- delay: "{{ duration }}"
|
|
- service: zha.clear_lock_user_code
|
|
data:
|
|
code_slot: "{{ slot }}"
|
|
target:
|
|
entity_id: "{{ lock.entity_id }}"
|
|
- choose:
|
|
- conditions: "{{ true }}"
|
|
sequence: !input on_end
|
|
|
|
mode: single
|