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.
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.