# \[HOW-TO\]\[Pro\]\[Cloud\] - Zigbee Route map (Homey Pro / Homey SHS / Homey Bridge)

**URL:** <https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966>\
**Category:** Tutorials\
**Tags:** zigbee, homey-pro, homey-bridge\
**Created:** [February 26, 2024, 4:28pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966 "2024-02-26T16:28:56Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [March 1, 2024, 12:18pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/41 "2024-03-01T12:18:05Z")

</div>

I don’t have a very high opinion on Homey’s Zigbee in general 🤷🏼‍♂️

---

<div class="post-metadata">

**Author:** ![Harrr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/harrr/32/47916_2.png) [@Harrr](https://community.homey.app/u/Harrr)\
**Post date:** [March 1, 2024, 12:33pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/42 "2024-03-01T12:33:14Z")

</div>

you have no clue?

---

<div class="post-metadata">

**Author:** ![Harrr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/harrr/32/47916_2.png) [@Harrr](https://community.homey.app/u/Harrr)\
**Post date:** [March 1, 2024, 6:32pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/43 "2024-03-01T18:32:52Z")

</div>

> [@martijnpoppen](#):
>
> ```auto
> const main = async function () {
> console.log("Starting main function...");
> 
> const zigbeeUpdate = await Homey.zigbee.runCommand({command: 'UPDATE_NODES'});
> const data = await Homey.zigbee.getState();
> const homeyID = data.controllerState.panId;
> 
> let nodes = Object.values(data.nodes).map((node) => ({
> name: node.name,
> group: node.type.toLowerCase(),
> id: node.nwkAddr,
> }));
> const edges = [];
> 
> nodes = [{ name: "Homey", id: homeyID, group: 'coordinator' }, ...nodes];
> 
> if (data.controllerState && !data.controllerState.routes) {
> return "No data found. Currently only Homey Pro (2016-2019) supported";
> } else {
> for (const [key, value] of Object.entries(data.controllerState.routes)) {
> if (typeof value === "string") {
> edges.push({ from: parseInt(value), to: parseInt(key) });
> } else if (Array.isArray(value) && value.length > 0) {
> if (nodes.some((n) => n.id === parseInt(value[0]))) {
> edges.push({ from: parseInt(value[0]), to: parseInt(key) });
> } else {
> edges.push({ from: homeyID, to: parseInt(key) });
> }
> } else if (Array.isArray(value) && value.length === 0) {
> edges.push({ from: homeyID, to: parseInt(key) });
> } else {
> console.log("No routes found");
> }
> }
> 
> const nodeIds = nodes.map((n) => n.id);
> const edgeIds = [...edges.map((e) => e.to), ...edges.map((e) => e.from)];
> 
> nodeIds.forEach((id) => {
> if (!edgeIds.includes(id)) {
> edges.push({ from: homeyID, to: id });
> }
> });
> 
> const buf = window
> .btoa(JSON.stringify({ nodes, edges }))
> .toString("base64");
> return `https://martijnpoppen.github.io/com.homey.zigbee.mesh?data=${buf}`;
> }
> };
> 
> main();
> 
> ```

I just discovered that the map does not correspond with the table in homey developers tools.  
This afternoon i have switched on a router that has another position in the structure

Greetz,  
Harrr

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [March 1, 2024, 6:45pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/44 "2024-03-01T18:45:30Z")

</div>

Harr, the table shows the _last known route_ (it’s mentioned there)  
And you now know it can change at any moment.

---

<div class="post-metadata">

**Author:** ![Harrr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/harrr/32/47916_2.png) [@Harrr](https://community.homey.app/u/Harrr)\
**Post date:** [March 1, 2024, 7:04pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/45 "2024-03-01T19:04:55Z")

</div>

thanks

---

<div class="post-metadata">

**Author:** ![martijnpoppen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijnpoppen/32/84849_2.png) [@martijnpoppen](https://community.homey.app/u/martijnpoppen)\
**Post date:** [March 1, 2024, 8:04pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/46 "2024-03-01T20:04:28Z")

</div>

> [@Harrr](#):
>
> Can you make the drawing a little more in a landscape shape, to get a lager image on the pc-screen?

I checked, but with the current graph library that’s not possible. Will investigate if another library would be easier 🙂

---

<div class="post-metadata">

**Author:** ![martijnpoppen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijnpoppen/32/84849_2.png) [@martijnpoppen](https://community.homey.app/u/martijnpoppen)\
**Post date:** [March 8, 2024, 4:45pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/47 "2024-03-08T16:45:44Z")

</div>

> [@robertklep](#):
>
> I don’t see any redundant connections between routers, which means the old Homey’s are using a suboptimal topology (cluster tree instead of mesh).

@robertklep saw this message and did some tinkering with the map.

seems like some enddevices have double routes.  
Do you know if that’s possible? or is it like a backup route?

@Sharkys and I think you would know this 😛

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/2/122982ad6145c5b5fd8822e9a0427b98281c176c.png)  
Circle=router  
Square=enddevice

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [March 8, 2024, 6:01pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/48 "2024-03-08T18:01:54Z")

</div>

> [@martijnpoppen](#):
>
> Do you know if that’s possible?

It’s possible that multiple routers _think_ that a particular end device is one of their children, but an end device can only have one parent (there’s a protocol in place with which routers can resolve conflicts about end devices).

---

<div class="post-metadata">

**Author:** ![martijnpoppen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijnpoppen/32/84849_2.png) [@martijnpoppen](https://community.homey.app/u/martijnpoppen)\
**Post date:** [March 8, 2024, 7:21pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/49 "2024-03-08T19:21:17Z")

</div>

Thanks! then the zigbee network in Homey is just as you said: a Cluster tree

---

<div class="post-metadata">

**Author:** ![Harrr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/harrr/32/47916_2.png) [@Harrr](https://community.homey.app/u/Harrr)\
**Post date:** [March 20, 2024, 5:59pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/50 "2024-03-20T17:59:46Z")

</div>

I just discovered that I can move the nodes in the route map… 🙂  
Not in groups but one at the time

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [March 20, 2024, 6:06pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/51 "2024-03-20T18:06:46Z")

</div>

I hope you don’t think that means you’re modifying the actual routing 😁

---

<div class="post-metadata">

**Author:** ![Harrr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/harrr/32/47916_2.png) [@Harrr](https://community.homey.app/u/Harrr)\
**Post date:** [March 20, 2024, 6:21pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/52 "2024-03-20T18:21:29Z")

</div>

No no, 🙂  
I am monitoring that map regularly to see how it adapts.  
The @martijnpoppen maps are an ideal way of storing the data and analyzing the changes.

---

<div class="post-metadata">

**Author:** ![martijnpoppen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijnpoppen/32/84849_2.png) [@martijnpoppen](https://community.homey.app/u/martijnpoppen)\
**Post date:** [March 20, 2024, 7:32pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/53 "2024-03-20T19:32:02Z")

</div>

@Harrr correct, that’s default behaviour of the plugin. Sometimes the nodes are rendered on top of each other, the move feature helps a bit with that 🙂

---

<div class="post-metadata">

**Author:** ![dambeh21](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dambeh21/32/79248_2.png) [@dambeh21](https://community.homey.app/u/dambeh21)\
**Post date:** [November 30, 2024, 5:38pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/54 "2024-11-30T17:38:43Z")

</div>

Hi,

Do you have any update about the implementation of Zigbee map for Homey Pro 2023 ?  
Did someone find an other way to do it ?  
Thanks

---

<div class="post-metadata">

**Author:** ![martijnpoppen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijnpoppen/32/84849_2.png) [@martijnpoppen](https://community.homey.app/u/martijnpoppen)\
**Post date:** [November 30, 2024, 5:43pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/55 "2024-11-30T17:43:37Z")

</div>

@dambeh21 not possible  
Athom didn’t add the routes for the HP23

---

<div class="post-metadata">

**Author:** ![Dennis\_Schonherr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dennis_schonherr/32/150475_2.png) [@Dennis\_Schonherr](https://community.homey.app/u/Dennis_Schonherr)\
**Post date:** [January 4, 2026, 11:16am UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/56 "2026-01-04T11:16:04Z")

</div>

Hi, is it possible to get the script for the Homey 2026? I’m having problems with four Aqara contact sensors and I’m at my wit’s end. When I run the script, I get the following message: “No data found. Currently only Homey Pro (2016-2019) supported.”

---

<div class="post-metadata">

**Author:** ![martijnpoppen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijnpoppen/32/84849_2.png) [@martijnpoppen](https://community.homey.app/u/martijnpoppen)\
**Post date:** [January 4, 2026, 7:21pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/57 "2026-01-04T19:21:06Z")

</div>

@Dennis_Schonherr Hi!  
No for the newer Homey’s this is not possible as Athom removed the route overview from [Homey Developer Tools](https://tools.developer.homey.app/tools/zigbee)

---

<div class="post-metadata">

**Author:** ![Dennis\_Schonherr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dennis_schonherr/32/150475_2.png) [@Dennis\_Schonherr](https://community.homey.app/u/Dennis_Schonherr)\
**Post date:** [January 4, 2026, 7:32pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/58 "2026-01-04T19:32:39Z")

</div>

Hey, thanks for your quick feedback. Why is Athom removing such useful features? Shouldn’t the aim be to improve and expand analytics?

---

<div class="post-metadata">

**Author:** ![martijnpoppen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/martijnpoppen/32/84849_2.png) [@martijnpoppen](https://community.homey.app/u/martijnpoppen)\
**Post date:** [January 4, 2026, 10:35pm UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/59 "2026-01-04T22:35:36Z")

</div>

Because the routing was not reliable information.

---

<div class="post-metadata">

**Author:** ![Sharkys](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sharkys/32/54029_2.png) [@Sharkys](https://community.homey.app/u/Sharkys)\
**Post date:** [January 5, 2026, 9:34am UTC](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966/60 "2026-01-05T09:34:19Z")

</div>

Maybe correction here Martijn - I think they removed it because they have difficulties to show it as “3D mesh” while showing “2D mesh” only.

**Unverified 😉** So it was reliable but always showing something different and people creating issues based on it, so they rather fully removed it to stop complaints. Even it’s speculation here, I would bet it was like that.

But maybe they can leverage your work to re-implement it 😉

Btw, FYI only Zigbee2MQTT implemented in recent changes also interesting views relying on external viewers ([https://www.planttext.com/](https://www.planttext.com/), [Graphviz Online](https://dreampuf.github.io/GraphvizOnline) )…

 ![Zigbee mesh](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/0/e0800951545e04f4690be9252c97b116e5aa0fc2.png)

[Previous page](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966.md?page=2)

[Next page](https://community.homey.app/t/how-to-pro-cloud-zigbee-route-map-homey-pro-homey-shs-homey-bridge/104966.md?page=4)
