Updating LZW31-SN firmware with Zwave JS

When I update the firmware using zwave JS, it successfully transmits the data, and the returned status is 0xFD indicating success, with activation required. I don’t have to do anything when using the Zwave PC Controller 5 software.

Has anyone updated with zwave JS? Is there a button push at the switch to perform the activation?

Your updating the firmware through the Z wave JS add-on? I didnt know it had that capability yet.

I’ve always updated through Z Wave PC Controller 5

No, zwavejs2mqtt has a basic control panel internal web page. Using that, your can initiate a firmware update. There were feature requests specifically added for this switch to allow targeting of updates to either target 0 or 1. My assumption is that someone out there has updated using this tool. Maybe not. It seems to me zwavejs does not properly send the activation command to finalize the process.

I opened an issue but received initial feedback from the dev that a user action on the switch was probably needed, but I don’t think that’s is the case based on my experience with the z wave pc controller.

1 Like

Can you link to that conversation? I’d be interested in tracking with that. OTA updates is a pretty big deal for how often Inovelli publishes new firmware (not that I’m complaining AT ALL, continuous improvement is key to the best possible product!).

1 Like

I get this now when upgrading firmware from zwavejs

16:24:33.258 CNTRLR « [Node 003] Firmware update failed with status Error_InsufficientMemory
2021-02-15 16:24:33.260 INFO ZWAVE: Controller status: Node 3 firmware update FINISHED: Status 7, Time: undefined

I am targeting 1 with the .bin version 1.43

Updating did work perfectly for me, both targets 0 and 1. It even automatically reinterviewed the node and the new configuration parameters showed up automatically. This is using the latest zwavejs2mqtt docker.

Whatever the issue is, it’s probably related to zwaveJS rather than Inovelli.

What firmware version of the switch did you go from and to?


On 2Mqtt or standard JS?

Interesting that it has worked for @DelusionalAI. I tried 1.47 to 1.52 but get the status as 0xFD indicating and activate command is required. I definitely think the issue is in zwavejs but posted here because I think the audience here is most likely to have this configuration. For what’s it’s worth, I’m running a docker master branch that I built. I’m using the husbzb-1 but I don’t the controller matters.

Trying to update my LZW31 right now…

Target 0 was succesfull:

Target 1 when I select the .bin file I get this…

Status 253 is success with activation required. If you refresh your node, the firmware will not be updated. I found a problem with the command sent from zwavejs, but I’m waiting on a response. I was able to make a simple mod locally and confirmed I can update target 0 (return status 255). However, I still get status 7 when updating target 1, so I’ll continue to dig. I’m hoping I can compare command logs of zwave controller 5 vs zwavejs to understand the difference with target 1.

At the top of that screen, does it say 6.2 or 6.3 for the zwaveJS version. Target 1 only works on >=6.3

Yeah, I’m on their master branch running 6.3+

Ahhhh yes, my version was still 1.47. But I restarted the add-on, updated target 0 again, and bam! 1.52.

@DelusionalAI , 6.2 Ill have to wait for 6.3 then

A few fixes were made with respect to this issue. The zwave2mqtt wasn’t passing along the firmware target id, zwavejs wasn’t defaulting the command to set the immediate activation of the firmware, and for alternate firmware targets the firmware target id was not properly set per the spec.

With these changes, both targets are working for me.

1 Like

I cant wait to try this out. Is there a way to target the master branch of node-zwave-js with the zwavejs2mqtt docker image?

It looks like the master branch docker image is available, just change your docker command. See available images/tags here

Otherwise, you can build your own image using the custom build.
See the custom docker build steps in the link below. I build on a raspberry pi 4 and it takes a little time but not too bad. It’s an easy process really.

Build instructions

1 Like

I think I would have to build custom because the mqtt image will only include the latest changes of the node-zwave-js when it was built.