[RELEASE] Z-Wave Firmware Updater

Alright.... I really like my Zooz switches but I have never been able to update the firmware of any Zooz device without a slew of problems. I think I successfully updated my new Zen30 double switch from 1.03 to 1.05 using the URL provided by Zooz support.

The switch was working fine before I updated it. Now, I can control it through Hubitat, but neither the physical dimmer switch nor the relay will work. After changing the driver back to the Zooz Double Switch driver, it's also still reporting the firmware as 1.03. In the past, after updating my Zen21 switches, I had to exclude, then factory reset, the include the switch back to Hubitat, so I thought I'd try that. I can't get the switch to exclude. Nothing seems to work. Hubitat just does not ever get a signal from the switch, and I think it's because the physical buttons are not working??

I think factory resetting involves using the switch (i'd have to look it up again, but I think it's tap-tap-tap and hold for 10 seconds). I haven't tried it, but with the buttons being unresponsive at the moment I'm hesitant to try it.

https://www.support.getzooz.com/kb/article/337-my-zen30-double-switch-won-t-control-the-lights-or-relay/

1 Like

I am almost positive you will have to remove it from Hubitat and pair it again. That was my experience with Zooz stuff anyway. And I do seem to remember having to do the factory reset to the switch also before it would pair with Hubitat.

You will want to read through the thread as there is a specific way to remove this device without causing ghost nodes and other issues. I can't remember the specific order, but I think the idea is to be certain it isn't still on a dashboard or being used in any rules or other automations before removal.

I think I have something more weird going on. Maybe I just don't understand how this switch is supposed to work. I've been going back and forth between the computer and the switch and all of a sudden the relay started working. It toggled the light on and off twice and then it stopped working again. Pulled out my phone and opened my test dashboard. I toggled the light on and off a couple of times. Tried the relay again... nothing.

Also, the dimmer switch seems to sorta be working, but very inconsistently. Sometimes, hitting on will turn the light on full brightness (I set the option for single tap full brightness). Sometimes, it seems to only turn on at 1% (which actually doesn't cause the lights to turn on at all, but I can see it at 1% on the dashboard). Hitting off seems to literally do nothing. To turn the lights off, I have to hit on again. Though, this doesn't always work. Sometimes I just have to randomly mash buttons before the light actually turns off.

I'm wondering if I got a bad batch of switches. The first one didn't even power on; I'll be emailing Zooz support about it later.

This has been my experience with other Zooz devices as well. But I can't get the device to exclude. I guess I'll need to manually delete it, then try to factory reset it, and hope I am able to include it again. I'm worried about creating zombie nodes. I guess I'll search this thread first.

That would seem to be unusual. I can't see getting more than one bad one if any at all. My experience with Zooz has been pretty good, but I did have one switch fail after a few months use. But everything initially was fine.

I think the post for removing this is Aaiyar's post from May 28th. I think it is #710 if I am reading the numbers on the right correctly.

Edit: also look at post 650, May 20th from scottygu3.

Zooz is also really good with support so you could shoot them an email.

I ended up force removing it, then I did a factory reset, and then I reincluded it. It seems to be working correctly now, even the physical buttons.

Edit: also look at post 650, May 20th from scottygu3.

lol... that's me he responded to from when I had this exact same issue with my Zen21.

My experience with Zooz has been pretty good

Mine too. So far I think it was actually just the 1 switch that was bad. I had ordered 2 Zen30s and the first one the LED indicator light wouldn't even come on when I turned on the breaker. I disconnected it and wired in the 2nd switch the exact same way and it's working (now... lol). So I know it was wired correctly.

1 Like

Sorry! But at over 1000 posts, it is hard to keep everything straight!

Hello! This is me. I had a Zooz Zen27 that I flashed to a v2.03 firmware yesterday just fine, and now when I tried to upgrade to v2.08 I get the error about waking up my sleepy device. Flipping it back to its original device type I've discovered it's not responding to anything.

If I don't follow up, assume I've re-enrolled it successfully and the world is back to normal. You may want to add a step to the process where we verify it's still paired before flipping device types.

Thanks for putting this together!

FWIW, and I think this should be a sticky note someplace, Zooz devices must always be excluded and reincluded on a firmware update.

I'm not sure if its entirely by design, but the Zooz firmware updates effectively result in a factory reset, and they are essentially a "new" device.

S.

2 Likes

Maybe @danabw can put together a document for the Zwave firmware updater and all the quirks related to it :slightly_smiling_face:

A call for volunteers! A moment for me to shine!!

I tensed, poised for action, muscles like steel springs, and with lion-like grace and speed, lept two paces back.

So some dumb schlep next to me who wasn't paying attention got the job... :wink:

I've never used the FW updater (not sure if that's fortunate or unfortunate) so, at least for now, I'll humbly decline. Thank you so much for thinking of me. :smiley:

2 Likes

I'm trying to update some Inovelli LZW30 switches from the factory loaded 1.11 to 1.19 in order to disable the 700ms delay. I managed to get some of my switches updated on my PC using my Z-Stick, but get nowhere using the driver here, and would rather not go through the pain of excluding them and breaking rules I've already established on the hub.

First indication of an issue is that when I run the getVersionReport, there is no response (nor is anything reflected in the logs), but when running the latest driver code from Inovelli, I can clearly see the 1.11 firmware version being reported. When I try to actually update the firmware, I get the wake sleepy device error, but I don't think that's the issue considering I can't even get getVersionReport to provide any output.

This is on a C-7 HE running 2.2.3.145. My LZW30-SN switches had the same issue, but I was smart enough to get all of them updated before applying rules. I had no issues updating an LZW31 using this driver.

Some options:

  1. Include Z-Stick to Hubitat as secondary controller. Then flash from PC Controller software. You don't have to exclude/reinclude the switches from the Hubitat network.
  2. If you do exclude switches you can preserve the rules by following the instructions:
    Migrating a Z-Wave Network
  3. I haven't used it, but I think the "replace" button on the Z-Wave details page on the C7 will also work as long as you don't exclude the device from the Hubitat network before flashing

@bill.d Thank you! I will definitely give that a shot this evening! I'm new to Z-Wave outside of my alarm system, so have little idea of what is possible.

I did notice that the Inovelli driver has some logic using either applicationVersion or firmware0Version to obtain firmware version while this driver is using applicationVersion only. Could that be the issue?

No idea. I've only upgraded using the Z-Stick method.

I monkeyed with the Inovelli driver code enough to tell me which command is being used, and sure enough the switch is reporting its firmware version using firmware0Version, which tells me the switch is returning a null value using applicationVersion probably causing issues with this driver. @bcopeland do you think there is anything to this?

Inovelli driver code snippet:

def zwaveEvent(hubitat.zwave.commands.versionv1.VersionReport cmd) {
if (debugEnable) log.debug "${device.label?device.label:device.name}: ${cmd}"
if(cmd.applicationVersion != null && cmd.applicationSubVersion != null) {
def firmware = "${cmd.applicationVersion}.${cmd.applicationSubVersion.toString().padLeft(2,'0')}"
if (infoEnable) log.info "${device.label?device.label:device.name}: Firmware report received 1: ${firmware}"
state.needfwUpdate = "false"
createEvent(name: "firmware", value: "${firmware}")
} else if(cmd.firmware0Version != null && cmd.firmware0SubVersion != null) {
def firmware = "${cmd.firmware0Version}.${cmd.firmware0SubVersion.toString().padLeft(2,'0')}"
if (infoEnable != false) log.info "${device.label?device.label:device.name}: Firmware report received 2: ${firmware}"
state.needfwUpdate = "false"
createEvent(name: "firmware", value: "${firmware}")
}
}

I'm stuck on "Padding hex bytes" while trying to update the firmware of an Inovelli LZW36 switch according to Inovellis' instructions (.gbl file). What do you suggest? Can I abort without bricking the device? How do I get past that padding hex bytes?

From my experience with the same LZW36 problem, yes, you can abort. You really don't have a choice.

I tried that same update multiple times from Hubitat. Unfortunately, it just doesn't work (and it does not matter if you pair it with or without security - I tried). You'll need to use either the Z-stick method or some other system to do the update until the firmware updater is fixed (assuming the problem is in the firmware updater driver -- but maybe the problem is in the Hubitat main platform firmware and you'll have to wait until firmware 2.2.4 or later). I'd suggest just waiting until after the next Hubitat firmware update and try again, then do the Z-stick method if you have a USB Z-wave stick.

This is actually a pretty major update for the LZW36. Without it, the wall switch can lose connection with the canopy module. After I installed the LZW36 update, no more problems.

So, can I abort at this point without bricking it?