Z-wave healing and routing explained

This is a reference to basic Z-Wave routing options since version 1.1.1245 offers many options with all kinds of effects.

A little warning, im used to point to existing documentation as much as i can, to prevent duplicate information and provide an easy single point of update when certain information changes.

This thread was inspired by some users who had/have issues with the new way of routing available as of version 1.1.1245. Also the new Z-wave firmware version add mutliple options to control manual and automatic routing.

As a starting point i recommend these two threads on the wiki:

http://wiki.micasaverde.com/index.php/Migrate_To_Z-wave_version_452
http://wiki.micasaverde.com/index.php/Heal_Network

The 1.1.1245 section of this page provides more info on issues tackled with version 1245:
http://wiki.micasaverde.com/index.php/Release_Notes.

Many users have a mix of mains and battery powered devices. The battery powered devices go into “sleep” mode when not in use and only awake on events/triggers or on certain intervals to save batteries.

The biggest problem users run into are:

  1. Automatically reconfiguring devices based upon detected devices (altering the routing information for devices)
  2. Battery powered devices are not detected during automatic heals (and therefore dropped from the routing table)
  3. Users get lost in the many tickboxes and their functions.

Resulting in unwanted /automatically updated routing information in devices that is not in all cases consistent with the meshed network you may have built for your z-wave network.

I would like to reference these threads:
http://forum.mios.com/index.php?topic=6891.0 (also providing solutions)

Descriptions of Vera behavior:

  1. http://forum.mios.com/index.php?topic=6879.0
  2. http://forum.mios.com/index.php?topic=6887.0
  3. http://forum.mios.com/index.php?topic=6809.0
  4. http://forum.mios.com/index.php?topic=6813.0

Current available settings in the options tab of your z-wave device are:

[ul]1. “By default MiOS should automatically configure devices”
When ticked, this option will reconfigure devices automatically and rewrite routing information
(see also repair tab option 1 as described below)

  1. “Use MiOS routing instead of Z-Wave (requires 4.5)”
    Overrules normal Z-wave routing by MiOS model as introduced in version 1.1.1245
    This option will also do automated healing of your network around 2am local time, but only if Vera finds broken routes during the day.

  2. “Limit neighbors to Z-Wave discovery (requries MiOS routing)”
    Related to 2. This will actually limit the neighbours in your routing to the neighbours discovered when a “heal” is performed. Leave unchecked when you want full routing options available (from historically discovered devices.[/ul]

Current available settings in the repair tab of your z-wave device are:

[ul]1. “Re-configure all the devices when done.”
This will actually overwrite routing information existing in your device when checked

  1. “Only update MiOS routing (overrides other settings)”
    This will leave existing information intact but will update MiOs parameters. Exact inner workings are not yet documented (as far as i could find)[/ul]

So if you have issues with routing or similar experiences as described by others in the threads i referred to, hopefully this will give some guidance on how to set your routing.

Henk

Simple way to disable the automated 2am nightly “heal” on Vera2 is to uncheck the box for “Use MiOS routing instead of Z-Wave (requires 4.5)” in the Options tab of the Z-Wave Device box.
Should help in preventing battery operated devices dropping out of the system after the nightly “heal” process.
Remember to hit “save” on top right of dashboard when done

As of firmware 1.1.1245, Vera offers an update of the Z-wave version to 3.20 that supports manual routing.
In theory you should be able to set the nodes number in the advanced tab of the node that needs to beam the signal. (there is a short explanation in the manual routing section of the Z-wave debugging page on the wiki.

You should be able to set manual routing yourselves using the sparse wiki information shown below:

If you are using Z-Wave 3.20, you can go to the advanced settings for a device, add a variable with the service id: urn:micasaverde-com:serviceId:ZWaveDevice1 and the variable name: ManualRoute and the value is a dot separated list of Z-Wave node ID's, just like the AutoRoute variable

These features have been used little and there is not much documentation, but you could check the wiki for some extra info on zwave routing.

Here:
http://wiki.micasaverde.com/index.php/ZWave_Debugging#Manual_routing
http://wiki.micasaverde.com/index.php/Z-Wave#Topology_and_routing

And here:
http://wiki.micasaverde.com/index.php/Heal_Network

One of the causes of 2am automatic heals seems to have to do with ppl having a mix of mains powered and battery powered devices.

Because battery powered devices (like 3in1 sensors and locks) sleep when not in use, Vera cannot verify routes through these nodes.
This results in “broken” routes and causes Vera to do an automated nightly (approx 2 am) heal to try and recover form the broken routes.

This has been verified by MCV tech support on troubleshooting @flyboybob’s routing issues.
The most important piece of information was:

MCV Support says "...you should know that the nightly heal runs only if during the day routing issues were detected..."

This makes sense as to why some of us are seeing these automated heals are others are not.
In plain English; the algorithm appears to be “if it ain’t broke don’t fix it”. Unfortunately the “if it is broke, fix it” algorithm poses its own issues in return with battery powered devices.

Reference here:
http://forum.mios.com/index.php?topic=6887.msg44188#msg44188

Nice work Henk!

The “Heal” that breaks is just shoddy programming by the devs at this point that can be corrected- if they care to address it.

It’s not like it’s rocket science- battery powered devices by nature sleep to save power and won’t respond within Vera’s timeframe. So just have a simple one checkbox option to exclude battery powered devices from the automated routing checks.

I was under the impression battery powered devices didnt need to be part of the routing table per se (except for the locks) as they can hop onto the network from any location and communicate their status back to Vera. Plus, most battery powered devices arnt capable of routing.

There’s more going on here than meets the eye.

JOD.

@JOD

AFAIK Every Z-wave device has a routing table how else can it send back info (via other nodes) to Vera and how does Vera know where to send a z-message/scene info.

Unless youre going to add info here that we are not yet aware of? Please do as this routing issue seems complex and poorly documented.

Especially the MiOS routing that was introduced with 1.1.1245 is complex and has a lot of undocumented features.

[quote=“JOD, post:6, topic:168571”]I was under the impression battery powered devices didnt need to be part of the routing table per se (except for the locks) as they can hop onto the network from any location and communicate their status back to Vera. Plus, most battery powered devices arnt capable of routing.

There’s more going on here than meets the eye.

JOD.[/quote]

Devices dont have routing tables, only the Primary and routing slaves do.
I’ll use the HA07/ 09 remote control as an example for a battery powered device.

Let’s assume everything is working fine., I then take the remote to another room or section of the house, the remote will still work (As it will for the HSM-100 or HRDS1 or any other battery operated device I’ve tested) as it hops onto the network via the closet node to send the commands back to Vera.
Vera does not need to know where that device is to communicate back to it. The device does not care where it is either.

If I was to leave that remote in another room, would that device trigger a nightly heal? I dont think so.

JOD.

@JOD

Ok learning here:

So not all devices (especially not battery=powered) devices have variables under their advanced tab like this?

NeighborsInverse 2,27, Health 5 AutoRoute 0-7,4-15 AllRoutesFailed 0

[quote=“JOD, post:8, topic:168571”]Devices dont have routing tables, only the Primary and routing slaves do.
I’ll use the HA07/ 09 remote control as an example for a battery powered device.

Let’s assume everything is working fine., I then take the remote to another room or section of the house, the remote will still work (As it will for the HSM-100 or HRDS1 or any other battery operated device I’ve tested) as it hops onto the network via the closet node to send the commands back to Vera.
Vera does not need to know where that device is to communicate back to it. The device does not care where it is either.

If I was to leave that remote in another room, would that device trigger a nightly heal? I dont think so.

JOD.[/quote]

–edit–

Nodes cannot automatically update routing information and the meshed network does not adapt itself, a "HEAL’ is needed for that. The fact you can take stuff into other rooms and it still works is mostly due to the fact that it can still reach its original neighbours.

If you approach this from the other side, if Vera does a heal and a battery powered device is in sleep mode, it will fall off the routing grid (until it reports back) and with autoconfguration set, the node gets removed from other devices tables as well. Therefore Vera cannot communicate to the device until it wakes up and restores a route.

If this would not be the case, how could for instance ADD report on the nodes in the network and to what other nodes they communicate???

Z-Wave is a mesh network, which means that if two Z-Wave devices want to talk to each other but they are too far apart to communicate directly, they will relay messages through other Z-Wave devices that are in-between. Every device needs to know where it is in proximity to all the other devices, so it knows which devices it can use for relaying. This network map is created when you first add devices to your Z-Wave network. If you later move devices around, the map can be wrong, the relaying might not work, and control of Z-Wave devices may become unreliable.
http://wiki.micasaverde.com/index.php/Heal_Network (and i didnt write that one!)
So not all devices (especially not battery=powered) devices have variables under their advanced tab like this
Yes they have variables and may even show neighbors, but those neighbors may not necessarily be the nodes used when routing a message.
If you approach this from the other side, if Vera does a heal and a battery powered device is in sleep mode, it will fall off the routing grid (until it reports back) and with autoconfguration set, the node gets removed from other devices tables as well. Therefore Vera cannot communicate to the device until it wakes up and restores a route. If this would not be the case, how could for instance ADD report on the nodes in the network and to what other nodes they communicate???
ADD displays the neighbor nodes, not what routes devices use.

Currently my 3-in-1’s don’t show any neighbors in the ADD report, neither do my remotes, but they all work. Some of my battery devices do show neighbors but my point is, neighbors are not necessarily the nodes used during routing.

All I’m saying is: IMHO there is more going on with the nightly heals than meets the eye. If a device is configured it does not need to be re-configured ever again. Unless, the new firmware contains additional variables that need to be pushed out to the device.

Quote Z-Wave is a mesh network, which means that if two Z-Wave devices want to talk to each other but they are too far apart to communicate directly, they will relay messages through other Z-Wave devices that are in-between. Every device needs to know where it is in proximity to all the other devices, so it knows which devices it can use for relaying. This network map is created when you first add devices to your Z-Wave network. If you later move devices around, the map can be wrong, the relaying might not work, and control of Z-Wave devices may become unreliable.

http://wiki.micasaverde.com/index.php/Heal_Network
(and i didnt write that one!)

Well, up until just recently, the heal network didn’t work at all and routing was nonexistant, even though we were being told it could use 4 hops and was self healing and all that bull.

JOD.

@JOD

I think we are on the same page here.

Instead of discussing if’s and maybe’s however i was kinda hoping someone @MCV would chip in with some info on MCV routing options and architecture to fill the documentation / knowledge gap we are facing.

Id like DETAIL on the manual routing. I have some devices that are on the fringe that need to be set manually and I just can’t figure out the schema here to do this. THe documentation is poor at best.

I just want to enter a number of the nodes I KNOW are able to speak directly to this device and add them in. MCV, can you guys offer up a “manual routing for dummies” ?

@myhomeserver

  1. Open the Device Options tab of the device you want to set the manual route to.

  2. Set the route as a dot separated list of Z-Wave nodes.

e.g. In the attached image I set the route for this dimmable light to go through Z-Wave nodes 2 and 4.
[tt]Vera → 2 → 4 → Dimmable Light[/tt]

Hope this helps.

Thank you Florin, is there someone @MCV who could explain more on “MCV proprietary z-wave routing”?!!

In the end my goal would be to turn this thread into a wiki page of course!

Where did you find this?

@mcvflorin

The z-wave device options (repair tab and others) contain checkbox settings reading “MiOS routing”.

This particular setting checks routing failures on devices during the day and initiates 2am automatic healing when routing failures are found…

Wonder what else it does thats not (yet?) documented?

Ill send screenshots when i get home.

Where did you find this?[/quote]

Yes, I forgot about those. That is information that only Aaron knows. I will ask him tomorrow about this and will let you know if I find anything.

Screenshots added on selections that need more in detail explanation/documentations as to their function and “inner workings”

I highlighted the settings to be explained in red.

Henk

So “tomorrow” from late June means what, 2014? There should be NO information that “only Aaron knows”!

–Richard

More than likely this is low level Sigma stuff that MCV legally cannot disclose, and we as end users will never know the answers to.
It’s like KFC’s secret mix of herbs and spices.

JOD.