[RELEASE] Zigbee Map app

Those Aeotec SS7s are ZW, not ZB.

My map look similar (lots of yellow, fair amount of red), but things work great overall, so I've just learned to not be bothered by it.

Oops, yep, meant to put

, 4 of these

1 Like

I think you may have to live with that as those plugs are mains powered so you can't stop them from repeating.
I limited myself to only mains powered ZB repeaters; everything else is battery for the sensors.
That eliminates all the poor performance repeating devices.
Tuya 3.0 repeaters are killer in strength. I have a couple of red lines but that's because these repeaters refuse to give up and those nodes are 30 meters apart; one in a different building.

2 Likes

When the map is dense I find it takes a moment to see the difference between yellow and green links.

image

May I suggest making the green link color more vibrant?

image

(Man, my map sucks compared to everyone else's... So many poor links.)

3 Likes

Release version 2.1.0 with the following small changes:

Changed

  • Change "poor" link quality color from yellow to violet - @Horseflesh
  • Change "good" link quality LQI interval from [150 - 200) to [130 - 200)

Fixed

  • Scrollbars on tab contents appear only when necessary

Have fun!

5 Likes

You make a valid point, green and yellow look the same but mean very different link quality values. I swapped yellow for violet.

So now blue is so-and-so link quality. The more it shifts towards red, the worse it gets. The more it shifts towards green, the better.

I don't want to mess with colors as I use the Solarized Color Theme and those colors were selected by people that are smarter than me :slight_smile:

Thank you for the feedback!

1 Like

Thanks for another great update!

  • Will it be possible to add another tab (or with devices tab) to show all devices and their respective link quality (displayed low to high or high to low)?
    This will assist in easily identifying devices with poor link quality, thanks.
2 Likes

Not sure how to compute the link quality value for a specific device. The LQI values we get (0-255) represent the link quality between 2 devices and each device usually has more than 1 link.

1 Like

Thats a great idea .. maybe @dandanache Could add this next time !

Are there any instructions for installing this without HPM?

1 Like

BTW, thank you for making the color tweak (and other maintenance). Cool app!

2 Likes

Installation without HPM is a bit tedious. Basically you need to do what HPM is doing using instructions from the manifest file:

  1. Upload the 3 html files from the "files" section into the Settings -> File Manager page of your hub.
  2. Import the zigbee-map.groovy file into the Apps code menu of your hub.
  3. Import the zigbee-map-helper.groovy` file into the Drivers code menu of your hub.

Direct links to all 5 files are in the "location" property in the manifest file.

Then:

  1. Go to the Apps menu in the Hubitat interface.
  2. Click the Add user app button in the top right corner.
  3. Select Zigbee Map from the list of apps.

Hope this helps.

1 Like

Another reminder of how wonderful it is to have HPM. (And your app, Dan.) :wink::grin:

6 Likes

Thank you! One last problem is I get "Error: OAuth is not enabled for this App" when I try to run it. Seems the files are all copied correctly (After negotiating a File Manager bug)

Need to enable OAuth (another thing that HPM does for free):

  • Go to Apps Code
  • Click Zigbee Map
  • Click OAuth button in the top right corner
  • Click Enable OAuth in app then Update

You may need to re-create the app instance.

1 Like

Ugh yes of course! I forgot about that button - getting it mixed up in my head with API keys etc.

Well this has been an eye-opener. Looks like the trouble makers are the Frient repeaters not the SmartThings devices I had been accusing!

Thank you for the app and to the people who recommended it to me :slight_smile:

2 Likes

Just discovered and installed this today. awesome app. will buy you coffee soon

I do have a few clarifications;

  1. Does this map automatically refresh information? Or do i have to reload the page to do that = resulting in the app having to rebuild the map from scratch. (Right clicking each node to refresh is tedious)

  2. I generated the map and I've kept the page open for a few hours. I dunno when it's done but I can't seem to find some of my battery powered devices on the map (motion sensors, door sensors, flood sensors, and smoke detectors) ... Do I have to keep refreshing the page? Or just wait?

  3. How do i know a devices' main route? I have a light switch on the 3F and it has really low LQI connection to the Hub on the 2F. Hovering on this switch reveals it's connected to other repeaters in the network, and not all of those repeaters also have poor LQI to the hub. I wanted to know which route my 3F switch is actually taking (direct to hub or thru repeaters)

  4. I ran this app as well as the default zigbee network graph which looks mighty similar, but for some reason, the built in map shows 42/41 discovered devices, while Zigbee map app shows 34/41 . Why is this?

1 Like

The map does not automatically refresh information, it only paints a snapshot of the current Zigbee connections status. Unfortunately you need to refresh the page in order to take a new snapshot.

You don't need to keep the page opened for hours. The map is done when the "Interview Queue" is empty, that means when all devices in the mesh were interviewed. After that, the app does nothing more. App just paints a snapshot, it does not update in real-time.

You can use the second option of the app (Zigbee Routing Map) to get more information about Zigbee routes.
Actually the correct answer is that no one knows all devices' main routes: not the hub/coordinator, nor the devices themselves. Routes are discovered and re-discovered ad-hoc, on the spot, when the need arises. Devices keep and use a small "cache" with past discovered routes and this is what the second option is painting. But this is not the "real" routing map, because Zigbee does not have and does not need a "real" routing map.

This app and the default Zigbee network graph might look the same because they use the same rendering library, but the data is gathered in different ways:

  • The default Zigbee network graph builds the graph using data that the hub knows, and the more you let it run, the more it learns about the mesh. It presents a picture from the POV of the hub.

  • This app gathers the data by directly interviewing every device in the mesh, starting with the hub.

I am aware of 2 situations when not all devices are discovered:

  1. Some (crappy) repeating devices do not respond to interview questions. These are colored as magenta on the map. Sometimes a power-cycle on these magenta devices fixes the failed interview situation, but, if things work well in your mesh, I would not do that and risk creating problems where there are none :slight_smile:

  2. Some (crappy) end devices (battery-powered) are not being nice with their "parent" devices, so when we interview the parent device for information, they do not report these "bad" children. So far I've only have this problem with Sonoff battery-powered devices (I removed all of them from my mesh although they worked just fine).

Hope this helps.

5 Likes

thanks for the good clarification! I understand very well now :wink:

I'm glad I don;'t have magenta devices so far.. but i do get a couple of re-occuring Unknown which I can't seem to figure out.. And these unknowns seem crucial as other routers connect to the hub thru it... like this one

I wanted to figure out what these devices are.. coz they seem to be active (on) for em to respond to interviews right?

I checked the App's device list and the unknowns arent there.

Any tips on how to find what these unknowns are?