Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Hardware
    • Adapters
    • Devices
  • Installation
    • Linux
    • Docker
    • Home Assistant addon
    • openHABian
    • Windows
    • FreeBSD jail
    • Kubernetes
    • Watchdog
    • Zigbee2MQTT fails to start/crashes runtime
  • Configuration
    • Adapter settings
    • MQTT
    • Zigbee network
    • Frontend
    • Devices and Groups
    • Logging
    • Device blocklist / passlist
    • OTA device firmware update
    • Device Availability
    • Home Assistant integration
    • More configuration options
    • Configuration update
    • All settings
  • Usage
    • Allowing devices to join
    • Integrations
    • Touchlink
    • Scenes
    • Binding
    • Groups
    • OTA updates
    • MQTT Topics and Messages
    • Exposes
    • Health
  • FAQ

Copying the ieee address of an adapter

When migrating from one stick to another it is important that the new stick uses the same ieee address as the old stick. Some devices lookup the coordinator by its ieee address, this fails when the ieee address of the coordinator changes. There are various tools which can do this.

First you have to determine the ieee address of your old stick, there are 2 ways to do this:

  1. Open the frontend, go to "Settings" -> "About" -> "Coordinator IEEE Address"
  2. Open the data/database.db; on the first line you will find the coordinator ieee address:
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b000e89686d","nwkAddr":0...

Note that the primary ieee address will remain the same and these instructions only change the secondary ieee address. The tools below generally only show the primary ieee address, so it can appear that the changes aren't taking effect. Setting the secondary ieee address via the instructions below is sufficient to avoid the problem mentioned above.

XZG Multi-Tool

Supports: CC2652, CC1352, CC2538, EFR32-based coordinators

  1. Open XZG Multi-tool, select your coordinator's chip family and click Choose Serial
  2. After successful connection, you should see bootloader and firmware versions. For TI adapters, the primary (fixed) IEEE address will also be displayed in the Device Info section
  3. Scroll to the IEEE section and click Read to retrieve the current IEEE address of your coordinator (secondary for TI, primary for EFR32-based adapters)
  4. Enter the new IEEE address in the corresponding field and click Write

Warning

If you're using an EFR32-based adapter and receive an error when attempting to write a new IEEE address, this indicates that your device's firmware doesn't support NV3 tokens. You can still write a new IEEE address to the MFG_CUSTOM_EUI_64 field, but this is a ONE-TIME write operation and cannot be changed afterward! If you're certain you want to proceed, check the Force checkbox and click Write again.

Force option performs a ONE-TIME write that cannot be reversed!

ZigStar Multi Tool

Supports: CC2652, CC1352, CC2538

  1. Download and run the tool
  2. Plug in your adapter and put it in BSL mode, consult your adapters manual on how to put it in BSL mode
  3. Click refresh icon and select your adapter
  4. Fill in the old coordinators ieee address under "IEEE" (first 0x can be skipped)
  5. Check "Write IEEE" and click "Write IEEE"
  6. Reflash the firmware on your stick (this is important, otherwise the coordinator will not use the new ieee address)

cc2538-bsl

Supports: CC2652, CC1352, CC2538

  1. Download the tool
  2. Plug in your adapter and put it in BSL mode, consult your adapters manual on how to put it in BSL mode (if necessary, some adapters have an autobootloader, e.g. this one)
  3. Run ./cc2538-bsl.py -evw --ieee-address 00:12:4b:aa:bb:cc:dd:ee -p /dev/tty.usbserial-10 ./fw.hex, replace:
    • 00:12:4b:aa:bb:cc:dd:ee with your coordinator ieee address (first 0x can be skipped)
    • /dev/tty.usbserial-10 with the path to your adapter (for Sonoff Zigbee USB Dongle Plus --bootloader-sonoff-usb is needed as well)
    • ./fw.hex with the path to your adapters firmware.

FLASH-PROGRAMMER-2

Supports: CC2652, CC1352, CC2538

  1. Download the tool
  2. Plug in your adapter and put it in BSL mode, consult your adapters manual on how to put it in BSL mode
  3. Select your adapter, go to "MAC address"
  4. Fill the old coordinator ieee address into "Secondary Address" -> "IEEE 802.15.4 MAC address" (first 0x can be skipped)
  5. Press "Write"
  6. Reflash the firmware on your stick - in the right corner under Secondary MAC check "Retain secondary IEEE" (this is important, otherwise the coordinator will not use the new ieee address)

Universal Silicon Labs Flasher

Supports: EFR32-based coordinators

  1. Install the tool
  2. Plug in your adapter
  3. Run universal-silabs-flasher --device /dev/ttyACM0 write-ieee --ieee 0011223344556677
    • Replace /dev/ttyACM0 with the path to your new adapter
    • Replace 0011223344556677 with your coordinator's IEEE address. Note that there is no hex prefix (0x)
Help to make the docu better and edit this page on Github ✌
Last Updated: 12/19/25, 8:58 PM