FAQ: Please explain Repair Z Wave Network


Hi there.

I’m hoping to get a better understanding of what all happens when I hit the Repair button. I get a vague sense from the articles on the site, that the Hub? is sending out commands to the mysterious mesh network. But that only tells me so much. Does anyone know the ins and outs of it?
For example…

  1. What is the command or signal that is going out? Just checking in to see the device? Telling it to look for different routes? Asking it to see if it still has a valid route?
  2. So if it has a route that is still technically working but not great…is there anything that can force it to change that route?
  3. I read on the site just run the Repair. And also read from users that you should run it 4-5 times. Is that true in every case? Only if you see an error? Can running it more times make things worse?
  4. When I run it and it shows me a huge list of devices that failed to update the mesh, does that mean that by asking them and having them failed I have impaired the system now?
  5. What is the difference between running it on my phone app, vs running it in the API?

I don’t want to keep pushing a button I don’t understand since it seems like tossing a pennny in a wishing well. Nothing tells me it works, but nothing tells me it doesn’t.


Pairing problem with GE Z-Wave Plus Fan with ST Hub
External Siren? (UK)
(Eric) #2

nebulous, ain’t it.

my unstudied guesses from the last 2-3 years of practice and observation:

  1. “Repair request” from hub, is asking all Zwave devices, which may or may not be awake to see the request, to update their communication path back to hub.

  2. “Repair” is the “force”/request that does not actually force anything different to happen.

  3. Multiple repairs improve the “chances” that you will catch the sleepy/battery devices when they happen to be awake. If you have communication failures then first, try repair. It is unlikely to make things worse. Then add repeaters.

  4. IMO no, repairs cannot make things worse, unless you have temporarily installed plug-in/repeater devices that you will soon remove.

  5. no difference between repair requested via the phone app or the API (I assume you mean IDE/website).

just press the button.
Yeah it’s opaque and obtuse.

(Aaron S) #3

Just as a heads up… usually Z-Wave repairs will make things better. However, if you have a lot of Z-Wave devices (there is not a hard number), running a repair can be resource intensive and cause the Hub to temporarily stop working. This is something we are working on improving.


Official article:

Short answer:

Every zwave device keeps a “neighbor table” of its own closest neighbors that can be used for routing. That’s all. It doesn’t know the entire network. Just the neighbor that it should send an outgoing message to as the first step in a relay. The repair utility tells each device to update its own neighbor table.

Long answer:

Remember that the whole goal of Zwave and Zigbee is to keep cost down both in dollars and in energy draw. It’s cheaper and faster to check a table of two entries than it is to check a table of 200.

The controller, in this case the SmartThings hub, keeps the complete network tables. But each individual device just keeps the minimum information it needs to know.

If devices are physically moved around, or new devices are added to the network, or old devices are removed from the network, the neighbor tables can get out of date.

The only thing the “repair” utility does is tell every device to update its neighbor table with its current closest neighbors. Honestly, that’s it. It’s just a little bit of housekeeping. Say hello to new devices, say goodbye to ones that have left the network or are now out of range, make the neighbor tables efficient again.

The reason why field technicians often run several Z wave repairs in a row is because battery operated devices might be asleep the first time the request went out. Again, to save power, battery-operated mesh devices typically sleep a lot. It’s all in millisecond slices, so it might sleep for 8 ms, wake up for two, etc. But it saves battery significantly. So you might run it a couple of times just to make sure you hit everybody. But you don’t have to.

Repair as maintenance:

In most Z wave installations, a zwave repair (which is part of the Z wave standard) is a “can’t hurt, might help” utility. So if you’re seeing too much lag in the network or you can’t remember if you updated the tables when you removed a device a couple of weeks ago or you observed weird behavior on a particular device, normally you would run the Z wave repair.

However, SmartThings staff have said several times that if things are really flaky running a zwave repair could make things worse. From an engineering standpoint (I was a network engineer before I ever bought SmartThings) I don’t understand that. I can only assume it has something to do with SmartThings cloud architecture. But I certainly believe the staff when they say it, so at this point I no longer recommend a Z wave repair with SmartThings if things are flaky until the person has talk to support.

Most SmartThings competitors recommend running a Z wave repair once a month or once a week or even every night just to keep everything tuned up for maximum efficiency. Vera automatically runs one every night. Homeseer recommends running one every night but understands that people using the system for security might want to postpone it for a more convenient time so they leave it as a user option. (While the repair is running, other zwave messages will be postponed.)

So that’s probably more than you wanted to know but basically it’s just telling each device on the network to update its own neighbor tables. :sunglasses:


It shouldn’t, but with SmartThings who knows?

Normally the messages are just telling you about a problem that exists whether you run the repair or not.

“Failed to update the mesh” could just mean a sleepy device that was asleep when the message went out.

But there’s a huge difference between getting this particular error message with the device name and getting it just with an ID. If you get it just with an ID number, you have some ghost devices and you do need to clean that up. See the following thread for details on the error messages.

(Robert) #6

Every time that i run a Zwave repair from the Android app, I haven’t been able to see the status of the repair! It just spins forever. Is this normal for all users? Does it show the status of the repair in the graph utility online?


Try running it from the IDE instead under hub utilities and see if you get a different result.

  1. click on community at the top right of this page. That will take you to the first page of the forums.

Two) click on “developer tools” to log into the IDE.

Three) choose “my hubs” to go to the hubs page. If you have more than one hub, choose the one for which you want to run the repair.

Four) look for the section on “hub utilities” about two thirds of the way down. Choose that. That will open the utilities page.

Five) choose repair.


Not even a little bit. I wanted to know every scrap of that. Its the little things that weren’t quite spelled out in the original article.

Its good to know that running the repair actually asks the devices to make changes. I wasn’t sure if it was just saying…yeah I can still barely reach that old device you moved, so I’ll just stick with that. That was the dread.

So a follow up question. When it says it Failed on a device. Does that likely mean the device was sleeping? And just try again?


The error message FAQ has all the details on the messages. It depends on the exact format that you get.


Yes, thanks. I didn’t know there were others. I only ever get “Network repair for [device name or ID]: Failed to update mesh info” . But its pretty inconclusive about what that one means. I’m guessing its not a big deal though. Just doesn’t help me troubleshoot devices that just stop communicating when they have clear lines of sight to other repeaters. I ran some repairs this morning and almost every device gave me this error message.

But thanks for that link. Its good to have an idea what the errors mean if I ever see other ones.


It just means the device didn’t respond.

If it lists the device by name and it is a sleepy device, it was probably just asleep.

If it only lists a device number, then it may be a ghost device – – a device that has been physically removed but that, for whatever reason, still has an entry in the address table. Those should be addressed. (See the messages FAQ.)


Yup, lously sleepy devices. Just looks bad when a dozen or so report FAIL at once. Heh. :unamused:

Thanks for the info.


Now you know why field techs run the repair a couple of times. :wink: You might get a different set of devices not reporting each time, you just try to hit each one once.