Is there any way I can identify in Home Assistant Zigbee devices connected to different coordinators?

Is there any way I can identify in Home Assistant Zigbee devices connected to different coordinators?

I use 4 Zigbee2MQTT interfaces on Docker (50+5+4+12 devices).

Why do I use 4 coordinators?
After switching to smaller networks, I saw dramatic improvements in the network’s stability. So, all critical devices with high requests for stability and synchronization are on a separate network. And it really works well!

IIRC, a Zigbee2MQTT bridge device gets created in the MQTT integration (at least it is on mine). It has a device_id, so maybe that would help?


As an aside, I can only imagine the amount of interference using 4 coordinators. Are they all on separate channels??? I mean, if it works, it works… just strikes me as overkill lol

Thank you.
For “Connected via”, I see the same name for all coordinators (“Zigbee2MQTT Bridge”)
In configuration.yaml, I have different names for “base_topic: zigbee2mqtt01

And yes, it separates channels.

The question is, do you have 4 bridge devices added in MQTT? You should be able to [maybe] differentiate between them by their device_ids. If you hover over the link, you should see something like http://ha.local.lan:8123/config/devices/device/fb70da414c32efb92c7d4c577c713cfe. The last parameter will be the device_id for each bridge (hopefully).

That’s crazy… I have 150+ devices on a single coordinator/instance. Rock solid as well… but if it works for you, color me impressed! :smiley:

Thank you for the replay. Not sure if it helps me.

I have sensor for measure mean of linkquality of devices:

  - sensor:
      - name: Average Zigbee linkquality
        unit_of_measurement: 'lqi'
        state: >-
          {% set values = namespace(numbers=[]) %}
          {% for state in states.sensor | sort(attribute='entity_id') | selectattr('state', 'is_number') %}
            {% if '_linkquality' in state.entity_id %}
              {% set values.numbers = values.numbers + [state.state | int] %}
            {% endif %}
          {% endfor %}
          {% if values.numbers %}
            {{ (values.numbers | sum / values.numbers | length) | round(2) }}
          {% else %}
            'No Data'
          {% endif %}

The value I got is the mean of all devices from all coordinators.
I want to get a mean of devices in the coordinator level.
for example: