HA connect ZBT-2 z2m problem

Hello,

I’m trying to set device - serial for zigbee2mqtt, by replaacing data to:

port: /dev/serial/by-id/usb-Nabu_Casa_ZBT-2_1CDBD45F2438-if00
adapter: ember
baudrate: 460800
rtscts: true

but always have same error during startup of zigbee2mqtt:

LOG FILE:

[2025-11-22 11:30:44] info: z2m: Logging to console, file (filename: log.log)
[2025-11-22 11:30:44] info: z2m: Starting Zigbee2MQTT version 2.6.3 commit #unknown)
[2025-11-22 11:30:44] info: z2m: Starting zigbee-herdsman (6.3.2)
[2025-11-22 11:30:44] info: zh:ember: Using default stack config.
[2025-11-22 11:30:44] info: zh:ember: ======== Ember Adapter Starting ========
[2025-11-22 11:30:44] info: zh:ember:ezsp: ======== EZSP starting ========
[2025-11-22 11:30:44] info: zh:ember:uart:ash: ======== ASH Adapter reset ========
[2025-11-22 11:30:44] info: zh:ember:uart:ash: Serial port opened
[2025-11-22 11:30:44] info: zh:ember:uart:ash: ======== ASH starting ========
[2025-11-22 11:30:45] info: zh:ember:uart:ash: ======== ASH connected ========
[2025-11-22 11:30:45] info: zh:ember:uart:ash: ======== ASH started ========
[2025-11-22 11:30:45] info: zh:ember:ezsp: ======== EZSP started ========
[2025-11-22 11:30:45] info: zh:ember: Adapter EZSP protocol version (13) lower than Host. Switched.
[2025-11-22 11:30:45] info: zh:ember: Adapter version info: {“ezsp”:13,“revision”:“7.4.4 [GA]”,“build”:0,“major”:7,“minor”:4,“patch”:4,“special”:5,“type”:170}
[2025-11-22 11:30:45] error: z2m: Error while starting zigbee-herdsman
[2025-11-22 11:30:45] error: z2m: Failed to start zigbee-herdsman
[2025-11-22 11:30:45] error: z2m: Check Zigbee2MQTT fails to start/crashes runtime | Zigbee2MQTT for possible solutions
[2025-11-22 11:30:45] error: z2m: Exiting…
[2025-11-22 11:30:45] error: 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:1162:23)
at EmberAdapter.initTrustCenter (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:924:29)
at EmberAdapter.initEzsp (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:707:18)
at EmberAdapter.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1547:24)
at Controller.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/controller/controller.ts:133:29)
at Zigbee.start (/app/lib/zigbee.ts:67:27)
at Controller.start (/app/lib/controller.ts:101:13)
at start (/app/index.js:149:5)

Can anyone have idea how t solve it?
Thanks

Not very helpful response from me but that looks almost exactly like the issue I’ve been dealing with this morning. In my case it turned out to be a mismatch between the old Z-Stack backup (from a TI-based coordinator) and the new stick running EmberZNet. Zigbee2MQTT won’t accept a Z-Stack backup on an Ember coordinator, so it throws that “backup not for EmberZNet” error and the adapter crashes.

1 Like

Easiest way (if you have samba installed) is to rename coordinator_backup.json to something else like old_coordinator_backup.json

1 Like

many thanks it works, !!

1 Like

May I ask, if you rename the coordinator backup to something else, then how does the ZBT-2 pickup the old coordinator’s data? Or is this the case where you have to re-pair the devices?

I’m not entirely sure, to be honest. The last time I had to do this was 4 years ago and I don’t remember having to re-pair everything.

The coordinator data itself will get rewritten when redoing the onboarding without the backup file. Based on this, re-pairing devices is only needed if you change any of pan_id, network_key or ext_pan_id. As long as you ensure you’re using the same values as before for those 3, no re-pairing is necessary. Other properties (like adapter) should be safe to change.

There’s other files which store your devices in the Z2M folder, most notably the database.db file. Presumably that file is what is loaded on onboarding and retains the pairing, assuming you didn’t delete it.

Regarding the official docs, deleting coordinator_backup.json should only be needed when you’re switching by repairing everything.
And it especially tells to delete this file in this case.

So I would also love to hear if this really worked for @michszop without repairing.

You guys followed the docs by setting the ieee address of the new coordinator to the one from your old coordinator with a flashing tool like universal silicon labs flasher?

You need to delete/rename it if you’re switching protocols in the adapter section too, otherwise you’ll get the error in the first post.

I might be wrong since I haven’t tried it out myself, but copying over the ieee address to the new coordinator comes with one drawback. You won’t be able to flash router firmware on your old coordinator and use it to strengthen your mesh, since you’d end up with 2 devices with the same address.
Hopefully I’m wrong on this and it’s possible to change the ieee address on your old coordinator, even when flashing router firmware.

A couple of years ago I was using a Sonoff Dongle-P w. Z2M and I wanted to have a second Dongle-P to use in case the first one died. The procedure I used indicated to me that when Z2M starts up, it interrogates the Dongle for things like security keys and if it doesn’t find them (which was the case for the new backup Dongle-P), it does a “restore” procedure which will use the coordinator_backup.json file to get these parameters and write them to the Dongle.

That’s why I was asking if someone like @michszop had actually deleted the file without having to repair…