OZW - Inovelli LZW31-SN Dimmer

Based on existing inovelli blueprints by @vbflo and @kylerw, this is a basic blueprint for the Inovelli Red Series LZW31-SN Dimmer, specifically for use with OZW.

Use this blueprint to configure actions when a scene is activated.

:warning: This blueprint could use improvement!
At this time, it is not possible to obtain the node’s id when using the device selector.

  • The list of available dimmers is for reference only.
  • The node id must be entered manually.
blueprint:
  name: Inovelli Red Series LZW31-SN Dimmer
  description: Create automations for the Inovelli Red Series LZW31-SN Dimmer using the OZW integration. 
  domain: automation
  input:
    inovelli_switch:
      name: Inovelli Dimmer
      description: "List of available inovelli LZW31-SN dimmers.
      This list is only a reference. At this time, it is not possible
      to obtain the node's id using the device selector."
      selector:
          device:
            integration: ozw
            manufacturer: Inovelli
            model: LZW31-SN Dimmer Red Series
    ozw_node_id:
      name: Node ID
      description: "Enter the node id for an available LZW31-SN dimmer you wish
      to configure. For now, this field is required. At this time, it is not
      possible to obtain the node's id when using the device selector."
    ## Config Press 1 time
    config_button:
      name: Button C - Config press 1x
      description: "Action to run, when the config button is pressed one time."
      default: []
      selector:
        action: {}
    ## Paddle Press 1 time
    button_a:
      name: Button A - Up/On press 1x
      description: "Action to run, when the button is pressed one time.
      Typically, you will only set this if you have disabled the relay."
      default: []
      selector:
        action: {}
    button_b:
      name: Button B - Down/Off press 1x
      description: "Action to run, when the button is pressed one time.
      Typically, you will only set this if you have disabled the relay."
      default: []
      selector:
        action: {}
    ## Paddle Held Down
    button_a_held:
      name: Button A - Up/On held down
      description: "Action to run, when the button is held down.
      Typically, you will only set this if you have disabled the relay."
      default: []
      selector:
        action: {}
    button_b_held:
      name: Button B - Down/Off held down
      description: "Action to run, when the button is held down.
      Typically, you will only set this if you have disabled the relay."
      default: []
      selector:
        action: {}
    ## Paddle Press 2 times
    button_a2:
      name: Button A - Up/On press 2x
      description: "Action to run, when the button is pressed two times."
      default: []
      selector:
        action: {}
    button_b2:
      name: Button B - Down/Off press 2x
      description: "Action to run, when the button is pressed two times."
      default: []
      selector:
        action: {}
    ## Paddle Press 3 times
    button_a3:
      name: Button A - Up/On press 3x
      description: "Action to run, when the button is pressed three times."
      default: []
      selector:
        action: {}
    button_b3:
      name: Button B - Down/Off press 3x
      description: "Action to run, when the button is pressed three times."
      default: []
      selector:
        action: {}
    ## Paddle Press 4 times
    button_a4:
      name: Button A - Up/On press 4x
      description: "Action to run, when the button is pressed four times."
      default: []
      selector:
        action: {}
    button_b4:
      name: Button B - Down/Off press 4x
      description: "Action to run, when the button is pressed four times."
      default: []
      selector:
        action: {}
    ## Paddle Press 5 times
    button_a5:
      name: Button A - Up/On press 5x
      description: "Action to run, when the button is pressed five times."
      default: []
      selector:
        action: {}
    button_b5:
      name: Button B - Down/Off press 5x
      description: "Action to run, when the button is pressed five times."
      default: []
      selector:
        action: {}
mode: single
max_exceeded: silent
variables:
  device_id: !input inovelli_switch
  ozw_node_id: !input ozw_node_id
trigger:
  - platform: event
    event_type: ozw.scene_activated
condition: "{{ trigger.event.data.node_id == (ozw_node_id | int) }}"
action:
  - variables:
      scene_id: "{{ trigger.event.data.scene_id }}"
      scene_value_id: "{{ trigger.event.data.scene_value_id }}"
  - choose:
    - conditions: '{{ scene_id == 3 and scene_value_id == 1 }}'
      sequence: !input config_button
    - conditions: '{{ scene_id == 2 and scene_value_id == 1 }}'
      sequence: !input button_a
    - conditions: '{{ scene_id == 1 and scene_value_id == 1 }}'
      sequence: !input button_b
    - conditions: '{{ scene_id == 2 and scene_value_id == 3 }}'
      sequence: !input button_a_held
    - conditions: '{{ scene_id == 1 and scene_value_id == 3 }}'
      sequence: !input button_b_held
    - conditions: '{{ scene_id == 2 and scene_value_id == 4 }}'
      sequence: !input button_a2
    - conditions: '{{ scene_id == 1 and scene_value_id == 4 }}'
      sequence: !input button_b2
    - conditions: '{{ scene_id == 2 and scene_value_id == 5 }}'
      sequence: !input button_a3
    - conditions: '{{ scene_id == 1 and scene_value_id == 5 }}'
      sequence: !input button_b3
    - conditions: '{{ scene_id == 2 and scene_value_id == 6 }}'
      sequence: !input button_a4
    - conditions: '{{ scene_id == 1 and scene_value_id == 6 }}'
      sequence: !input button_b4
    - conditions: '{{ scene_id == 2 and scene_value_id == 7 }}'
      sequence: !input button_a5
    - conditions: '{{ scene_id == 1 and scene_value_id == 7 }}'
      sequence: !input button_b5

Blueprint Preview

:information_source: You do not have to configure every action when using this blueprint.

3 Likes

Because having 11 scenes in one switch in not ridiculous enough, I added the final two scenes for when the paddle is held. Though, typically these would only be used if local control of the relay has been disabled

very awesome! thank you for sharing! Can scenes for the led light bar be added in blueprints as well? Im still trying to get the hang of it.

1 Like

I’m sure they could be. I haven’t figured out much about the notification either.

:thinking: I’m not sure how we would set that up though. My first thought would be to have a separate blueprint that could be used create (or calculate) the notification. I’ve been using this Inovelli Toolbox to play around with, but how the value for notifications is being calculated, is some sort of magic I do not understand.

Some how, the notification parameter would need to be calculated based on user input from the blueprint. I can see it might be possible to do this with templates, but that is too far above my current level of expertise.

1 Like

I am receiving a message stating that a switch cannot be found for my switch

Message malformed: Missing input inovelli_switch

From your picture in the other post, it looks like you do not have a supported dimmer

  • Are you in fact using the dimmer that is shown in the OP?
  • Are you using the OpenZ-Wave (beta) integration?

(this blueprint does not work with older Z-Wave integration)

I have a LZW31, with the latest version of MQTT, OpenZ-wave, my switch is on version 1.35 firmware, I updated the frimware to 1.48 but unsure if it took the firmware as I cannot see the version changing. If I need to be on Version 1.48 ill have another try tomorrow.

Updated now to 1.48

Update - following installation of 1.48 - The multipresses work.

1 Like

Can this blueprint be made to work with the Inovelli Back Series LZW31?

I tried and I got a “Error: UndefinedError: ‘dict object’ has no attribute ‘event’” error when I tried to test it from the automation. Physical Button presses have no effect.

Someone please correct me if I’m wrong, but I don’t think any of the Black series are scene enabled

Hi there. This seems very familiar as I’m also getting this as cannot find my dimmer, even though I have it hooked up and it is showing in Z-Wave JS just fine. So not sure what the issue is and will continue to troubleshoot on my end. Any help/guidance would be appreciated!