Zigbee coordinator migration

Goal: move an existing Zigbee network to a new coordinator (e.g. Connect ZBT-2 or a network SLZB) or to different software (Zigbee2MQTT / deCONZ โ†’ ZHA) without re-pairing every device.
Prerequisites: HA 2025.11+, a free USB port (or a USB hub), a fresh HA backup. ZBT-2 docs ZBT-2 draft

How it works

Which procedure to use

Starting point Procedure
ZHA, old adapter works A
Zigbee2MQTT, old adapter works B, then A
Zigbee2MQTT, old adapter no longer available C (from a Z2M backup)
deCONZ (ConBee / RaspBee) D, then A
Z2M or ZHA stays, only the CC26xx adapter changes (e.g. to SLZB) E

Source: ZBT-2 docs, SLZB-OS manual.

Before migrating (always)

  1. Make an HA backup. It also contains the Zigbee coordinator settings from ZHA. ZBT-2 draft
  2. Connect the new adapter via a USB extension cable, away from USB 3.0, SSDs and the router. With HA Container, map it into the container. ZBT-2 docs
  3. Synthesis: note which devices are battery-powered. Those are the ones most likely to need re-pairing after migration.

Procedure A: ZHA โ†’ new adapter

According to ZBT-2 docs:

  1. Settings > Devices & services. HA discovers the new adapter; select Add.
  2. In the dialog, pick Migrate Zigbee to a new adapter.
  3. Choose Recommended installation. HA backs up the old adapter and writes its settings to the new one.
  4. Done. Devices rejoin, usually within an hour. Power-cycling them helps.
  5. Unplug the old adapter.

Alternative from ZHA: in the ZHA integration, cog wheel โ†’ Migrate adapter โ†’ Migrate to a new adapter โ†’ pick the new adapter's port โ†’ Migrate automatically (recommended). Advanced migration lets you restore an older backup. ZBT-2 docs

Procedure B: Zigbee2MQTT โ†’ ZHA (with the old adapter)

According to ZBT-2 docs:

  1. Stop the Z2M app (Settings > Apps).
  2. Remove Z2M devices from MQTT: either delete the whole MQTT integration (if you don't use MQTT elsewhere) or individual devices. Otherwise dead devices from MQTT discovery stay in HA.
  3. Add the ZHA integration and select the serial port of the old adapter.
  4. Advanced setup โ†’ Keep adapter network settings. ZHA takes over the network from the old adapter.
  5. Continue with procedure A.

Procedure C: Zigbee2MQTT from a backup (old adapter gone)

According to ZBT-2 docs:

  1. In the Z2M web UI, Settings > Tools > Request Z2M backup and download it. The ZIP contains coordinator_backup.json.
  2. Stop Z2M and remove Z2M devices from MQTT (as in B, step 2).
  3. Connect the new adapter, Add โ†’ Use as Zigbee adapter โ†’ Custom โ†’ Zigbee Home Automation.
  4. In the Network Formation dialog, choose Upload a manual backup and upload coordinator_backup.json.
  5. Assign the coordinator to an area and wait for devices to rejoin (usually within an hour).
  6. Migrated devices get new entity IDs and lose manually assigned names. Update automations and dashboards.

Procedure D: deCONZ โ†’ ZHA

According to ZBT-2 docs:

  1. Update the ConBee / RaspBee firmware to 26720700 or newer (deCONZ app โ†’ Settings > Gateway). HA must be 2025.10.1+.
  2. In the deCONZ app, disable Start on boot and select Stop. Delete the deCONZ integration.
  3. Add ZHA on the ConBee adapter โ†’ Advanced setup โ†’ Keep adapter network settings.
  4. Wait for devices to rejoin. Battery devices may need manual re-pairing.
  5. Continue with procedure A.

Procedure E: swapping a CC26xx adapter without changing software (e.g. to SLZB)

According to SLZB-OS manual, for adapters with a CC26xx chip (e.g. CC2652P7):

  1. Stop Z2M or ZHA and power off the old coordinator.
  2. Power off all Zigbee routers for at least 15 s (e.g. briefly switch off the breaker).
  3. Power on the new coordinator, then the routers, then start Z2M or ZHA with the new adapter.
  4. Devices should reconnect within 5โ€“10 minutes.
  5. If not: in SLZB-OS set the new coordinator's IEEE address to the old one (ADVANCED: Adapter IEEE address change) and repeat steps 1โ€“4. Doesn't work in USB mode.

Synthesis: with ZHA it's simpler to use procedure A and enter the SLZB socket as the new port. SLZB-OS's configuration generator prints the values. SLZB-OS manual See Home Assistant Connect SLZB.

What doesn't carry over

Verification

Rollback

Troubleshooting

Related

Sources