Zooz ZEN72

Sounds like a Zwave switch config issue, most likely Parameter 20.

You can also see the logged event data if you go to the blueprint’s automation > Traces > Changed Variables. The event data is displayed under trigger.event.

I have 1 switch that wasn’t working because it sends integers even though it claims to be on the same firmware as the others, they all work after switching to value_raw though! I had to add the 3x handler and despite what their documentation says, the press and holds are swapped: 2 is hold, 1 is release. Here’s my action piece of the blueprint file:

action:
  - variables:
      scene_id: "{{ trigger.event.data.label }}"
      attribute_id: '{{ trigger.event.data.value_raw }}'
  - choose:
      - conditions: "{{ scene_id == 'Scene 001' }}"
        sequence:
        - choose:
            - conditions: '{{ attribute_id == 0 }}'
              sequence: !input dimmer_up_1x
            - conditions: '{{ attribute_id == 3 }}'
              sequence: !input dimmer_up_2x
            - conditions: '{{ attribute_id == 4 }}'
              sequence: !input dimmer_up_3x
            - conditions: '{{ attribute_id == 5 }}'
              sequence: !input dimmer_up_4x
            - conditions: '{{ attribute_id == 6 }}'
              sequence: !input dimmer_up_5x
            - conditions: '{{ attribute_id == 2 }}'
              sequence: !input dimmer_up_hold
            - conditions: '{{ attribute_id == 1 }}'
              sequence: !input dimmer_up_release
      - conditions: "{{ scene_id == 'Scene 002' }}"
        sequence: 
        - choose:
            - conditions: '{{ attribute_id == 0 }}'
              sequence: !input dimmer_down_1x
            - conditions: '{{ attribute_id == 3 }}'
              sequence: !input dimmer_down_2x
            - conditions: '{{ attribute_id == 4 }}'
              sequence: !input dimmer_down_3x
            - conditions: '{{ attribute_id == 5 }}'
              sequence: !input dimmer_down_4x
            - conditions: '{{ attribute_id == 6 }}'
              sequence: !input dimmer_down_5x
            - conditions: '{{ attribute_id == 2 }}'
              sequence: !input dimmer_down_hold
            - conditions: '{{ attribute_id == 1 }}'
              sequence: !input dimmer_down_release

Okay, I implemented the changes here, (Parameters 20&21) and the action script, but it still Isn’t working. I noticed that right after the button is held and is reported the switch sends a key released message. Is this hardware failure? Or is it fixable with software?

I’d like to accomplish the same thing and have a repeat loop occur on the hold up/down for dimming. Currently I’m only getting one increment each time I hold down the button. Can you elaborate where you’re putting the code you provided? I understand what it’s doing, but I’m a bit lost as to where it goes? Do I add to the blueprint or the automation yaml?

Thanks!

If it helps, I still need to do some more testing on the hold and release functionality, but after flipping through the multiple snippets and original script provided by @IOT_Ninja (THANK YOU!!), this seems to work with my new ZEN72:

For anyone looking, I just tested this with the Zen72 800LR and it does not work does work. I will have to rebuild your blueprint for that model if someone doesn’t get to it first. I haven’t been able to find any blueprint that matches.
See my later reply about how I got it to work: Zooz ZEN72 - #60 by Noblewolf

700/800 series version shouldn’t matter. If your switch is returning the raw value and not the data value, you can just use one of the other BPs posted in this thread.

Okay so I was going to say that this blueprint does not work with the “ZEN72 800LR” model, but in-fact it does! But, you have to enable Parameter 13 “Scene Control” in the switch settings like in the screenshot below:


I am new to z-wave everything so … yea. Learned something new about Zooz switches!

Also, @IOT_Ninja if you could please update your blueprint and title to include the model “ZEN72 800LR” I can confirm that everything I’ve tried has worked so far and I’ll be sure to post here if any of the actions do not work.


I mean that the model of the switch is not “ZEN72” it is “ZEN72 800LR” so it is a different model than the blueprints are looking for. I tried changing the blueprints to work with this switch by adding “ZEN72 800LR” to the blueprint selector, but it still did not work.

Product: Zooz 800 Series Z-Wave Long Range Dimmer ZEN72 800LR - The Smartest House

I’m unable to make this blueprint work for my LR version of the switches. I have that parameter enabled and firmware updated. Any suggestions?

It worked for me but I had to make a new copy of the yaml file and make the following changes. You can just save it as zooz-zen72-800lr.yaml in the same folder and rename it. I think what is important is the “Model Name” matches.

blueprint:
  name: Zooz ZEN72 800LR
  description: Automations helper for the Zooz ZEN72 800LR Dimmer Switch using the Zwave
    JS integration. Credit and thanks goes to OP and contributors of this thread -
    https://community.home-assistant.io/t/zooz-zen72/322433/53
  domain: automation
  input:
    zooz_zen72:
      name: Zooz ZEN72 800LR
      description: The ZEN72 Switch to interact with.
      selector:
        device:
          integration: zwave_js
          manufacturer: Zooz
          model: ZEN72 800LR
          multiple: false

Thanks for the blueprints, it’s been helpful. I’m using this with smart bulbs, so local control is disabled. I was previously using Pico’s but am migrating since these look more like regular light switches and of course I don’t have to bundle all the wires in the switch.

Anyway, the previous blueprint I was using for the pico’s allowed the hold button to continue raising the brightness or dimming of the lights. I’ve tried just inserting the action into the hold - but isn’t not quite right. Was hoping someone might advise what I need to switch.

Previous blueprint for Pico: The section for dim down is near the end…

 - conditions:
    - condition: trigger
      id: down_pressed
    sequence:
    - repeat:
        sequence:
        - service: light.turn_on
          data:
            brightness_step_pct: '{{ step * -1 }}'
            transition: '{{ speed / 1000 }}'
          target:
            entity_id: !input entity
        - delay:
            milliseconds: !input speed
        until:
        - condition: numeric_state
          entity_id: !input entity
          attribute: brightness
          below: 1
  - conditions:
    - condition: trigger
      id: down_released
    sequence:
    - delay:
        milliseconds: 100
  - conditions:
    - condition: trigger
      id: off_pressed
    sequence:
    - service: light.turn_off
      data:
        transition: !input transition_off
      target:
        entity_id: !input entity

Brightness Increase:

  - conditions:
    - condition: trigger
      id: up_pressed
    sequence:
    - repeat:
        sequence:
        - service: light.turn_on
          data:
            brightness_step_pct: !input step
            transition: '{{ speed / 1000 }}'
          target:
            entity_id: !input entity
        - delay:
            milliseconds: !input speed
        until:
        - condition: state
          entity_id: !input entity
          attribute: brightness
          state: '100'
  - conditions:
    - condition: trigger
      id: up_released
    sequence:
    - delay:
        milliseconds: 100

Hey, I’m not sure if you addressed this (didn’t see it in this thread), but I believe it is (now?) possible to allow multiple models. I noticed the code inside the ZEN32 BP by @fxlt.

        device:
          filter:
          - integration: zwave_js
            manufacturer: Zooz
            model: ZEN32
          - integration: zwave_js
            manufacturer: Zooz
            model: ZEN32 800LR
          multiple: false

Thanks for putting this BP together, it’s a huge time saver.

All, I have updated the BP with the following changes:

  • Added support for ZEN72 800LR version
  • Added Scene 003 actions for external momentary dumb switch press/hold/release events (see top post for details and Zooz links)
  • Added support for value_raw events
  • Added loop-on-hold option
  • Added selector option for automation mode
  • Uncommented 3x actions

Some of these are significant changes, so please make sure you read and understand them before re-importing the BP.

Please test and let me know if any additional edits are needed!

2 Likes

Just got a chance to try this. I’m getting an error.

My YAML on the BP is pretty simple so far.

alias: ZEN72 - Living Room Cans
description: ""
use_blueprint:
  path: X/Zen72.yaml
  input:
    zooz_zen72: fe159969c00e06661f33defcceae3363
    dimmer_up_1x:
      - service: light.turn_on
        metadata: {}
        data:
          transition: 1
        target:
          entity_id:
            - light.living_room_cans
    automation_mode: single

I just copied and pasted the updated BP into my BP .yaml. I did noticed that VS Code was throwing some errors at that point, but didn’t make any changes.

I removed the line breaks that VS Code was flagging, but that didn’t make a difference.

I’m gonna swap back to the previous version for now, but any ideas what I did wrong?

It’s something on my end. The old version is giving the same error.

Still haven’t figured this out.

I’d originally been importing you BP from a GitHub repo I set up so I could have versioning.

Last night I made the changes manually that made it all stop working. At the end of the night I got the old version working again by reimporting from GH. However that didn’t work for the new version and I’m still getting an error with that.

Looks like I had some improper formatting in the repeat loops. Please let me know if you’re still having issues.

1 Like

You’re awesome Ninja! That fixed the errors, and now this is all ready for when the ZAC99s show up that I ordered. Thank you so much for your help and the time spent writing this.

I modified this one to create a blueprint for a Zen71 800 LR. I’m still tweaking it, so I’m not ready to post it for general use quite yet.