Z-Wave JS: False Firmware Status

Z-Wave JS seems to be providing information about firmware which it is not informed about. I know that there are a few device manufacturers which have partnered with ZWJS so firmware updates can be provided and deployed seamlessly, and that is an amazing feature.

However, it seems that devices where ZWJS cannot find firmware are simply listed as Up-to-date, when that may not be the case.
In some cases, the firmware being listed as the current and latest is not even correct. For example, my Zooz ZEN15 shows that it is up to date with the installed and latest version both being 1.6.
However, the Zooz site shows that the latest firmware is 1.06, not 1.6. The “bug” in this example seems to be that the leading zero on the sub version got removed in a type cast. In this case, the device probably is actually up to date, but this is just coincidence.

For my Zooz ZEN04, the firmware is listed as Up-to-date with version 1.20.1, but the latest version is actually 1.30. (As a sidenote, I don’t even know if 1.20.1 exists, it should be 1.20, so I think this may be another bug)
I would prefer there be no status, or it be listed as Unavailable, instead of falsely claiming to be updated, when there is no version information available.

1.06 and 1.6 are the same FW version. These are not decimal numbers, even though they are formatted that way.

Yes, I am aware, as I said, the only “bug” is that the zero padding in the version was removed. But 1.6 > 1.10, so if a new firmware was released, it could be problematic.

The 0 padding is just for display used by some manufacturers. Z-Wave specification defines version number components as numbers 0-255. The number 6 is not greater than the number 10.

1 Like

Fair enough. The main point of this post is really about the fact that Z-Wave JS is listing the firmware as “Up-to-date” when it actually has no idea what the latest firmware version really is. It is simply copying the installed version, and listing that as the latest version.

Z-Wave specification defines version number components as numbers 0-255

I see now in Section of the spec that the Firmware ID is simply 2 bytes with the first byte being the major version and the second byte being the minor version, as you have stated, so it could be anything from 0.0 to 255.555. Which makes the version being reported on my other device (1.20.1) a bit strange.

You didn’t look far enough into Version CC v3.

From Spec Release 2023A.

ZJS reports the Application Version when Version CC v3 is supported.


Right again. So perhaps the device is actually reporting 1.20.1, and this is also not an issue. The folks at Zooz support did tell me the following:

We have also noticed with recent updates that HA is adding numerals to many of the firmware versions. There was never a 1.0.1 firmware version available for the ZEN25; your plug would be on 1.0.

But maybe this is not accurate.

This is still my main concern however: