Is it possible to migrate a Zigbee2MQTT Zigbee network without re-pairing from SONOFF Zigbee 3.0 USB Dongle Plus (zstack stack) to Nabu Casa ZBT-2 (ember stack)?

I would like to migrate my Zigbee2MQTT Zigbee network from SONOFF Zigbee 3.0 USB Dongle Plus (ZBDongle-P with chipset: TI CC2652P + CP2102(N)) to a Nabu Casa ZBT-2 that I recently bought. (I want to continue using Zigbee2MQTT -- so not switch to ZHA)

I want to migrate my Zigbee network without re-pairing, because it has 85 devices and would require much effort.

I tried following these instructions to migrate: FAQ | Zigbee2MQTT

I know these are different stack (zstack vs. ember), but found the following statement here that it might work:

When switching from zstack -> ember or ember -> zstack re-pairing might not be required, however results might vary as this is not officially supported.

However, I get this error after switching my Z2M configuration to Nabu Casa ZBT-2 with ember stack:

[2026-05-24 00:32:14] e[31merrore[39m: 	z2m: Error while starting zigbee-herdsman
[2026-05-24 00:32:14] e[31merrore[39m: 	z2m: Failed to start zigbee-herdsman
[2026-05-24 00:32:14] e[31merrore[39m: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
[2026-05-24 00:32:14] e[31merrore[39m: 	z2m: Exiting...
[2026-05-24 00:32:14] e[31merrore[39m: 	z2m: Error: [BACKUP] Current backup file is not for EmberZNet stack.
    at EmberAdapter.getStoredBackup (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1154:23)
    at EmberAdapter.initTrustCenter (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:925:29)
    at processTicksAndRejections (node:internal/process/task_queues:103:5)
    at runNextTicks (node:internal/process/task_queues:68:3)
    at processImmediate (node:internal/timers:452:9)
    at EmberAdapter.initEzsp (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:708:18)
    at EmberAdapter.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1538:24)
    at Controller.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/controller/controller.ts:146:29)
    at Zigbee.start (/app/lib/zigbee.ts:70:27)
    at Controller.start (/app/lib/controller.ts:111:29)

Am I out of luck or is there some "trick" that I might try?

Try renaming the backup file to something temporary.

Thank you for your reply. I have a follow up questions:

Is it correct, that I need to rename this file:

/config/zigbee2mqtt/coordinator_backup.json

into something like this(?):

/config/zigbee2mqtt/coordinator_backup_tmp.json

If so, could you please comment on how this will help?

I assume that it will allow me to start Zigbee2MQTT without getting the error that I posted... But will I then be able to load the backup JSON file afterwards? (Which is what I need to do to avoid having to re-pair all devices.)

Thanks again.

You can either rename it to what ever you like or download it to your computer for safe keeping and delete it from the Z2M directory.

It checks the current config vs. the backup config and since there is a mismatch it won't let you start the app. If you rename it, it won't have any backup to compare to, it will start the app which then creates a new backup file.

1 Like