[DRIVER] Zooz ZEN Switches Advanced (and Dimmers)

IT WORKED!! Man, what great timing! Thanks so much!

1 Like

Hey @jtp10181 I've had the following scenario happen quite a bit recently

What actually happened is the light was already on and when motion was detected, the switch (Zen26) turned the light off. After 2 minutes, the light stayed off. I've been having this problem for a few months actually, but it's usually just a one off thing and I keep forgetting to check the logs. Today though my wife said it has been doing it all morning and seems to continue doing it so I finally got the logs.

I waited a bit and went into the laundry room again. The light was still off. It turned on as expected. I waited the elapsed time and the light didn't turn off.

When I look at the device and go to Events, I see an event from RL that seems to be a command to turn off. Then I see an event from the switch that says the switch turned off. What I don't know is if that is the switch telling the hub "Hey I turned off" of if it's your driver reporting "Hey I told the switch to turn off."


I tested it several more times and it seems to be alternating between these 2 states. So the light is on and it turns off with motion. The device page will report the light state as off and then change to on. So the opposite of reality. I don't quite understand though because if the light is on, if an on command is sent shouldn't nothing happen?

The second state is the light is off and activating it works normally. The device page says the light is off. It changes to on when activated. When the time is up, the device page changes the state to off, but the light doesn't actually turn off.

The driver only changes the state based on a confirmed response from the device. So the device is telling the hub that it turned off. The "command-off" is the off command being called, where the driver tells the device to turn off, and the "off" event is when the device responds that it is off.

If you want to edit the driver code and enable trace logging at the very bottom and reproduce it again you can see the full message the device is sending back (which I will understand).

Sounds like maybe the device is having a melt down. Have you tried power cycling it?

Here is the scenario where the light was on and motion turns it off instead of on.

I was going to post the opposite scenario where the light is off, turns on as it should, but then doesn't turn off after but the log is identical.

Have you tried power cycling it?

Not yet. I wanted to gather some logs and troubleshoot first. It's annoying that the on/off switches don't have an air gap you can pull like the dimmers do.

That confirms the the device is sending a response that it is off, the SwitchBinary(0) is from the device and is supposed to mean it is off.

Power cycling had no effect on the behavior. I noticed if I open the device page, the on command acts like a toggle and the off command doesn't seem to work at all. Now that I think about it, I think it started acting up about the same time as the zen30 I posted about here Pretty sure my switch needs replacing. Any troubleshooting steps I should try that I have not thought of?

So I'm wondering if I had a surge or something that damaged them. Both devices are among the very first I ordered when starting though, so I'm wondering what this means for the longevity of my switches, which are all Zooz.

If they are less than 5 years old and you registered them (which not sure what that entails even) then the warranty ids supposed to be 5 years. Might be worth putting in a claim.

Is the ZEN30 800LR fix already included in your HPM package? I saw you make a comment to that effect but I'm not sure if you already did it.

Not yet, I am working on finishing up all my updates right now so hopefully by the end of the day. Brining all 3 drivers in this pack up to date with all my other improvements from other drivers.


OK, if you expect to merge that soon I might just wait for HPM version because its easier to maintain than manually installing a custom driver.... I bet it will fix my issue.... they update the official one I could optionally change back... or just keep using yours if it has advanced features anyway.

You can always do a GitHub install and then later just do a Match-Up in HPM to "sync" it.

1 Like

Any chance of support for param 31 and 32 for Zen72s added in 10.40?

  • Added parameter 31 to enable scene control from the momentary switch in a 3-way.
  • Added parameter 32 to disable LED blinking when a setting is changed.

Like we need MORE preferences for these guys :slight_smile: I Loooooooove my Zen Dimmers.

Yes those are both coming in the next version which I am still working on some final touches.



Ok I had been putting this off for too long. The last of my drivers to get re-based on my new code structure with a common library embedded at the end. So what matters to you? Updated parameters and a fix for the new ZEN30 800LR using different endpoints.

Homekit Integration fix for dimmers - Not sure if this is even still a problem but the HK integration was sending a Level command followed quickly by an On command which was setting the switch back to its prior level. I think I have got this working where it should block a On command that comes right after a Level command (before the level has even been set). If anyone was still having this issue can you please confirm if it is now fixed.

Forgot to mention in the changelog, the Brightness correction will be disabled with a message if the model/firmware has the same feature baked into the device firmware. Otherwise stacking my feature on top of it causes problems. This is ZEN77 10.20 or greater and ZEN30 800LR.

Version [2.0.0] - 2023-12-09

  • Rearranged functions and merged with library code
  • Removed unnecessary association attrbiutes
  • Depreciated the childDevices and refreshParams commands
  • Added doubleTapped events for better Button Controller support
  • Flash command now remembers last rate as default
  • Put in proper multichannel lifeline association for ZEN30
  • Fix for ZEN30 v4 firmware using different endpoint numbers
  • Added new settings for ZEN7x 10.20/10.40 base and ZEN30 800LR v4
  • Set Level Duration supports up to 7,620s (127 mins) for ZEN30 v4
  • Added possible workaround for Homekit integration issues (dimmers only)
  • Added paramters 16 and 17 for ZEN21 v4.05

@daniel.t.healy @linuxfreakus @dstutz


Awesome... currently busy painting a room, but I'll probably try this tomorrow. Thanks!

I've got something weird going on with my new Zen30 800 series. With the default minimum brightness of 1% I can only only dim the light down to 43%, but that 43% is just barely on. It's a perfect nightlight level and what I wish I could set the minimum too. But, I set it to 40%.

But now with the minimum brightness configured to be 40% it barely dims at all. If I set the level to 3% (which should actually be 40%) it barely dims. I can set the level to 1% and it's barely dimmer than 1%.

I am not sure if it's needed, since it seems to sync after saving preferences, but I did press configure after each change. The log seems to indicate everything is normal.

EDIT: And I just swapped the bulbs with 3 identical bulbs currently on a Zen77 that I know can dim very low and are working fine and experienced the same behavior.

EDIT2: I don't know if this is possible... but could it somehow be the wiring between the plug and fixture, or the fixture itself? This Zen30 just replaced another Zen30 that was having really bad flickering when dimming.

1 Like

Looks like the level thing is possibly my fault, the brightness correction is supposed to be disabled but looks like it is still adjusting it. I thought I tested this before but now I see its doing the same thing for me.


[2.0.2] - 2023-12-10

  • Set fallback log level to Info when not set yet
  • Fixed issue where not actually disabling brightness correction

That did fix the problem when changing the minimum brightness. But I can't help but wonder if there is something wrong with my new Zen30 800. I had to set the minimum brightness to 45%. That is actually dimmed pretty low. But it seems like they go from really dim to really bright very quickly because of this with not a lot of in between.

I have a Zen30 700 in the other bathroom with 3 different model bulbs. That switch currently has the minimum set to 15% and that is very dim. I have it set to come on at 3% (so around 17.5%) at night as a nightlight. I took those 3 bulbs and put them on the Zen30 800. On this switch (with no minimum set), at 35% is the lowest they come on.

The 3 bulbs on the Zen30 800, when connected to the Zen30 700 will dim down to 20% (again with no minimum set) and then turn off just below that.

Summary: 3 bulbs on a Zen30 800 switch will only dim down to 45%. The same 3 bulbs when connected to a Zen 30 700 switch will dim down to 20%.

So my conclusion is that either the dimming function works differently between the 700 and 800 series Zen30 or the new switch I got is not working correctly. Is anyone with both able to test this? Make sure the minimum and maximum values are not set.

I have a 800LR and a V3 sitting here on my test bench (a piece of cardboard on top of some bins :rofl:). I have a pretty nice bulb in the 800LR, I can dim it down to 1% and it still lights up. I will test it in the v3 and post an update.

After some testing, on the Zen30 800 series

At 100% I get 120V @ 60Hz
At 70% I get 92V @ 60Hz
At 50% I get 53V @ 60Hz
At 40% I get 42V @ 60Hz
At 30% I get 5V @ 180Hz
At 20% I also get 5V @ 180Hz
At 5% I get 3.2V @ 180Hz

So I went back and tested at 31% and I get 13V @ 60Hz. So it dims by reducing voltage until 31% and after that switches to lower voltage and higher frequency. I am curious and will check the Zen30 700 sometime later.