New ZigBee guest door code blueprint
This commit is contained in:
		| @ -0,0 +1,81 @@ | ||||
| # 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. | ||||
|   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 | ||||
		Reference in New Issue
	
	Block a user