Reported LQI values for Zigbee devices with ZHA integration

I’m trying to understand more about how my Zigbee mesh works, and from what I’ve read, RSSI and LQI are some of the indicators you can use to assess the strength/quality of a Zigbee mesh. My understanding of the terms RSSI and LQI, as they relate to Zigbee, is that RSSI is an indicator of the raw signal strength between two nodes of the mesh and that LQI indicates how well useful data can be transmitted across the link. Further, LQI can be used to indicate the quality of data transfer across multiple hops in the mesh, not just point to point. If I have any of that wrong, please correct and I can edit this post…

That said, I see that the ZHA integration and zha_map both provide RSSI and LQI values for each device. I’d like to understand more details…

  1. When ZHA reports an RSSI value for an endpoint device, is that the RSSI measurement between that endpoint and its parent?

  2. What about for LQI?

  3. When ZHA reports an RSSI value for a router device, what is that? Since routers can have many connections in the mesh, is that the best RSSI for all the links that router has?

  4. What about for LQI?

One thing I don’t currently understand is that when I look at the zha-network-card data in HA, I see different LQI in zha-network-card than what’s reported by zha_map.

In zha_map, almost all of the endpoint links are green and many of the inter-router links are green:

I wrote a script that processes the neighbors files generated by zha_map and makes a table of the LQI values for all the (40) endpoints, and typically they’re 255 or very close. Thus, the green lines in zha_map are consistent with the values in the neighbors files, as expected. I see no significant difference in examinig zha_map data from the automatic runs vs. manually running via a service call.

However, when I look at the zha-network-card, I usually see different values. I have about 85 devices, with 40 of them being routers. I typically see ~25% of them have reported LQI values of 255, ~50% with LQI values between 175 and 255, and the remaining ~25% having LQI values between 75 and 175.

What’s up with the difference in LQI values?

Some of my devices are occasionally unresponsive (e.g. light won’t turn on/off) or partially responsive (light turns on, but doesn’t change color/temp without a second service call). Further, sometimes, I get inconsistent behavior within a group of devices - e.g. I send a turn on to 333 mired command to the group of 4 bulbs in a fixture (8" from each other) with an initial state of off, and the result sometimes is that some are on and at their previous color temperature, and some are on with the specified (333) color temperature.

In addition to trying to understand Zigbee in generall better, I’m trying to figure out whether the lower LQI values reported in zha-network-card are likely related. I suspect most of these questions are unrelated to the specific Zigbee hardware one is using, but I can provide more detail if that’s helpful.


Very interesting questions. Would also be interested in getting answers.
Did you get more information on the subject?

Seems like zha_map is not used anymore by zha-network-card.

Some definitions for LQI / RSSI:
Do you know what are the two values onlinks like 249/180 is this max/min for LQI?

Color of link is as specified in (now deprecated in 2020.12+)

I haven’t really gotten any more answers for the questions in this thread so far. My Zigbee network got a lot more reliable about a month ago, so I’ve been less motiviated to dig into this.

I changed two things:

  1. In one problematic corner of my house (guessing intermittent interference, but haven’t confirmed), I deployed a second ConBeeII stick attached to a PC and now have a separate network for ~10 devices in that area. Not sure if removing 9 routers and an endpoint from my previous ~85-device mesh helped things stabilize, but I read that some of the Lightify/Sylvania/Osram/WhateverTheyCallThemselvesNow devices have smallish input buffers for mesh traffic and can start dropping packets when the mesh gets really busy… in theory, less devices would help with that.
  2. I finally stopped adding/relocating/replacing Zigbee devices in my mesh for a bit last month. After a week or so of not changing anything, relability was definitely improved, and it’s stayed that way for a little over a month. Fingers crossed…

The link values in the new ZHA visualization (2020.12) seem to be the same as those reported in the deCONZ GUI. Based on what I’ve seen so far, max/min seems plausible, but I haven’t confirmed.

Thanks for the information.
I have read somewhere that for some reason “lights” do not act as good routers? Therefore you should rather rely on wall plugs as router.
I am still in the process of learning about ZigBee and I just added some Xiaomi Aqara devices to my test network. They show correctly on the diagram but are not connected to anything? See Problem with ZHA network visualization
ZHA is great but documentation about the integration and about ZigBee is minimum (for example no doc about “reconfigure device”, “manage cluster”, info in “zigbee devise signature” etc. etc.)
Finding pertinent information for ZigBee on the net is not easy because there are a lot of references not useful in the context of HA

1 Like

Here is the article that talks about building a reliable Zigbee Network.
it provides information that makes sense:


Good article - consistent with most of what I’ve read from other sources.

The one caveat I see is that I think lights are ok to use in a ZHA network as long as you ensure they’re using ZHA protocol and not ZLL.

My understanding is that Hue bulbs use ZLL when connected to the Hue hub, but can switch to ZHA if connected to something else. It wouldn’t surprise me if Philips put most of their engineering time into making the ZLL functionality robust with the ZHA functionality being more of an afterthought. I have all my Hue stuff connected to the Hue hub for that reason (and a couple others).

The lights I have in my ZHA mesh right now are all Sylvania light strips, A19 bulbs, and BR30 bulbs. The BR30 bulbs struggle to stay connected if more than 10ft or so from the nearest repeater, but I suspect that’s because the recessed cans are metal and shield the signal well. The strips and A19 bulbs seem to work reasonably well for me.

And I’ve definitely confirmed that the Sengled bulbs are endpoint devices, not routers. Those are the only mains-powered endpoint devices I’ve come across so far.

1 Like

the side moved. here is the new link:
How to Build a Solid Zigbee Mesh

1 Like