Skip to content

Instantly share code, notes, and snippets.

@CertifiedDIY
Created April 25, 2025 18:18
Show Gist options
  • Save CertifiedDIY/49c4c2de49544fcba0a4f798d4fe4e56 to your computer and use it in GitHub Desktop.
Save CertifiedDIY/49c4c2de49544fcba0a4f798d4fe4e56 to your computer and use it in GitHub Desktop.
blueprint:
name: ZEN32 (Z-Wave JS)
description: Create automations for the Zooz ZEN32 switch using the Z-Wave JS integration.
domain: automation
homeassistant:
min_version: "2024.6.0"
input:
zooz_switch:
name: Zooz Switch
description: List of available Zooz ZEN32 switches.
selector:
device:
filter:
- integration: zwave_js
manufacturer: Zooz
model: ZEN32
- integration: zwave_js
manufacturer: Zooz
model: ZEN32 800LR
multiple: false
switchButton:
name: Main Button
collapsed: true
input:
switchButton_1:
name: Button Pressed 1x
description: Action to run when button is pressed once.
default: []
selector:
action: {}
switchButton_held:
name: Button Held
description: Action to run when button is held.
default: []
selector:
action: {}
switchButton_released:
name: Button Released
description: Action to run when button is released.
default: []
selector:
action:
switchButton_2:
name: Button Pressed 2x
description: Action to run when button is pressed twice.
default: []
selector:
action:
switchButton_3:
name: Button Pressed 3x
description: Action to run when button is pressed three times.
default: []
selector:
action:
switchButton_4:
name: Button Pressed 4x
description: Action to run when button is pressed four times.
default: []
selector:
action:
switchButton_5:
name: Button Pressed 5x
description: Action to run when button is pressed five times.
default: []
selector:
action:
button1:
name: Button 1
collapsed: true
input:
button1_1:
name: Button Pressed 1x
description: Action to run when button is pressed once.
default: []
selector:
action: {}
button1_held:
name: Button Held
description: Action to run when button is held.
default: []
selector:
action: {}
button1_released:
name: Button Released
description: Action to run when button is released.
default: []
selector:
action:
button1_2:
name: Button Pressed 2x
description: Action to run when button is pressed twice.
default: []
selector:
action:
button1_3:
name: Button Pressed 3x
description: Action to run when button is pressed three times.
default: []
selector:
action:
button1_4:
name: Button Pressed 4x
description: Action to run when button is pressed four times.
default: []
selector:
action:
button1_5:
name: Button Pressed 5x
description: Action to run when button is pressed five times.
default: []
selector:
action:
button2:
name: Button 2
collapsed: true
input:
button2_1:
name: Button Pressed 1x
description: Action to run when button is pressed once.
default: []
selector:
action: {}
button2_held:
name: Button Held
description: Action to run when button is held.
default: []
selector:
action: {}
button2_released:
name: Button Released
description: Action to run when button is released.
default: []
selector:
action:
button2_2:
name: Button Pressed 2x
description: Action to run when button is pressed twice.
default: []
selector:
action:
button2_3:
name: Button Pressed 3x
description: Action to run when button is pressed three times.
default: []
selector:
action:
button2_4:
name: Button Pressed 4x
description: Action to run when button is pressed four times.
default: []
selector:
action:
button2_5:
name: Button Pressed 5x
description: Action to run when button is pressed five times.
default: []
selector:
action:
button3:
name: Button 3
collapsed: true
input:
button3_1:
name: Button Pressed 1x
description: Action to run when button is pressed once.
default: []
selector:
action: {}
button3_held:
name: Button Held
description: Action to run when button is held.
default: []
selector:
action: {}
button3_released:
name: Button Released
description: Action to run when button is released.
default: []
selector:
action:
button3_2:
name: Button Pressed 2x
description: Action to run when button is pressed twice.
default: []
selector:
action:
button3_3:
name: Button Pressed 3x
description: Action to run when button is pressed three times.
default: []
selector:
action:
button3_4:
name: Button Pressed 4x
description: Action to run when button is pressed four times.
default: []
selector:
action:
button3_5:
name: Button Pressed 5x
description: Action to run when button is pressed five times.
default: []
selector:
action:
button4:
name: Button 4
collapsed: true
input:
button4_1:
name: Button Pressed 1x
description: Action to run when button is pressed once.
default: []
selector:
action: {}
button4_held:
name: Button Held
description: Action to run when button is held.
default: []
selector:
action: {}
button4_released:
name: Button Released
description: Action to run when button is released.
default: []
selector:
action:
button4_2:
name: Button Pressed 2x
description: Action to run when button is pressed twice.
default: []
selector:
action:
button4_3:
name: Button Pressed 3x
description: Action to run when button is pressed three times.
default: []
selector:
action:
button4_4:
name: Button Pressed 4x
description: Action to run when button is pressed four times.
default: []
selector:
action:
button4_5:
name: Button Pressed 5x
description: Action to run when button is pressed five times.
default: []
selector:
action:
source_url: https://community.home-assistant.io/t/zen32-scene-controller-z-wave-js/292610
mode: single
max_exceeded: silent
variables:
device_id: !input 'zooz_switch'
trigger:
- platform: event
event_type: zwave_js_value_notification
condition: '{{ trigger.event.data.device_id == device_id }}'
action:
- variables:
property_key_name: '{{ trigger.event.data.property_key_name }}'
label: '{{ trigger.event.data.label }}'
command_class_name: '{{ trigger.event.data.command_class_name }}'
value: '{{ trigger.event.data.value }}'
- service: logbook.log
data:
name: 'Z-Wave JS'
message: 'received event: {{ command_class_name }} - {{ value }} - {{ label }}'
- choose:
- conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed'' }}'
sequence: !input 'button1_1'
- conditions: '{{ property_key_name == ''001'' and value == ''KeyHeldDown'' }}'
sequence: !input 'button1_held'
- conditions: '{{ property_key_name == ''001'' and value == ''KeyReleased'' }}'
sequence: !input 'button1_released'
- conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed2x'' }}'
sequence: !input 'button1_2'
- conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed3x'' }}'
sequence: !input 'button1_3'
- conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed4x'' }}'
sequence: !input 'button1_4'
- conditions: '{{ property_key_name == ''001'' and value == ''KeyPressed5x'' }}'
sequence: !input 'button1_5'
- conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed'' }}'
sequence: !input 'button2_1'
- conditions: '{{ property_key_name == ''002'' and value == ''KeyHeldDown'' }}'
sequence: !input 'button2_held'
- conditions: '{{ property_key_name == ''002'' and value == ''KeyReleased'' }}'
sequence: !input 'button2_released'
- conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed2x'' }}'
sequence: !input 'button2_2'
- conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed3x'' }}'
sequence: !input 'button2_3'
- conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed4x'' }}'
sequence: !input 'button2_4'
- conditions: '{{ property_key_name == ''002'' and value == ''KeyPressed5x'' }}'
sequence: !input 'button2_5'
- conditions: '{{ property_key_name == ''003'' and value == ''KeyPressed'' }}'
sequence: !input 'button3_1'
- conditions: '{{ property_key_name == ''003'' and value == ''KeyHeldDown'' }}'
sequence: !input 'button3_held'
- conditions: '{{ property_key_name == ''003'' and value == ''KeyReleased'' }}'
sequence: !input 'button3_released'
- conditions: '{{ property_key_name == ''003'' and value == ''KeyPressed2x'' }}'
sequence: !input 'button3_2'
- conditions: '{{ property_key_name == ''003'' and value == ''KeyPressed3x'' }}'
sequence: !input 'button3_3'
- conditions: '{{ property_key_name == ''003'' and value == ''KeyPressed4x'' }}'
sequence: !input 'button3_4'
- conditions: '{{ property_key_name == ''003'' and value == ''KeyPressed5x'' }}'
sequence: !input 'button3_5'
- conditions: '{{ property_key_name == ''004'' and value == ''KeyPressed'' }}'
sequence: !input 'button4_1'
- conditions: '{{ property_key_name == ''004'' and value == ''KeyHeldDown'' }}'
sequence: !input 'button4_held'
- conditions: '{{ property_key_name == ''004'' and value == ''KeyReleased'' }}'
sequence: !input 'button4_released'
- conditions: '{{ property_key_name == ''004'' and value == ''KeyPressed2x'' }}'
sequence: !input 'button4_2'
- conditions: '{{ property_key_name == ''004'' and value == ''KeyPressed3x'' }}'
sequence: !input 'button4_3'
- conditions: '{{ property_key_name == ''004'' and value == ''KeyPressed4x'' }}'
sequence: !input 'button4_4'
- conditions: '{{ property_key_name == ''004'' and value == ''KeyPressed5x'' }}'
sequence: !input 'button4_5'
- conditions: '{{ property_key_name == ''005'' and value == ''KeyPressed'' }}'
sequence: !input 'switchButton_1'
- conditions: '{{ property_key_name == ''005'' and value == ''KeyHeldDown'' }}'
sequence: !input 'switchButton_held'
- conditions: '{{ property_key_name == ''005'' and value == ''KeyReleased'' }}'
sequence: !input 'switchButton_released'
- conditions: '{{ property_key_name == ''005'' and value == ''KeyPressed2x'' }}'
sequence: !input 'switchButton_2'
- conditions: '{{ property_key_name == ''005'' and value == ''KeyPressed3x'' }}'
sequence: !input 'switchButton_3'
- conditions: '{{ property_key_name == ''005'' and value == ''KeyPressed4x'' }}'
sequence: !input 'switchButton_4'
- conditions: '{{ property_key_name == ''005'' and value == ''KeyPressed5x'' }}'
sequence: !input 'switchButton_5'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment