[DRIVER] Zooz ZEN Switches Advanced (and Dimmers)

Yeah it's not a complete flash off and ON at 95%'ish.. dimming down works fine down to around 10% even.. no flicker, or issues there.. Just the flash when hitting 100%.. thought maybe it was a weird feature.

Beet weird behaviour.

I have three Zen22 but I only have one wired right now and it’s in smart bulb. The other two are currently on the shelf and have been since I started using these drivers. I might have to wire one up and try this out. Lol.

Nope, none of my 4 do this with a variety of bulbs. Either the bulbs aren't compatible, or you might have a bad dimmer. I would lean toward bulbs, but hard to tell.

Ok I lied. I really have to stop doing that.

Only one Zen22 on the shelf. Hmmm. Device page/search. I have two in use and yes mine is working fine.

I am on FW 4.01

Anything important change?

Looks like just some association stuff was fixed


1 Like

Omg i am so sorry. I was just being lazy and didn’t feel like searching the Zooz website. Now I feel bad that you did it for me.

This is just like me supplying forum links to the people on FB who are too lazy to come here and search for themselves.

I was checking for myself and surprised the change log was actually current. Zooz has been slacking on the docs recently.


@jtp10181, I want to start by saying "Thank you" for the great work on the Zooz drivers -- very much appreciated!

I have a Zen30 that I have configured to disable both of the physical switches, but leave z-wave control on. I have a rule in rule machine configured to turn on both the dimmer and relay when button 1 of the dimmer is pushed OR when a pico remote button # 1 is pushed.

When I push button one of the zen30 dimmer, the relay lights go on, but the dimmer lights remain off. When I push button 1 of the Pico remote, everything goes on as expected.

I am wondering if this is a driver issue, a switch firmware issue or an issue with the way I've configured the Zen30. The switch is on firmware version 1.07, which is the latest firmware for my version 1 Zen30 switch (per Zooz).

Below are some logs and configuration screens. Any help you can provide would be greatly appreciated.


Logs from when button 1 (dimmer up) is pushed on the Zen 30. Rely load ("master bath light bar") goes on as expected; dimmer load does not go on when it should:

Logs from when button 1 is is pushed on the Pico remote. Everything goes on as expected:

Configuration of zen30

First set of lines from the custom driver I am using:


  • Zooz ZEN30 Double Switch
    • Model: ZEN30 - All Firmware
  • Changelog:

[1.4.4] - 2021-06-08 (@jtp10181)


  • Full supervision support for outgoing Set and Remove commands
  • Toggle to enable/disable outbound supervision encapsulation
  • Associations update with Params Refresh command so you can sync if edited elsewhere


  • Code cleanup and standardized more code across drivers

[1.4.3] - 2021-04-21 (@jtp10181)


  • ZEN30 Uses new custom child driver by default, falls back to hubitat generic
  • Command to change indicator on/off settings
  • Support for ZEN73 and ZEN74
  • Support for Push, Hold, and Release commands


  • Removed unnecessary capabilities
  • Renamed indicatorColor to setLED to match other Zooz drivers


  • Status Syncing... was not always updating properly

@jtp10181 how did you set this up in HPM? I have some virtual Switch drivers I'd like to add to HPM in a similar way. I don't know how to add drivers to HPM.

I've been setting up a bunch of ZEN72 and ZEN77 dimmers lately, and this driver has been working great.

I've run up against an issue though, which is that when using the SetLevel command, the duration value seems to be ignored by the dimmers, and instead they always use their configured ramp rate settings for the fade durations.

Has anyone else seen this too? I've been trying to figure out why my scene transitions weren't fading right, and it might be that the dimmers just don't honor the duration values that are being sent. They're on firmware v10.

Yeah on the 500 series switches they had a parameter to allow the ramp rate to be set via the zwave command, even that for some reason defaults to ignore it and use the ramp rate setting (param #9). I have no idea why they took that parameter out with the 7x switches and then forced it to match the ramp rate, if anything I would think it would be better to just always allow it to be set via zwave commands. I planned on asking them about it but if you want to open a ticket about it to Zooz you can do it as well on their site. Not sure when I will get a chance. I have a bunch of things I need to write up and send to them.

I checked this thread but I didn't see anything. Does this support ZEN15 advanced features to? Thank you for your time and help.

No, just the switches at this time. I know its not very convenient but you can use the 'Basic ZWave Tool' to set any parameter on any zwave device you want. You just have to install and switch to that driver temporarily. Super basic Z-Wave parameter tool

If I ever get a chance to rebuild how the parameters are handled internally on these switch drivers it will make it much easier to convert over and add to any other devices.

1 Like

Great thank you.

Oh yes, I agree. I can see the benefit of having a default ramp that works for digital, and not just physical commands. But that's an app or device driver thing really. Not following zwave spec like this, by ignoring the duration value, is effectively removing a core feature for dimmers. And I use this feature in most of my lighting automations.

I did, and Agnes is thinking they could address this issue in the next firmware update for mid September.

She also said that no one else has reported this issue? :astonished: So please do let them know, the more the better...

Would like to report a small bug/oversight maybe for the Dimmer driver. I just replaced the 3-way switch connected to a zen72 dimmer with a momentary toggle, went into the device page and switched from "Toggle On\Off Switch [DEFAULT]" to "Momentary Switch (ZAC99)" and after testing, things didn't appear to be working correctly. I had looked at the settings before and thought there were more options so I checked and there are 4 options for parameter 19:

3-Way Switch Type

Parameter 19: Choose the type of 3-way switch you want to use with this dimmer in a 3-way set-up. Changing this setting can allow you to control brightness and dim the light from both 3-way locations. Use a regular momentary switch (like the Zooz ZAC99 accessory switch) if value is set to 2.

Values: 0 – regular mechanical 3-way on/off switch, use the connected 3-way switch to turn the light off or on to the last brightness level, dimming only available from the Zooz Z-Wave dimmer and from the hub (or through voice control if smart speaker is integrated with your Z-Wave hub); 1 – regular mechanical 3-way on/off switch, tap the paddles once to change state (light on or off), tap the paddles twice quickly to turn light on to full brightness, tap the paddles quickly 3 times to enable a dimming sequence (the light will start dimming up and down in a loop) and tap the switch again to set the selected brightness level; 2 – momentary switch, click once to change status (light on or off), click twice quickly to turn light on to full brightness, press and hold to adjust brightness (dim up / dim down in sequence); 3 – momentary switch, click once to change status (light on or off), click twice quickly to turn light on to full brightness, press and hold to adjust brightness (dim up / dim down in sequence but always reduce brightness after double click). Default: 0.

Size: 1 byte dec

So then I switched to the Basic Z-Wave tool driver and got the current value for param 19 and it was 1 which is the second 3-way option. I used that driver to set param 19 to value 3 then switched back to your driver and everything is working as expected. All of my switches are firmware 1.03.

Love the drivers, very easy to configure them and love the switches as well! Thanks!

1 Like

Thanks for the tip, I missed that when I added the 7x switches. Most of the parameters stayed the same from the 2x switches so I had not dug into it that deep. I will get this fixed eventually, until then the solution of using the other driver will work. Just FYI if your parameters ever get refreshed in this driver it will start reporting there are changes to sync and then change it back next save. I don't think it will every refresh it though unless you manually trigger a parameter refresh..


The Zen30 also seems to only support changing the physical ramp rate and not zwave. I have a rule set to turn the lights on at 20% when motion is detected at night and specifically put a fade of 0 in the rule, but when motion is detected it still ramps up over time. Considering the light doesn't even start emitting light until about 15% this makes for a noticeable delay before the nightlight comes on.

Not sure if that's something you can address for the Zen30 or if Zooz would need to add it in a firmware update as well.

So in the docs they list a param #22 which is the same as what the ZEN27 has to enable setting the duration via zwave, but my notes in the driver code indicate it was removed in firmware 1.05 (even though docs still list it). I just tested it, and it is in fact not there anymore. I have no idea why they removed this parameter. I will piggy back this on my other case I have open so hopefully they can add it back.


The Dimmer and Switch drivers are updated on my DEV branch if anyone wants to test some upcoming changes. I totally overhauled the parameters to pave the way for new parameters to be easily added and configured per model. Also working towards making my code more universal so I can easily recycle it to different devices.

Also added the new parameter to disable programming from the paddle (aka toddler proof mode). And fixed the parameter oversight reported by @dstutz above.


Download the Hubitat app