PSA/Bug: Built-in Zooz Double Switch Driver Incompatible with Room Lighting?

I noticed there seems to be an incompatibility between the built-in Zooz Double Switch driver and Room Lighting. One of my ZEN30 Double switches was still using the built-in driver and I would notice that the fan/relay would not turn off consistently when used with Room Lighting, but the light does. It had worked fine with Basic Rules, but I wanted to change dim & color based on Mode so I moved them over. I noticed that I did NOT have the same issue with my other ZEN30 Double switches that are using this User driver: [DRIVER] Zooz ZEN Switches Advanced (and Dimmers). I have now switched this device over to this driver and it is working consistently well with my Room Lighting rule. So, if you're having issues with your Zooz Double switches, try using the other driver.

Glad my driver seems to work better. But the relay is just a simple on/off switch and room lighting would send the same commands to the child device as basic rules.

Doesn’t make sense how it would work sometimes either. If the driver was broken I would expect to never work from the command buttons, not sometimes.

If you said it never worked from the device page or rules and then switching to my driver fixed it, that would make more sense.

Can you narrow down what the issues are? You mention Room Lighting, so one possibility is that the state of your device was not updating on the hub and confusing some option in the app. Logs would be the most helpful to narrow this down if you encounter it again.

I haven't seen any similar reports with the built-in driver, but a problem could be fixed if there is indeed one--just need more to narrow it down. :slight_smile:

There have been issues reported with that driver before, with the relay specifically. BUT I am not sure if they got fixed or not since then.

As you said, the state not updating correctly may be what caused a sporadic issue only in RL, that would make perfect sense actually.

I think you are aware the 800LR model of the ZEN30 shifted the endpoint numbers so both dimmer and relay are on separate endpoints from 0, to meet current z-wave specs. I thought the system driver got fixed but I have never tested it.

I did notice that the state of the Fan was not in sync to what was on the device page whenever this happened. The device page would say Off but the Fan was still running physically. So, I think you guys are spot on the state of the device and why switching to your driver fixed the issue. Hasn't happened since switching.

Had no idea and don't have one of these to try. But if that's the matching model, that could explain it--the driver doesn't look like it's been touched in a few years.

Me either

I have 3 of them, a v1, v3 and a 800LR. Only the v1 is live, others are behind me wired up and ready to go for testing.

If the driver was never fixed recently to account for the changed endpoints, that may be what is broken on it. I will have to flip my test 800LR over to the system driver and get some debug logs. For the greater good I suppose.

I am fairly certain that everyone who goes to Zooz saying it doesn't work right they just tell them to use my driver, which is probably linked to right from their support docs.

2 Likes

On 800LR this setting is not saving, according to my notes it was removed in firmware 1.05 (a long time ago).

I tested on and off for dimmer and relay from the hub and physically. Seems to work every time. I think this system driver must ignore the endpoints and assumes any "Switch Binary" report is for the relay. Then Basic and Multilevel are assumed to be for the dimmer. Seems to be a correct assumption and it has no settings to change the reports (like some Zooz devices do).

So I am at a loss as to what the issue would be. See next post

It does look like the button events might be broken.

Relay On and Off, from hub and physically:

1 Like

Wait I think I got it... Turning the dimmer on and off changes the Relay state.

This is controlling from hub, dimmer only was touched. Relay did not click on (I would hear it).

Physical has the same effect:

Thanks! I ended up buying one of the 800LR models and think I have this all figured out now, though their changelog is mysteriously lacking a mention of any endpoint changes (seems like it's notable enough it should be there...), so I'm not exactly sure when this started. I went with the 800LR model or firmware 4.x, which is only available for that model. I did some searching and see the Zwavejs driver says firmware 3.20 should be a "feature match," even on the V3 hardware, but I'm not sure if that includes the endpoints. So, if anyone notices that firmware 3.20 still doesn't work after this fix is released, let me know, and I can adjust the logic.

This will definitely be in 2.4.0, but if there ends up being another 2.3.9 I'll try to remember to put it in before that gets built, too.

EDIT: I'm also seeing a bug where I don't see how button events would have ever worked in previous versions for anything other than (sometimes incorrectly) the relay button child device. This has also been fixed. I don't have anything before the 800LR model to test, and I know it works with this one, but again, I'm not seeing how it would have worked before, either...

4 Likes

According to my notes in my changelog the endpoints change was only on the v4 800LR model and Zooz told me they had to make the change to meet current z-wave specs. Something about because it was multi endpoint the dimmer and relay had to be on separate endpoints, neither could be on 0. I fixed this on mine basically right when it came out (Zooz asked if I could), had it working before the one they sent me even arrived.

The way I fixed it though, I am probing for the endpoints, so even if they backported the change to a 3.x firmware it would detect it and adjust itself.

Oh I also have a v3, almost forgot. It is showing it only has 1 extra endpoint, so that will function the same as the v1 and v2 did.

I would love to do that, but with the way this driver was written, it was much easier to just provide a different pseudo-hard-coded endpoint for which piece is which. The whole driver could probably use a complete revision to current norms at some point, but this should work for now...

And thanks for the information!