Zigbee Map - Visualize your mesh network

Released version 2.9.0 with the following changes:

Added

  • Add support for “Both” data source, enabling dual Zigbee Map panels (Z2M + ZHA)
  • Add cross‑links between Zigbee Map and Zigbee Log in the top‑right menu, making it possible to keep just one sidebar entry - @chairstacker

Have fun!

2 Likes

Hello @dandanache is it possible to view more then one z2mqtt networks in one HA zigbee map instance as add-on? Now I have multiple z2mqtt networks at home but the zigbee map add-on only shows me the network connected in my zigbee2mqtt proxy add-on.
Should I remove the proxy and work with several maps in the configuration.yaml of HA?

1 Like

I would keep your current setup, the Zigbee add-on (integration) will register the panel for one of your Z2M instances. To add an extra panel for the second instance, you can add this to your config/configuration.yaml:

panel_custom:

  # Keep the panel names zigbee-map-panel-1 and zigbee-log-panel-1 unchanged
  - name: zigbee-map-panel-1
    url_path: zigbee-map-1
    module_url: /api/panel_custom/zigbee_map/zigbee-map-panel.js?v=2.9.0
    sidebar_title: Zigbee Map (mesh 2)
    sidebar_icon: mdi:hub
    config:
      websocket-url: ...

  - name: zigbee-log-panel-1
    url_path: zigbee-log-1
    module_url: /api/panel_custom/zigbee_map/zigbee-log-panel.js?v=2.9.0
    sidebar_title: Zigbee Log (mesh 2)
    sidebar_icon: mdi:list-box-outline
    config:
      websocket-url: ...

The Readme file contains details on how to determine the WebSocket URL for your second Z2M network.

1 Like

I made it with zigbee-map-2, zigbee-map-3 but 4 and 5 won’t show, is there a limitation on the quantity in the configuration.yaml ?

1 Like

Yes there is. I’ll see if I can make that nicer, currently this is a hack. I see that the integration uses this panel property webcomponent_name: zigbee-map-panel to get around it. Edit: does not work.

Do you really need more than 4 panels (zigbee-map, zigbee-map-1, zigbee-map-2, zigbee-map-3)?

1 Like

Well @dandanache you would really help me yes if you could make it to 5 panels.
I have split up my z2mqtt network to 5 seperate z2mqtt networks which made my zigbee more stable now.

I have left the zigbee proxy add-on so that one works in your zigbee map but then I have 4 extra networks which now are included in the configuration.yaml

Or can I use these as the extra maps in the configuration.yaml beside the one
(zigbee-map, zigbee-map-1, zigbee-map-2, zigbee-map-3)

1 Like

If you set Data source = Zigbee2MQTT in the integration options, it will register the panel as “zigbee-map-z2m” so it frees up “zigbee-map” to be used in your configuration.yaml.

Edit:

damn

2 Likes

haha yes I know it sounds crazy but it works very good

So I should or use the integration or I should use the configuration.yaml

And what is the max quantity know allowed in the configuration.yaml ?

1 Like

Use both: the integration and configuration.yaml.

Go to Settings → Devices & services → Zigbee Map → Cog wheel button → Set “Data source” to “Zigbee2MQTT”. This will register a panel for one of your Z2M instances.

Register panels for the remaining four Z2M instances using configuration.yaml:

panel_custom:

  # Second Z2M instance
  - name: zigbee-map-panel
    ...

  # Third Z2M instance
  - name: zigbee-map-panel-1
    ...

  # Fourth Z2M instance
  - name: zigbee-map-panel-2
    ...

  # Fifth Z2M instance
  - name: zigbee-map-panel-3
    ...
1 Like

That’s a great way to deal with it, although I have to say, that in the meantime, I have created some button cards to keep most of the sidebar entries ‘out of reach’ for the normal user:

1 Like

Thanks this is AMAZING work! I hope it makes its way into the official HA release.

Q: Is the background image setting device specific? Just set it up on my laptop and dragged the devices into position with the Persist option enabled. Looks fantastic but when I load on my phone it doesn’t have the settings or background?

2 Likes

Take a look here:
Zigbee Map - Visualize your mesh network - Share your Projects! / Custom Integrations - Home Assistant Community

2 Likes

Another observation I found was that when clicking a router/repeater device (may also happen with end devices too), very frequently they would rapidly relocate/move way off my floorplan. Not sure why? Would be great if we could lock the nodes into a permanent position once finally dragged into place. Also being able to have the ability to save the node locations into the config rather than browser would be cool. Not sure I have the patience to drag ~140+ nodes around on my mobile. On the laptop it was surprisingly quicker than I though it would be.

Edit: So I read the manual and " * Click or tap a fixed node to reset its position." - the issue is after I’ve dragged the node into position and if I click the node to inspect the neighbours, it resets position which is the annoying part.

2 Likes

I’ll take a look into adding that.

I’ll update it so a single‑click just highlights the node, and a double‑click resets its position. That setup feels pretty natural in my testing.

Appreciate the feedback :hugs:

3 Likes

Released version 2.10.0 with the following changes:

Changed

  • Use server to share options across devices (when zigbee_map integration is installed); fallback to localStorage - @zuz242, @JJW.AU

  • Change node interactions: a single click now highlights the node, a double‑click resets its position - @JJW.AU

  • Map building order now prioritizes the highest LQI nodes from the interview queue - @hkirschk

Have fun!

3 Likes

Thanks ffor the last updates.
Its getting close to perfection :wink:

1 Like

Many thanks! Something weird was going on when I upgraded. HACS didn’t find the new version so I simply re-downloaded the new version via HACS. But then the map About page still referred to the old version. I ended up removing the integration and adding it back again and possibly rebooting. I did have to drag and drop All my devices again after the update but all good now.
Is it possible to add a lock button to avoid accidentally dragging a device after they’ve all been correctly placed? I have about 145 devices so it’s easy for me to accidentally move a device when panning or zooming.

2 Likes

The next time, should there be a next time, you experience that behavior, if you haven’t tried this before removing the integration and reinstalling it, try a simple browser cache flush. Instructions have been posted in this thread several times, but to reiterate on a chrome browser using windows - press F12 to bring up Chrome Developer screen, then right click on the reload page button next to the address bar, a drop down appears, select Empty Cache and Hard Reload.

2 Likes

Good point! I should have mentioned in the release notes that node positions are reset after the update.

That’s a reasonable feature request. I’ll look into adding something like that :+1:

In theory this shouldn’t be necessary anymore when the app is installed via HACS/GPM, since each new release appends a different ?v=x.y.z cache‑busting query parameter to the JavaScript URL.

That said, it’s possible something isn’t behaving as expected since people are still running into the caching issue.

1 Like