SmartThings Device Firmware Update - Secondary Controller Method

I’ve written a tutorial on how to use a USB Z-Wave device as a secondary controller in your SmartThings network to update the firmware of a device. This makes it so you can update the firmware without excluding the device from your network first.

One thing to note when doing an update in place like this is that if new configuration parameters are introduced in the firmware, they may have an unexpected value after the update is complete. It is a good idea to go into the device preferences and set these configuration options to their desired settings to make sure they are set to what you want.


This would have been so helpful when I did this the first time! Great KB article.

Few recommendations:

  1. For the fan/light, you will want to update the parent, not the two sub-devices (hesitate to call them children).

  2. For the dimmers with 2 Targets you should specify how to handle that AND that there needs to be a 30s break between the first and second updates. I’ve consistently found that the second update (bin) doesn’t work if I start it before I regain physical control of the switch after the first target is updated.

Great work!

1 Like

Better late than never! LOL.

Thanks for the feedback. I will add some more information as suggested.

1 Like

While this is my preferred method of doing the upgrades, I have found that I still have to exclude/include in Smartthings to get scenes working again. Also the updates don’t seem to appear in IDE until exclude include is done.

I’m not sure what you mean by updates, but make sure you set any new configuration parameters after you do the update as mentioned in the first post. Specifically if you don’t set the “instant on” parameter to disabled then you will lose most of the scenes.

Sorry, I was referring to the firmware upgrade. I did set the parameters after flashing, but scenes just wouldn’t work until after exclude/include. Like I said IDE didn’t show any changes until I did an exclude/include. BTW, it’s a real shame the classic app is going away, the device handler is fantastic there.

I have tried this process 3 times and 2 of the times I get the PIN from the PC Controller as expected but the Smartthings app never goes to the QR screen so I can click on Manuel setup. Is there something else I am missing? The first time it just completed without bringing up the pin screen. Last two times it gives me a retry option in Smartthings app, not the QR screen.

Perhaps it was just me … but it wasn’t immediately obvious that I had to update both files in order to complete the operation per switch. It might make sense to make that more clear in these instructions for dense folks like me :slight_smile: (doh!)

Question 1: Is this method expected to be significantly slower than direct connect? I’ve found that it seems to take about 2 hours per device (per file) to complete an update compared with about :15 for the direct method. (I still prefer the secondary method despite the time …;))

Question 2: Is there an easy way to confirm you have selected the right device? E.g. by model # or something in the zwave info?

Thanks for the great tips!

@jnewcastle what SmartThings hub do you have. My test was done on v3. Tried it several times and did not have that issue. Maybe try rebooting the hub and PC and start the process over.

@Mas, to answer your questions

  1. Yes, this method will likely be slower. Especially since the devices are likely paired to SmartThings with security so there is more time there. With the direct method you can pair without security and greatly reduce the time.

  2. I don’t know of a method to do that in the PC controller software. After you get the node info you can send a basic on or basic off from network management and make sure you are targeting the correct device. It will turn on and off and you can verify it is the right one.

Mine is a V2 hub with firmware 000.031.00004.

I have tried resetting the Aeotec z-stick gen5 a few times. I will try rebooting the hub and see if that makes any difference.

1 Like

The hex Node ID from ST IDE is equal to the decimal Node ID in Z-Wave PC Controller 5.

Node 48 for example in ST IDE is Node 72.

I use this:



As @kreene1987 mentioned please always verify the node ID matches in SmartThings and PC Controller.

Thanks for the clarification and tips regarding time to update, and how to confirm the node ID!!

I found that the 2nd update with the .BIN took multiple retries per device. How do I confirm that the update completed successfully?
I can see the zWave version # in the smartthings UI but I cant seem to find the light controller.

I don’t think there is a way to verify that the bin has been applied successfully.

You might want to watch that one as it takes place to make sure it finishes.

@Mas I have a V3 hub and the Wave.Me usb stick. It took me 15 min each to update my lzw30-sn. The switches use S2. How far is your computer form the device? Mine were 20-30 feet away through one interior wall.

@EricM_Inovelli I never got the QR code on mine either. The manual code took two tries to get right. I think I closed the window too quickly the first time.

I’ll just provide feedback that updating my LZW36 took under 5 mins with the direct controller method on S2 and over 3 hours on the secondary controller method with the controller less than 18" away.

So it’s WAY faster with the direct control, but you lose all of your settings/automations.

@kreene1987 I’m using the secondary controller method over S2

I am having a different experience, I was able to get through all steps to performing the update and get blocked. I am not sure what I am missing after several attempts

I click get node info, then click “OTA” button.

In the OTA screen I click get and the command executes. I get the message
19:37:31.485 Request Node information from the network completed in 00:00:00.055

However no details are showing up and select firmware button is grayed out.

The only thing that is different is when I get info on the device [S2] doesn’t show up in front of the device.

Any idea what I missed?

I’ve been getting the same behavior myself. It works if I unjoin and re-join the switches to a new network hosted by the Z-Wave USB stick. I’d prefer not to do that because I have to re-setup everything (config, z-wave pairing, alexa integration, rooms, etc).