Zigbee2mqtt: Zigbee-network map

Created on 6 Aug 2018  Â·  92Comments  Â·  Source: Koenkk/zigbee2mqtt

For my application, I began to make feature to display the network map. It shows the connections between devices and nodes, as well as the quality of link.
image
I use the ZShepherd.prototype.lqiScan (thanks to @splitice and HalleyAssist fork) function that collects this info.
https://github.com/kirovilya/zigbee-shepherd/blob/dev/lib/shepherd.js#L417

But it does not always work correctly and some devices are not included in the map. Until I figured out why and how to fix it. :(

Another possibility is to start the pairing process on a separate router, rather than in the entire network. To do this, you need to send the NWK-address of the device to permitJoin function.

https://github.com/kirovilya/zigbee-shepherd/blob/dev/lib/components/controller.js#L338

feature request stale

Most helpful comment

It's currently in the dev branch.

All 92 comments

Good plan! I'd also be keen to see some device mapping info available via MQTT which could potentially be rendered by e.g. HA.

I got a map of my small network using the method from here https://community.smartthings.com/t/faq-mapping-your-zigbee-network-with-digis-xctu/28477/55. I could do this because I had a Digi XU-Z11 XStick laying around from when I had previously hoped it would work with HA. Here's the map it shows of my zigbee2mqtt network.
image

The XU-Z11 is the R in the top left. The CC2531 is the C. Note that it shows true mesh links and did pick up all my devices. Not suggesting that an XU-Z11 should be required, this is just an example of the level of detail that would be useful in a map. Does the lqi function report the mesh or just shortest path?

@clockbrain In contrast to Digi XU-Z11, this map can be obtained from coordinator and sent by mqtt to HA.

@kirovilya If the problem is on our end PR's are welcome.

I suspect however that the device may not be LQI robust (sometimes ignoring them or similar). Currently the LQI scan is lazy (it's intensive enough without repeats) but I would welcome any well thought out patch for robustness in any area of our forks.

@splitice yes of course! thank you!

@splitice I found one error in your code :) https://github.com/HalleyAssist/zigbee-shepherd/blob/master/lib/shepherd.js#L426 - you has not return result in chain function, in compare with my version https://github.com/kirovilya/zigbee-shepherd/blob/dev/lib/shepherd.js#L433

Thanks, Nice find, looks like you are correct. I'll patch that in the morning

I added more devices with 2 router. Some end-devices join to first router, some devices to second, and one to coordinator.
image

This looks really great!

@Koenkk what about provide json array with map Informations as mqtt topic?

@tb-killa I think we need a separate topic for this.

Also it would be nice if we somehow could provide a rendered graph to home assistant (e.g. via an http jpeg endpoint) which can be used with https://www.home-assistant.io/components/camera.generic/

I used the visjs to draw a graph.

Yes New topic sounds right. Some Javascript map to jpeg could be work.
But if we would provide the source of map data via mqtt json i think it would be the best if the thirdparty application would generate this.
As your example we could provide some sort of docker who use our input and generate the jpeg Web.
I think we should Show that zigbee2mqtt is cleaner and doesnt overloaded :)

With visjs we could export as png... Does this is okay or have it to be jpeg?

https://stackoverflow.com/questions/42663203/export-visjs-network-to-jpeg-png-image

I think that the rendering of the image should not be on the side of the Zigbee2mqtt

@kirovilya would you be willing to submit your networkmap code as pr so we can continue with the editing?

@tb-killa ok. later, in evening

Would be nice to create an Hassio plugin for installing this!
Really interested in this tools!

Example for PR https://github.com/Koenkk/zigbee-shepherd/pull/3 :

shepherd.lqiScan().then((result)=>{
     debug('lqiScan result: ', result);
});

Permit join through router:

const router = shepherd._findDevByAddr(routerIeeeAddr);
const permitDev = router.nwkAddr;
shepherd.permitJoin(permitTime ? permitTime : 0, permitDev, (error) => {});

then tests are needed for the max number of connected devices.
eg: 10 devices on the coordinator + 2 routers + 10 devices on the router1 and 10 devices on the router2

I have not so much :)

Please do pr any tests you write :)

@kirovilya doesnt we could use lqi Infos from https://github.com/Koenkk/zigbee2mqtt/issues/173??

@tb-killa yes we can, but in liqScan it also exist :)

@Koenkk what about building new timer or use pollTimer and return output of shepherd.lqiScan() on mqtt topic like networkmap or another name.

If we got this i could work on building some sort of docker image for mqtt to png or mqtt to dot to jpeg as webstream.

Does this scanning wakeup the devices? Because then we should not do it on an interval basis.

I think - no. Since the request is addressed to the coordinator and the routers, and they do not sleep.

Ok thats good! Than the thing we should do is that zigbee2mqtt periodically sends it network topology in a json structure over mqtt.

I believe that this should be on request in some topic.
Because the map is not needed constantly for work.

Yes that would be even better

First implementation is done, idea is to support more types.

To request a network map, publish to zigbee2mqtt/bridge/networkmap raw. Zigbee2mqtt will respond on zigbee2mqtt/bridge/networkmap/raw (note this takes a few seconds).

Basic graphviz networkmap is also done, can be request by: zigbee2mqtt/bridge/networkmap graphviz. Zigbee2mqtt will response on zigbee2mqtt/bridge/networkmap/graphviz.

Can easily be visualized on: http://www.webgraphviz.com/

In wich update?

It's currently in the dev branch.

nice feature, thank you
I removed the router (osram plug) where most of my end device connected through. After that, my end devices are not connected to the network anymore (checked via network scan and zigbee logs). Some of them are even closer to the coordinator. I tried to restart zigbee but no luck. Seems like, if an device is connected via router, the connection is permanent and the end device does not lookup for an better route. Is that normal?

nice, would it make sense to add more information to the json/graphviz responses ? (like friendly name, device type, manufacturer+model, powersource, jointime...) ?

@AnhDuc85 looking at my graph, it looks I also have some weird behaviours like yours with my osram plug

i've got 2 devices that don't appear in the network map. looks like a link quality issue, those are aqara sensors. they don't connect thru their nearby router, linkquality is quite low (5). Still I receive data from them and the daemon publishes them to mqtt.
weird.

edit: also weird, a router I stopped 12h ago is still seen as online.

t

mainly aqara devices, prise_* are osram plugs

really weird:

  • coordinator cc2531_2 is in same room as prise_01, 2 meters away, line of sight, linkquality reported by zigbee2mqtt is around 52, i was not expecting prise_01 to be routed by prise_02 (linkquality 15 in mqtt msgs)
  • prise_04 and prise_02 are 15cm away from each other, same powerstrip, 2 floors higher than router
  • aqara_03 and aqara_01 are on the floor than prise_04/02 few meters away, I'm expecting them to be routed...
  • cube is in configuration.yaml but has not been paired to the router

Yes, graphviz is still WIP, more things will be added (like friendly name, device model, etc.)

Got my network map, where most of my devices were connected to an Osram plug. After that, I removed the osram plug from my network. Some hours later , all devices re-joined the network (I believe via the plug) but the osram plug and the previous connected devices are not visible in network map anymore.
All of these devices working as usual but no way to see them on network map anymore.

I repaired all my devices with a new pan_id.
weird weird again, this is what I get:
gr1

And after I removed prise_01:
gr2

note that it still sees prise_01 despite it's been unplugged for more than 12h

And when I plug prise_01 again, prise_03 becomes router again for prise_0{1,2,4}.
this is non sense.

Your outlet is certainly also a repeater. What model is it? Je suis
intéressé.

Le ven. 31 août 2018 à 10:17, Laurent notifications@github.com a écrit :

I repaired all my devices with a new pan_id.
weird weird again, this is what I get:
[image: gr1]
https://user-images.githubusercontent.com/10393822/44900774-c5d03b00-ad05-11e8-9e3c-1d8c69c61a82.png

And after I removed prise_01:
[image: gr2]
https://user-images.githubusercontent.com/10393822/44900788-d2ed2a00-ad05-11e8-8eaf-d00f4b81fb03.png

note that it still sees prise_01 despite it's been unplugged for more than
12h

And when I plug prise_01 again, prise_03 becomes router again for
prise_0{1,2,4}.
this is non sense.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Koenkk/zigbee2mqtt/issues/252#issuecomment-417588352,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQeB2pjYgI1gIpclHtiKD8VObCLwB9VUks5uWPEwgaJpZM4Vvz_F
.

all prise_* are OSRAM PLUG, model AB3257001NJ, yep they are Router.
But either the network map is buggy, or they sucks at routing :-) why would prise_01 (2meters away from cc2531_2) be routed through prise_03 (2 floors upstairs)

zigbee2mqtt/prise_01 {"state":"OFF","linkquality":94}
zigbee2mqtt/prise_02 {"state":"OFF","linkquality":26}
zigbee2mqtt/prise_04 {"state":"OFF","linkquality":21}
zigbee2mqtt/prise_03 {"state":"ON","linkquality":7}

2.4ghz spectrum can sometimes be very tricky in its propagation. I saw that
numerous times in WiFi mesh network.

Merci pour la reference.

Le ven. 31 août 2018 à 10:42, Laurent notifications@github.com a écrit :

all prise_* are OSRAM PLUG, model AB3257001NJ, yep they are Router.
But either the network map is buggy, or they sucks at routing :-) why
would prise_01 (2meters away from cc2531_2) be routed through prise_03 (2
floors upstairs)

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Koenkk/zigbee2mqtt/issues/252#issuecomment-417596180,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQeB2hqGzQKKc8Hrv4ZOHRSqK8mNaTwyks5uWPb-gaJpZM4Vvz_F
.

In this case I don't think it has anything to do with propag/reflection, a rpi with a 9db antenna can barely talk to my cisco AP 2 floors downstair, had to put another AP on the floor.

I'm going to try to use a zigbee sniffer.
for cc2531 I might be able to use https://github.com/g-oikonomou/sensniff or https://github.com/andrewdodd/pyCCSniffer
I also have a zigate (JN5169) and spare aqara devices (JN5168) I should also be able to use to sniff zigbee

Just wondering if the zigbee network is actually using multipath routing where it takes varying paths between nodes each time? Something to do with battery saving?

Has anyone tried taking a series of these network maps and overlaying them to see if there is a repeating pattern that represents the real mesh? Haven't done it myself yet as I am not using the dev branch.

See my comment earlier in the thread https://github.com/Koenkk/zigbee2mqtt/issues/252#issuecomment-410674657 where I map my zigbee2mqtt network with Digi XCTU. It shows multiple paths between nodes.

The lqiscan function assumes a parent Child relationship which is not true
for routers. Routers can communicate with many other routers in a star
fashion. The function is simplified for the ease of graph drawing. In my ZS
fork lqiscan has been updated to be consistently breadth first too FYI.

On Fri., 31 Aug. 2018, 8:46 pm clockbrain, notifications@github.com wrote:

Just wondering if the zigbee network is actually using multipath routing
where it takes varying paths between nodes each time? Something to do with
battery saving?

Has anyone tried taking a series of these network maps and overlaying them
to see if there is a repeating pattern that represents the real mesh?
Haven't done it myself yet as I am not using the dev branch.

See my comment earlier in the thread #252 (comment)
https://github.com/Koenkk/zigbee2mqtt/issues/252#issuecomment-410674657
where I map my zigbee2mqtt network with Digi XCTU. It shows multiple paths
between nodes.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Koenkk/zigbee2mqtt/issues/252#issuecomment-417626816,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAcmY2oWSjSIWn3JlPRAs_ieaRIJ7i8nks5uWRQGgaJpZM4Vvz_F
.

is there any explanation for this case:
xiaomi zigbee plug submits a link quality of 70 for about 10 hours.
then I turn on the plug (remote), the link quality reduces to 25-30, there were no changes to my network during that time.

@AnhDuc85 any chance that whatever you have plugged into the zigbee plug is RF noisy? I had something similar with an old RF remote plug with connected floodlight that I could turn on remotely but had to turn off manually. The light was generating so much RF noise when on that it swamped the remote radio signal.

Try without anything plugged in or with a long lead to whatever you are switching.

Hi guys, don't you think this informations are conflicting?

set 12 17:05:51 raspberrypi npm[659]:   zigbee2mqtt:info 2018-9-12 17:05:51 MQTT publish, topic: 'zigbee2mqtt/0x00124b0018e1cd14', payload: '{"state":false,"linkquality":202,"description":"0/0x00124B0018E1CD54","type":"COORD","rssi":1}'
set 12 17:05:51 raspberrypi npm[659]:   zigbee2mqtt:info 2018-9-12 17:05:51 MQTT publish, topic: 'zigbee2mqtt/0x00124b0018e1cd14', payload: '{"state":false,"linkquality":202,"description":"6144/0x00158D00022C8A75","type":"CHILD_RFD","rssi":170}'
set 12 17:06:21 raspberrypi npm[659]:   zigbee2mqtt:info 2018-9-12 17:06:21 Starting network scan...
set 12 17:06:22 raspberrypi npm[659]:   zigbee2mqtt:info 2018-9-12 17:06:22 Network scan completed
set 12 17:06:22 raspberrypi npm[659]:   zigbee2mqtt:info 2018-9-12 17:06:22 MQTT publish, topic: 'zigbee2mqtt/bridge/networkmap/graphviz', payload: 'digraph G {
set 12 17:06:22 raspberrypi npm[659]:   "0x00124b0018e1cd14" [label="0x00124b0018e1cd14 (online)"];
set 12 17:06:22 raspberrypi npm[659]:   "0x00124b0018e1cd14" -> "0x00124b0018e1cd54" [label="1"]
set 12 17:06:22 raspberrypi npm[659]:   "0x00158d00022c8a75" [label="0x00158d00022c8a75 (online)"];
set 12 17:06:22 raspberrypi npm[659]:   "0x00158d00022c8a75" -> "0x00124b0018e1cd54" [label="3"]
set 12 17:06:22 raspberrypi npm[659]:   "0x00158d000201a791" [label="0x00158d000201a791 (online)"];
set 12 17:06:22 raspberrypi npm[659]:   "0x00158d000201a791" -> "0x00124b0018e1cd54" [label="52"]
set 12 17:06:22 raspberrypi npm[659]: }'
set 12 17:06:51 raspberrypi npm[659]:   zigbee2mqtt:info 2018-9-12 17:06:51 MQTT publish, topic: 'zigbee2mqtt/0x00124b0018e1cd14', payload: '{"state":false,"linkquality":202,"description":"0/0x00124B0018E1CD54","type":"COORD","rssi":1}'
set 12 17:06:51 raspberrypi npm[659]:   zigbee2mqtt:info 2018-9-12 17:06:51 MQTT publish, topic: 'zigbee2mqtt/0x00124b0018e1cd14', payload: '{"state":false,"linkquality":202,"description":"6144/0x00158D00022C8A75","type":"CHILD_RFD","rssi":170}'
set 12 17:06:51 raspberrypi npm[659]:   zigbee2mqtt:info 2018-9-12 17:06:51 MQTT publish, topic: 'zigbee2mqtt/0x00124b0018e1cd14', payload: '{"state":false,"linkquality":202,"description":"6144/0x00158D00022C8A75","type":"CHILD_RFD","rssi":170}'

Please notice that in the map I get 3 devices connected to the coordinator (in reality I paired them to the COORD as still cannot join the network (pair devices) through router (this time I'm using CC2531 flashed as router ), but when reporting the topic reports the router id.
In fact the router is closer than the coordinator as they are the famous 2 sensors of issue #254 .
Am I reading that log in a bad way?

Another strange thing, is that in HA the router state is "Disconnected" but this is another story I guess

@luci-11 as far as I know, the router on the cc253x (with current firmware) does not send data about its neighbors and therefore all the devices that are connected through it are not displayed on the map.
https://github.com/ioBroker/ioBroker.zigbee/issues/40#issuecomment-414063084
we need new firmware for this purpose

I've updated a firmware for the router. It should send the necessary info now. Can someone check?

@ptvoinfo link? I think I can give it a try tonight or tomorrow

will do this evening, lately I've not been able to pair a cc2531 router to a cc2531 coordinator, I don't know if it's caused by the "custom" panid I'm using. will try again anyway.

link should be http://ptvo.info/wp-content/uploads/2018/09/cc2531_1.2.2a.44539_firmware.zip

ok, let's update after tests

@lolorc the router firmware is hardcoded to PanId=6754 (1A62h) (Xiaomi)

@ptvoinfo is the channel (11) also hardcoded?

@ptvoinfo hmm does this mean it won't work, it won't pair to my coordinator ?
is this panid=6754 a requirement to work with xiaomi devices ?

@Koenkk is graphviz still working? I just can get the situation using raw command for map.
Anyway this is the export using new FW, @ptvoinfo .
Please give it a look:
0x00124b0018e1cd14 is router (CC2531 router, not 2530 as written in the log below)
0x00124b0018e1cd54 is coordinator
0x00158d0001bb5289 is the latest sensor added close to router

[{"ieeeAddr":"0x00124b0018e1cd14","nwkAddr":19075,"lqi":23,"parent":"0x00124b0018e1cd54","status":"online"},
{"ieeeAddr":"0x00158d0002486ca2","nwkAddr":61474,"lqi":1,"parent":"0x00124b0018e1cd54","status":"offline"},
{"ieeeAddr":"0x00158d0001bf944a","nwkAddr":6243,"lqi":12,"parent":"0x00124b0018e1cd54","status":"online"},
{"ieeeAddr":"0x00158d00022da787","nwkAddr":47787,"lqi":54,"parent":"0x00124b0018e1cd54","status":"online"},
{"ieeeAddr":"0x00158d00023f03ea","nwkAddr":29094,"lqi":55,"parent":"0x00124b0018e1cd54","status":"online"},
{"ieeeAddr":"0x00124b0012023473","nwkAddr":25047,"lqi":1,"parent":"0x00124b0018e1cd14","status":"online"},
{"ieeeAddr":"0x00124b0018e1cd54","nwkAddr":0,"lqi":22,"parent":"0x00124b0018e1cd14","status":"online"},
{"ieeeAddr":"0x00158d0001bb5289","nwkAddr":52263,"lqi":1,"parent":"0x00124b0018e1cd14","status":"online"}]

Just for info, there is also this warning in the log:

2018-9-26 22:05:31 - info: MQTT publish, topic: 'zigbee2mqtt/0x00124b0018e1cd14', payload: '{"state":true,"linkquality":23}'
2018-9-26 22:05:31 - warn: No converter available for 'CC2530.ROUTER' with cid 'genOnOff', type 'devChange' and data '{"cid":"genOnOff","data":{"onOff":1}}'

@lolorc Yes, this router will not pair with your coordinator. As I know, all xiaomi devices use this panid.

@Koenkk no, the new firmware supports all channels, but the pairing process may take more time.

@ptvoinfo that's weird, I have 23 xiaomi/aqara devices in my network and I'm not using panid=6754.
also, it looks like my aqara gateway and the devices still paired to it are using panid=5564.
It guess it's not configurable, it's a compile-time setting, isn't it ?

@lolorc Yes, this is the compile-time setting. It seems I need to look at this problem a bit more intently.

@lolorc Please, re-download firmwares. The link is the same. Now a router can connect to any panId.

@ptvoinfo thanks ! will do this evening and report back soon after

@ptvoinfo just been trying
the usb-diag one reports

PANID:F0F0,Ch:11,Join:1
PANID:5564,Ch:11,Join:0

but never actually joins the network.
zigbee2mqtt running in debug mode doesn't log anything from this device ieeeAddr.

edit: been speaking too soon, it just paired to my network !

@ptvoinfo I confirm - now the firmware shows the sensors behind the router
image

i've unplugged two of my four osram plugs (also acting as router) looks like the osram plug have a far better antenna, at the moment my devices communicate through the osram plug rather than the cc2531 router which is physically inbetween the osram plug and the coordinator :)

edit: I've unplugged another osram plug, during this time the cc2931 router did not take over and my networkmap lost a bunch of devices. I guess it's not working with this custom panid.

btw would you have a router firmware for cc2530+cc2591 pretty please ? ;-)

@ptvoinfo funny, cc2531_1 (router) is marked offline
map

looking at the serial console it says:

  • prise_02 ,PARENT,Depth:1,Assoc:0 <= weird, prise_02 is the furthest plug, it's 2 floors upstair, while cc2531 are 2 meters away
  • aqara_11,CHILD_RFD,Depth:3,Assoc:2
  • prise_04,NEIGHBOR
  • prise_01,NEIGHBOR
  • prise_03,NEIGHBOR
  • cc2531_2,COORD

@lolorc stupid question, but I spent 2 days on that :) Is the green light on in the router? If it only blinks in red it's offline, press one of the two little button to turn on the green light and make it online (unfortunately, it doesn't go online automatically after plugging it)

@lolorc stupid question, but I spent 2 days on that :) Is the green light on in the router? If it only blinks in red it's offline, press one of the two little button to turn on the green light and make it online (unfortunately, it doesn't go online automatically after plugging it)

P.S. how did you get that map?

@lolorc Could you please test a firmware for cc2530+cc2591?
http://ptvo.info/wp-content/uploads/2018/09/cc2530_cc2591_1.2.2a.44539_firmware.zip
The firmware sets the maximum TX power (+18dB).

@ptvoinfo it's impossible to set the router initially to online via fw? after a power failure, until you press the button it remains offline...

@luci-11 I've implemented this in the latest firmware. You need to do this only once (after flashing).

@ptvoinfo great news! I will flash it too tonight (I'm also very interested in testing the trasmission power increase)

@luci-11 please, note, transmission power increase is only related to cc2530+cc2591.

@ptvoinfo ah right, i didn't read it correcty :( but i'll flash anyway

@luci-11 the green light is now on by default, and I get the slow blinking of the red led.
It's probably an issue with the network map feature, it's in its early stage, if you look at the relations between coordinators and router, on the graph only one of them gets a 2 way communication (cc2531_1 <=> prise_03 on my last graph)

cmd I use to create the graph is:

mosquitto_sub -h $MQTT_SRV -C 1 -t zigbee2mqtt/bridge/networkmap/graphviz | sfdp -Tpng | display -

and

mosquitto_pub -h $MQTT_SRV -t zigbee2mqtt/bridge/networkmap -m graphviz

to trigger it

is the networkmap feature still working for you with latest dev branch ?
looking at the logs it looks like it does the scan, but doesn't display anything.

oh I guess I know why... issue with latest commit regarding friendly_name and networkmap

@ptvoinfo is this firmware for CC2531 both router and coordinator?
http://ptvo.info/wp-content/uploads/2018/09/cc2531_1.2.2a.44539_firmware.zip

If just router, where can I find the latest coordinator firmware please?

Also, if I update the firmware, will I need to re-pair my Xiaomi sensors (not a problem, but just so I know).

I'm looking forward to trying out the new mapping features. :)

@jaaps There is a firmware for a router.

Can someone briefly explain to me how I update to the dev branch? I'd like to try the network, too...

Update

git checkout HEAD -- npm-shrinkwrap.json
git pull
rm -rf node_modules
npm install

@mark078 you don't need the dev branch for that, all the functionality is in zigbee2mqtt 0.1.8

@Koenkk thank you, I tried it again and it worked, realy nice! :)

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

20190114_151937

I'm still having issues on that:

@xmace @kirovilya how did you create this type of map? Is it a function of iobroker, of zigbee2mqtt or one of its dependencies, or an independent module?

It's been said before: https://github.com/Koenkk/zigbee2mqtt/issues/252#issuecomment-416723311
Send MQTT payload "graphviz" to zigbee2mqtt/bridge/networkmap
Copy/paste the generated data to http://www.webgraphviz.com/

EDIT: MY BAD, you meant with the icons.

EDIT: MY BAD, you meant with the icons.

exactly. I already got the graphviz map.

For my application, I began to make feature to display the network map. It shows the connections between devices and nodes, as well as the quality of link.
image
I use the ZShepherd.prototype.lqiScan (thanks to @splitice and HalleyAssist fork) function that collects this info.
https://github.com/kirovilya/zigbee-shepherd/blob/dev/lib/shepherd.js#L417

But it does not always work correctly and some devices are not included in the map. Until I figured out why and how to fix it. :(

Another possibility is to start the pairing process on a separate router, rather than in the entire network. To do this, you need to send the NWK-address of the device to permitJoin function.

https://github.com/kirovilya/zigbee-shepherd/blob/dev/lib/components/controller.js#L338

Hi,

Your ZigBee network map looks cool!

Do you mind to share how to display this network map?

As I have no idea how to display even though I have installed Zigbee2mqtt add on.

Was this page helpful?
0 / 5 - 0 ratings