Connecting VRCZ4-MRZ - not to be confused with VRCS (DTH in post 20)

I just committed a first-cut DTH and SmartApp for the Leviton VRCZ4-M0Z, adapted from the VRCS4 modules by @ygelfand.

They seem to be working perfectly for on/off with my various Philips Hue bulbs and strips – still have to look at adding dimmer functionality. I’ve also left (most) of @ygelfand’s Z-Wave code in place, so it should be possible to support both Z-Wave Direct Association and plain-old SmartThings integration.

Will update the repository if/when I get dimmer functionality added.

Thanks so much for creating this. I was able to use it to get my VRCZ4 to pair with ST.

When I press the buttons, though, nothing (really) happens (other than the LED turning on).
I used the SmartApp to set up lights that should go on/off. If I press the buttons - nothing happens. If I turn on the lights directly from ST app, then the corresponding VRCZ4 LED turns on (so it clearly knows what it is SUPPOSED to control)

What am I doing wrong?

Thanks so much

Probably nothing (you’re doing wrong):

I’ve installed a second VRCZ4-M0Z and discovered that it’s also behaving like yours, as has @BadPirate (see here). Further analysis shows that while my first one reliably transmits Manufacturer Proprietary (0x91) commands that contain button-press information (and always has), the second one does not (even though it’s seemingly identical to the first VRCZ4 in every other respect). My best guess, at this point, is that whatever machinations I went through initially to get the first unit up and running (including trying other people’s DTHs and smartApps from this community) flipped some sort of configuration flag that enabled the 0x91 commands.

I’ve been trying to work with Leviton, but (as I’d started to suspect from scouring the various home-automation boards) they seem to be committed to preventing the VRCZ4-M0Z from working with SmartThings (or any other non-Leviton gear, for that matter). I’m caught in endless redirects and loops through their contact hierarchy, and along the way I’ve picked up some conspiratorial allusions to the fact that they know how to resolve this issue but have been specifically directed not to as a matter of corporate policy. (Still waiting for response to an escalated inquiry, but nothing yet.)

In any case, I haven’t given up on this – particularly as I have four of these things, and am keen to use them all. I’m fairly certain that the Z-Wave behavior can be manipulated to restore the 0x91 commands we need (or perhaps to provide some alternate workaround), and will continue to plug away both at direct interrogation of the unit and escalation contacts with Leviton.

In the meantime, I’ve ordered a Leviton USB (VRUSB-1US) which should enable me to use Leviton’s own Vizia RF + Z-Wave Installer Tool software to configure the VRCZ4. Hopefully, I can use this (possibly in conjunction with the SmartThings IDE?) to isolate any required Z-Wave configuration adjustments, and figure out how to apply these in future without need for the additional Leviton middleware.

Will keep you posted.


Thanks for the response. Definitely keep me in the loop.

I have two of these & honestly tempted to try to sell them and go down a different path (let me know if you need more :P). I was hoping I was just doing something wrong, but I don’t think the wife will tolerate the lights not working anymore!



I hear you re: the wife – mine is wondering if “the juice is worth all this squeezing” (!!!)

Without Alexa (and the ST/Hue phone apps), we’d have been done long ago. But if I can get them working dependably, I just might want to pick up a couple more…

OK – I’ve just posted an updated DTH and smartApp that now work with both of my VRCZ4-M0Zs.

I’ve essentially added a second control path that doesn’t rely on the 0x91 (Manufacturer Proprietary) button reports, but instead uses sceneControllerConfSet() and SceneActivationSet() commands. It’ll now work with either set of commands (sort of a belt-and-suspenders approach – my first VRCZ4 still utilizes 0x91s, but the second one doesn’t).

I will say that this remains more mysterious and opaque than it ought to be (no thanks to Leviton). But I got my VRUSB-1US yesterday, and the first thing I did was reset/reconfigure (only) my new VRCZ4 after including it to the Vizia RF + Z-Wave Installer Tool. This made it totally unresponsive to my SmartThings hub (as well as my Cooper Aspire Z-Wave dimmer) – in fact, for a while I thought it was completely bricked. I finally reset it again for inclusion back to the SmartThings hub (where it picked up a new networkId this time). While it never started generating the 0x91 messages, I was now able to successfully configure unique Z-Wave scene associations for each button, and then pick these up via SceneActivationSet events. (I have the dimming working for both control paths, too.)

Strangely, I lost the setLightStatus() functionality on the new VRCZ4 for a good long time (even though it had been working initially, before I got the Installer Tool). It, too, relies on 0x91 commands (and always has, ever since I inherited it from @ygelfand – would be curious to know where that logic came from?) Anyway, sometime (but not immediately) after I power-cycled it (via circuit breaker), the LED-tracking behavior began working again.

I’ve still got two more VRCZ4s to go, so hopefully I’ll get a firmer fix on just what (if anything) is really needed vis-à-vis the VRUSB-1US. The DTH and smartApp are certainly more robust now, but I’m not yet convinced there won’t be more Z-Wave finickiness before I can get the other two units stabilized.

Curious to see whether these new versions work any better for @birnboim, @BadPirate, or @barney.raymond?

1 Like

SetLightstatus() comes from lots of tinkering and me reverse engineering the Vera implementation. I did see that if you send something it doesn’t like (e.g. command with bad checksum, etc) it used to lock out. It’s been a while so don’t remember all the details.

Interesting. Did you have a Vera system (and/or can you point me to any documentation for same)?

Yeah I did/still do, though it’s no longer plugged in. It was closed source though as it was some sort of partnership w/ leviton so I think they gave them docs on the 0x91 commands. At least at the time I looked at this there was none public. If you find any id love to see them in case there’s anything else cool.

Sure. (And it worries me that, without your Vera-based explorations, we’d never know how to control those status lights…)

Quick update: I’ve now installed two more VRCZ4-M0Zs (for a total of four), and they both worked perfectly with my DTH and smartApp right out of the box (after I first let them get discovered by the SmartThings hub and initialized as "Z-Wave Remote"s).

I might tweak the dimming function to make it a bit faster, but otherwise these seem good to go.

Curious to know if these updates resolve the issues reported by others (@barney.raymond, @BadPirate, @birnboim)?

1 Like

Cheers for keeping development alive for the VRCZ4. I have got two partially working–On and dim work, but I cannot get any lights to turn off. Nevertheless, very excited that these are functioning for first time in years! Thank you

1 Like

So glad to hear that!

I’m surprised (and somewhat confused) to hear that it’s turning on and dimming for you, but not turning off? Offhand, I don’t see how that would be happening.

Happy to look into it with you, though – are you up for some live-log analysis?

I can talk you through, but I’d be especially curious to de-comment the log.debug statements in the buttonEvent() handlers in both the smartApp (line 72) and the DTH (line 159), and also to add some new ones in the DTH’s supporting methods buttonToSwitch() and buttonToStatus() (lines 186 and 192, respectively).

The old control path (see handleManufacturerProprietary() at line 92 of the DTH) expects the on/off state to be encoded in the Manufacturer Proprietary messages that I’ve only ever seen coming out of my very first VRCZ4. (And they still do, FWIW.)

The new control path uses Z-Wave association to associate the “on” sides of the buttons with “button” numbers 1-4, and the “off” sides of the same physical rocker-buttons to “button” numbers 5-8. Everything else keys off of those button-number assignments, so I’d expect “on” and “off” to work (or not work) similarly to each other.

I can see two possibilities thus far: Perhaps you’re on the old control path and the Manufacturer Proprietary codes you’re getting are slightly different from mine (so that the "on"s match, but the "off"s don’t?); or it could be that you’re on the new control path, and you’re (somehow?) successfully associating the “on” button-numbers but not the “off” button-numbers?

In any case, the debug statements I’ve suggested above (along with, perhaps, the ones in handleManufacturerProprietary()) should shine some immediate light on the situation.

Let me know what you see?

1 Like

@mpk I’m ecstatic that you and others have been working hard on making these Leviton scene controller switches more reliable. I installed a couple for my parents and their HS-WS100 connected lights sometimes takes 10 seconds to respond to the commands, and usually no faster than 2 seconds.

Are there any other reliable z-wave scene controllers that work with ST? I tried the Cooper-Aspire 5-button but from what I remember it didn’t work as well. I also saw the Evolve Controller series but have no idea if they can be integrated.

Sorry – I don’t have experience with any other controllers besides the VRCZ4s. But I will add that I’ve never seen anything approaching a 10-second delay (or even 2 full seconds, for that matter) with my setup.

What I have noticed, however, is occasional/intermittent lags of 1-2 seconds, which I’ve attributed to Internet delays in communicating across the cloud.

Can I ask where your parents are located, and what sort of Internet connectivity they have? (I’m in NYC, with a 1GB Verizon FIOS connection…)

I ended up using the Cooper Aspire switches. I found a device handler which worked pretty well.

I have noticed a delay in my setup, as well, but it might be the relays that I have behind the lights.

I have Fios 50/50, you think that is an issue?

I have a couple VRCZ4 devices that I didn’t use (one opened, one still sealed) in case anyone is interested.

I’m using the same scene controllers- they live in NYC with a 100 up/down FIOS connection.

I might be interested in your VRCZ4s (as my DTH/smartApp seem to be working well now – I already have four of them running). Message me directly and we can discuss?

(And no…I don’t really think FIOS 50/50 should be an issue)

Yeah…I doubt 100/100 is a problem (for delay). Not sure what else it might be – maybe radio noise for the Z-Wave?