Skip to content

Instantly share code, notes, and snippets.

@starbuck93
Last active April 24, 2025 14:56
Show Gist options
  • Save starbuck93/650541c589193f50a1c0cf7ca903aea2 to your computer and use it in GitHub Desktop.
Save starbuck93/650541c589193f50a1c0cf7ca903aea2 to your computer and use it in GitHub Desktop.
Inovelli Blue Series 2-in-1 blueprint demo for Home Assistant Z2M v2.0
blueprint:
name: Z2M v2.0 - Inovelli 2-in-1 switch + dimmer Scene Controls
description: 'For Inovelli Blue Series 2-in-1 switch + dimmer, model VZM31-SN
Allows setting a few different actions such as 2,3,4,5 clicking the up/down and
config buttons.
Updated for use with Zibbee2MQTT v2.0 with Device Actions
'
domain: automation
input:
switch:
name: Switch
description: Inovelli Switch.
selector:
device:
integration: mqtt
manufacturer: Inovelli
multiple: false
config_held:
name: Hold Config
description: Action to run
default: []
selector:
action: {}
config_release:
name: Release Config
description: Action to run (will also stop the "Hold Down" action automatically)
default: []
selector:
action: {}
config_single:
name: Single Click Config
description: Action to run
default: []
selector:
action: {}
config_double:
name: Double Click Config
description: Action to run
default: []
selector:
action: {}
config_triple:
name: 3x Click Config
description: Action to run
default: []
selector:
action: {}
config_quadruple:
name: 4x Click Config
description: Action to run
default: []
selector:
action: {}
config_quintuple:
name: 5x Click Config
description: Action to run
default: []
selector:
action: {}
down_held:
name: Hold Down
description: Action to run
default: []
selector:
action: {}
down_release:
name: Release Down
description: Action to run (will also stop the "Hold Down" action automatically)
default: []
selector:
action: {}
down_single:
name: Single Click Down
description: This will trigger an/some action(s), but also, it will probably
turn off the switch locally.
default: []
selector:
action: {}
down_double:
name: Double Click Down
description: Action to run
default: []
selector:
action: {}
down_triple:
name: 3x Click Down
description: Action to run
default: []
selector:
action: {}
down_quadruple:
name: 4x Click Down
description: Action to run
default: []
selector:
action: {}
down_quintuple:
name: 5x Click Down
description: Action to run
default: []
selector:
action: {}
up_held:
name: Hold Up
description: Action to run
default: []
selector:
action: {}
up_release:
name: Release Up
description: Action to run (will also stop the "Hold Up" action automatically)
default: []
selector:
action: {}
up_single:
name: Single Click Up
description: This will trigger an/some action(s), but also, it will probably
turn on the switch locally.
default: []
selector:
action: {}
up_double:
name: Double Click Up
description: Action to run
default: []
selector:
action: {}
up_triple:
name: 3x Click Up
description: Action to run
default: []
selector:
action: {}
up_quadruple:
name: 4x Click Up
description: Action to run
default: []
selector:
action: {}
up_quintuple:
name: 5x Click Up
description: Action to run
default: []
selector:
action: {}
source_url: https://community.home-assistant.io/t/z2m-inovelli-blue-series-2-in-1-switch-dimmer/484422
mode: restart
max_exceeded: silent
trigger:
- domain: mqtt
device_id: !input switch
type: action
subtype: config_double
trigger: device
id: "config_double"
- domain: mqtt
device_id: !input switch
type: action
subtype: config_release
trigger: device
id: "config_release"
- domain: mqtt
device_id: !input switch
type: action
subtype: config_held
trigger: device
id: "config_held"
- domain: mqtt
device_id: !input switch
type: action
subtype: config_quintuple
trigger: device
id: "config_quintuple"
- domain: mqtt
device_id: !input switch
type: action
subtype: config_single
trigger: device
id: "config_single"
- domain: mqtt
device_id: !input switch
type: action
subtype: config_triple
trigger: device
id: "config_triple"
- domain: mqtt
device_id: !input switch
type: action
subtype: config_quadruple
trigger: device
id: "config_quadruple"
- domain: mqtt
device_id: !input switch
type: action
subtype: down_double
trigger: device
id: "down_double"
- domain: mqtt
device_id: !input switch
type: action
subtype: down_held
trigger: device
id: "down_held"
- domain: mqtt
device_id: !input switch
type: action
subtype: down_quadruple
trigger: device
id: "down_quadruple"
- domain: mqtt
device_id: !input switch
type: action
subtype: down_quintuple
trigger: device
id: "down_quintuple"
- domain: mqtt
device_id: !input switch
type: action
subtype: down_release
trigger: device
id: "down_release"
- domain: mqtt
device_id: !input switch
type: action
subtype: down_single
trigger: device
id: "down_single"
- domain: mqtt
device_id: !input switch
type: action
subtype: down_triple
trigger: device
id: "down_triple"
- domain: mqtt
device_id: !input switch
type: action
subtype: up_double
trigger: device
id: "up_double"
- domain: mqtt
device_id: !input switch
type: action
subtype: up_held
trigger: device
id: "up_held"
- domain: mqtt
device_id: !input switch
type: action
subtype: up_quadruple
trigger: device
id: "up_quadruple"
- domain: mqtt
device_id: !input switch
type: action
subtype: up_release
trigger: device
id: "up_release"
- domain: mqtt
device_id: !input switch
type: action
subtype: up_single
trigger: device
id: "up_single"
- domain: mqtt
device_id: !input switch
type: action
subtype: up_triple
trigger: device
id: "up_triple"
- domain: mqtt
device_id: !input switch
type: action
subtype: up_quintuple
trigger: device
id: "up_quintuple"
action:
- variables:
command: '{{ trigger.payload }}'
- choose:
- conditions:
- '{{ command == ''config_held'' }}'
sequence: !input config_held
- conditions:
- '{{ command == ''config_release'' }}'
sequence: !input config_release
- conditions:
- '{{ command == ''config_double'' }}'
sequence: !input config_double
- conditions:
- '{{ command == ''config_quadruple'' }}'
sequence: !input config_quadruple
- conditions:
- '{{ command == ''config_quintuple'' }}'
sequence: !input config_quintuple
- conditions:
- '{{ command == ''config_single'' }}'
sequence: !input config_single
- conditions:
- '{{ command == ''config_triple'' }}'
sequence: !input config_triple
- conditions:
- '{{ command == ''down_double'' }}'
sequence: !input down_double
- conditions:
- '{{ command == ''down_held'' }}'
sequence: !input down_held
- conditions:
- '{{ command == ''down_quadruple'' }}'
sequence: !input down_quadruple
- conditions:
- '{{ command == ''down_quintuple'' }}'
sequence: !input down_quintuple
- conditions:
- '{{ command == ''down_release'' }}'
sequence: !input down_release
- conditions:
- '{{ command == ''down_single'' }}'
sequence: !input down_single
- conditions:
- '{{ command == ''down_triple'' }}'
sequence: !input down_triple
- conditions:
- '{{ command == ''up_double'' }}'
sequence: !input up_double
- conditions:
- '{{ command == ''up_held'' }}'
sequence: !input up_held
- conditions:
- '{{ command == ''up_quadruple'' }}'
sequence: !input up_quadruple
- conditions:
- '{{ command == ''up_quintuple'' }}'
sequence: !input up_quintuple
- conditions:
- '{{ command == ''up_release'' }}'
sequence: !input up_release
- conditions:
- '{{ command == ''up_single'' }}'
sequence: !input up_single
- conditions:
- '{{ command == ''up_triple'' }}'
sequence: !input up_triple
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment