Z-Wave Plus 700/800 Series S2 ZEN 71/72/76/77 Switches

This is a blueprint for triggering actions based on presses of the On/Off buttons of the Z-Wave Plus 700/800 Series S2 Dimmer Switch (Zen77) using the ZWave-JS Integration.

UPDATE: Added 800 series as well
UPDATE 7/12/2024: Added all zen 71/72/76/77 switches of both 700 and 800LR variety. Changed to allow for multiple selections.

blueprint:
  name: Z-Wave Plus 700/800 Series S2 ZEN 71/72/76/77 Switches
  description: Create automations for the Z-Wave Plus 700/800 Series S2 Switches Zen71/Zen72/Zen76/Zen77
  domain: automation
  input:
    zooz-switch:
      name: Zen71/72/76/77 Switch/Dimmer
      description: List of applicable Zen switches/dimmers.
      selector:
        device:
          multiple: true
          filter:
            - integration: zwave_js
              manufacturer: Zooz
              model: ZEN77
            - integration: zwave_js
              manufacturer: Zooz
              model: ZEN76
            - integration: zwave_js
              manufacturer: Zooz
              model: ZEN77 800LR
            - integration: zwave_js
              manufacturer: Zooz
              model: ZEN76 800LR
            - integration: zwave_js
              manufacturer: Zooz
              model: ZEN71 800LR
            - integration: zwave_js
              manufacturer: Zooz
              model: ZEN72 800LR
            - integration: zwave_js
              manufacturer: Zooz
              model: ZEN71
            - integration: zwave_js
              manufacturer: Zooz
              model: ZEN72
    button_a:
      name: Button A - Up/On press 1x
      description: Action to run, when the button is pressed one time.
      default: []
      selector:
        action: {}
    button_a2:
      name: Button A - Up/On press 2x
      description: Action to run, when the button is pressed two times.
      default: []
      selector:
        action: {}
    button_a3:
      name: Button A - Up/On press 3x
      description: Action to run, when the button is pressed two times.
      default: []
      selector:
        action: {}
    button_a4:
      name: Button A - Up/On press 4x
      description: Action to run, when the button is pressed four times.
      default: []
      selector:
        action: {}
    button_a5:
      name: Button A - Up/On press 5x
      description: Action to run, when the button is pressed five times.
      default: []
      selector:
        action: {}
    button_a_held:
      name: Button A - Up/On held down
      description: Action to run, when the button is held down.
      default: []
      selector:
        action: {}
    button_b:
      name: Button B - Down/Off press 1x
      description: Action to run, when the button is pressed one time.
      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: {}
    button_b3:
      name: Button B - Down/Off press 3x
      description: Action to run, when the button is pressed two 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: {}
    button_b5:
      name: Button B - Down/Off press 5x
      description: Action to run, when the button is pressed five times.
      default: []
      selector:
        action: {}
    button_b_held:
      name: Button B - Down/Off held down
      description: Action to run, when the button is held down.
      default: []
      selector:
        action: {}
  source_url: https://community.home-assistant.io/t/z-wave-plus-700-800-series-s2-zen-71-72-76-77-switches/414382
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 in device_id }}'
action:
- variables:
    button_id: '{{ trigger.event.data.property_key_name }}'
    press_count: '{{ trigger.event.data.value }}'
- service: logbook.log
  data:
    name: Button Id
    message: '{{ button_id }}'
- service: logbook.log
  data:
    name: Press Count
    message: '{{ press_count }}'
- choose:
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed" }}'
    sequence: !input 'button_a'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed2x" }}'
    sequence: !input 'button_a2'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed3x" }}'
    sequence: !input 'button_a3'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed4x" }}'
    sequence: !input 'button_a4'
  - conditions: '{{ button_id == "001" and press_count == "KeyPressed5x" }}'
    sequence: !input 'button_a5'
  - conditions: '{{ button_id == "001" and press_count == "KeyHeldDown" }}'
    sequence: !input 'button_a_held'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed" }}'
    sequence: !input 'button_b'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed2x" }}'
    sequence: !input 'button_b2'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed3x" }}'
    sequence: !input 'button_b3'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed4x" }}'
    sequence: !input 'button_b4'
  - conditions: '{{ button_id == "002" and press_count == "KeyPressed5x" }}'
    sequence: !input 'button_b5'
  - conditions: '{{ button_id == "002" and press_count == "KeyHeldDown" }}'
    sequence: !input 'button_b_held'
4 Likes

Loaded this up, but it doesn’t seem to work with the zen77… have any changes been made to yours since you posted this?

It should. Only thing I’ve updated since was removing one of the service logbook.log entries as it was giving me errors. I just updated to reflect.

All my Zen77s show up:

Great, yes I got it working. Trying to figure out how to have it use the value from the switch’s dimmer (0-99) to control dimming of a smart bulb. Holding up or down the switch does change the value I can see in home assistant (the switch is set to smart light mode, so its not providing less power to the smart bulbs).
Any recommendations there?

Not 100% sure, but I think there are two ways to accomplish that.

  1. a simple zwave association with the bulb if it is a zwave bulb. I don’t have any zwave bulbs so never done this, but I think thats how it is supposed to work. If you go this way I am sure the zooz folks will be able to walk you through it and you wouldn’t need this blueprint unless there was other stuff you wanted this switch to do.
  2. Also, don’t think this blueprint will help you but you would need to make an automation similar to the one here: Setting brightness in automation - #10 by LivArt. I believe what it does is try to keep your dimmer’s brightness attribute synced with the bulb.

pardon my ignorance, but can you tell me how to import this blueprint into my home assistant instance?

thank you!

How did you get it working? My Zen77 isn’t showing in the list of available dimmers in the blueprint.

I believe I just restarted… the only code change I made to this was to add the 3x press back (it’s clearly skipped in the code although it has a selection for it)

Same as jldg1, Zen77 isn’t showing in the list of available dimmers

1 Like

Same, I have Zooz 800 Series Z-Wave Long Range S2 Dimmer Switch ZEN77 800LR - The Smartest House and the blueprint isn’t showing them. :frowning:

I went into the blueprint code and remove the input selector model ZEN77, and when I selected my ZEN77 switch none of the actions that I set in the blueprint run.

@PaulChicago if you have the same switch I linked above, what did you do to ‘get it working’?

You should leave the input selector in. If you want to modify, just make sure your devices are showing model and manufacturer correctly:

This is also assuming you are using zwave js integration.

1 Like

I have the same dimmer and home assistant detected it as a ZEN77 800LR. You have to change the model number under input:

  input:
    Zen77 Dimmer:
      name: zooz-switch
      description: List of available Zen77 dimmers.
      selector:
        device:
          integration: zwave_js
          manufacturer: Zooz
          model: ZEN77 800LR
2 Likes

@muddro ,

Could you update the device filter to have ZEN76 800LR?

          - integration: zwave_js
            manufacturer: Zooz
            model: ZEN76 800LR

I just tested by adding this filter to your blueprint and tested with my own switches and can confirm it is working just fine for this model as well!

No problem. Done

1 Like

This has been a fantastic blueprint, thank you.

I have Zen72 800LR switches and have modified the filter to support those and can confirm they work like the rest if you’d like to add that as a supported device:

        - integration: zwave_js
          manufacturer: Zooz
          model: ZEN72 800LR

I also changed the device selector to “multiple” and updated the condition to the following to allow for multiple switches that all will match a single automation and execute. My use case is multiple switches running without a load connected acting as remote 3-ways to control lights, so I want say 4 switches to all do the exact same thing with single/double taps.

condition: “{{ trigger.event.data.device_id in device_id }}”

Hi,

I want to use the Zen72 or Zen77 (Whats the difference) as a remote dimmer in a wall box (i.e. with no load). It will control another Zen72/Zen77 dimmer that is in another location (and connected to another controller.

So, I guess a few questions for you experts.

  1. What’s the diff between Zen72 and Zen77 (which one should I buy)
  2. Can they operate with no load – and just fire off and receive z-wave messages.
  3. Do I need to go via HS because they are on two different z-wave networks?
  4. What’s the latency like (i.e. press dimmer up on one unit and see the response on the other)?

Thanks in advance,

suresh

ZEN 72 vs 77 from what I can tell is in how they handle 3-ways. The 77 allows you to use your typical/existing wiring (mains voltage w/ 3 way switch output going to the load) where the 72 requires the 3-way to be re-wired to just communicate back to the switch using switched neutral/ground approach. I’m using 72’s for my remote, no load switches

Yes you can definitely operate with no load, you do have to set some configuration parameters to enable scene control and disable the relay.

Sorry can’t help on this one.

For my house based, same z-wave setup the latency is about as good as the 3-way approach, so ~200-300 ms It’s noticeable, but not long enough to cause someone to try and turn it on again or something.

I would also point out that if you are using a dimmer (regardless of model) to control another one, you would probably want to use the native zwave association for that, not a home assistant automation. Both would need to be dimmers and you would need to set up group associations in zwave js:

This method would have the least amount of latency I believe and work.

Thank you for the suggestions on updating the blueprint. I’ve enable multiple and added all 71/72/76/77 switches. I think that should cover it all.