Intro
I bought 4 dedicated USB mini Zigbee repeaters a few months ago to bolster my network. I’m the author of Tile Builder and it irked me that such a critical component of the network offered almost nothing in terms of insights. What I wanted to know was:
- To which repeater were my battery devices connected. (Parent -> Child)
- How strong were the connections between devices on my network.
- What did the Zigbee routing table look like.
- Is the repeater online and operational.
There are several tools available but they all have their shortcomings.
- http://ip/hub/zigbee/getChildAndRouteInfo gives me the hubs perspective and is quite useful, but doesn't usually include all devices and I can only see the first hop. The same is true of the Zigbee Network Graph tool which is based on the same information and has the same limitations.
- XBEE Network Assistant is quite useful but an XBee module is now $140 on Amazon (plus another $10 for the adapter) which is pretty huge barrier. Also, the XBee Network Assistant software only displays nodes using a 6 digit network address making it painful to use as you must constantly be reconciling addresses to names when you are trying to figure things out.
The Zigbee Monitor Driver requests information from the device at configurable intervals to provide precise details of the Zigbee network as seen from the device. There are two primary groups of information gathered from the device. A) Neighbor info which includes relationships with LQI data and B) Route info
Device Neighbor Info
Neighbor info key points.
hubDataCollectionMode: Only Addresses - The driver is configured to get a list of addresses from the Hub and then resolves Zigbee addresses back to their device names for easier comprehension.
deviceNeighbors: This is a list of ALL neighbors retrieved from the the device along with their LQI value and sorted with the highest LQI first (configurable).
deviceParent: This is the parent device of this repeater along with the LQI. A repeater that connects directly with the Hub will list the HUB as the parent device. A repeater that lists "None", ONLY routes to the Hub via another repeater.
deviceSiblings: These are sibling devices or more plainly, other Zigbee repeaters along with their LQI.
deviceChildren: These are child devices with their LQI. These are battery devices and do not repeat. ALL data between the child device and the Zigbee network gets routed via this device.
Device Route Info
The route data is the less illuminating of the two and and by default it is turned off.
The display of routes is in the format Device via Repeater but can be changed to Repeater Device if desired.
Hub Data Collection
By default the driver will attempt to retrieve a list of all Zigbee devices and addresses from the Hub. These are used to provide name resolution and make the driver a lot more user friendly. This behaviour can be modified in preferences. Unless you are adding new devices you really only need to run this once to download the list of names but by default it runs every 24 hours to catch any new devices.
If you wish to expose more Hub Zigbee information you can change the Data Collection Mode as shown below and the Save Preferences.
This will expose the following Hub information:
These attributes can then be accessed in whichever way you see fit. You only need to run this configuration on one device and it could be a virtual device if desired. For all others the Collect Zigbee Address Information is all that is required.
Installation
You can install the Zigbee Monitor Driver via HPM under the Zigbee category. Once installed simply re-assign your device to this driver and hit Save Device. Now perform these steps:
- Wipe: Removes all settings, state, current state and scheduled jobs.
- Initialize: Configures the default values for the Preferences.
- Refresh Browser (F5): Will show the default Preference Settings.
- Modify Preferences and Save
- Perform Get Hub Info: Retrieve the information from the hub according to preferences.
- Perform Get Device Info: Retrieve the information from the device according to preferences.
You can repeat this process as many times as you wish.
If you wish to return the device to the prior driver simply do a Wipe and then re-assign the old driver and configure any required preferences.
Device Compatibility
I have 4 unique types of Repeater and three of them support the retrieval of both the neighbor and routing information. However, one of them only supports neighbor info, not routing. This is hardware dependant so your results may vary. Please PM me with your own compatibility and I will maintain a list of repeaters\switches along with which functions work and which don't. You can find that list in the next post.
Switch Compatibility
While the driver is primarily intended for use with dedicated Zigbee repeaters it also incorporates On/Off behaviour that allows it to work as a switch. If you have a simple switch with no other functions (power management for example) then you can use this driver as a replacement to provide more permanent insight into your Zigbee network.
Zigbee Repeaters
It is worth noting that the repeating function of Zigbee devices occurs at the firmware level and works regardless of the Hubitat driver that you choose. This driver is no different and only queries the available information from the device and has no influence on the routing of Zigbee packets.
Accuracy
How accurate is the Zigbee Monitor Driver? The short answer is very accurate. The more complete answer is that it only provides a point in time picture based upon the polling frequency of the repeaters. However, in my own experience while the LQI and routes vary, the relationship between the parent\child is quite strong and does not change readily.
Health Status
This driver implements the normal Health Status capability with a configurable timeout period.
Tile Builder Multi-Attribute Monitor Advanced
For those of you with Tile Builder Advanced you can bring all of the driver data to your dashboard.
This is a detail view of a single Repeater.
This is the view across all of my repeaters showing the precise parent\child relationship for all of my end devices along with the signal strength.
This latter table answers my most pressing questions, which devices are connected to which repeaters and how strong is the connection. For background, Repeaters M1 - M4 are mini USB repeaters. Repeater S1 - S2 are Sylvania plugs. Light Strip 1 - 2 are Third Reality plugs and the XBEE is self evident. All my other devices are Tasmota on WiFi and not shown in this table.
How to get the Zigbee Monitor Driver
The device driver is located here: Link or you can install it using HPM.