2 min read

Upgrading Home Assistant Yellow's Zigbee2MQTT from EZSP to Ember

A step by step guide on how to upgrade EZSP to Ember in Zigbee2MQTT.
Upgrading Home Assistant Yellow's Zigbee2MQTT from EZSP to Ember

Our smart home runs on a Home Assistant Yellow, which uses an EZSP adapter for its Zigbee communications. Unfortunately, EZSP support inside Zigbee2MQTT has been experimental forever and didn't allow you to do network backups, among other things, such as TouchLink.

Recently, Zigbee2MQTT introduced a new driver called ember for ESZP devices, which should lift those limitations on top of being more performant and stable.

I tried upgrading a couple of times this week and always ran into trouble, so I made this little guide, even though it isn't rocket science. This guide should also apply to other EZSP adapters, although it will be easier to use the web-based flasher for those.

Upgrade the firmware of your Zigbee Adapter

  1. Go to Addons > Zigbee2MQTT and stop the addon
  2. Go to Addons & click the Addon Store button
  3. Click the three dots in the top right, click repositories & add https://github.com/mercenaruss/zigstar_addons
  4. Now you should be able to install the Silicon Labs FW Flasher addon
  1. When installed, click the addon (don't start it yet!) and go to settings.
  2. Visit this page in a new tab and copy the URL of the latest ncp-uar-hw-* firmware.
  3. Paste this link in the Firmware URL field, but replace blob with raw. At the time of writing, this would is https://github.com/darkxst/silabs-firmware-builder/raw/ember-nohw/firmware_builds/yellow/ncp-uart-hw-v7.4.3.0-yellow-115200.gbl
  4. Check /dev/ttyAMA1 and 115200 baud rate.
  1. Save the settings and start the addon
  2. Keep an eye on the logs for errors

First, start Zigbee2MQTT normally

It's very important to start Zigbee2MQTT using the ESZP driver once. Otherwise, you will get the error Current backup file is from an unsupported EZSP version (min: 12).

To do so, make sure you have these settings under the serial section Zigbee2MQTT:

port: /dev/ttyAMA1
baudrate: 115200
rtscts: false
adapter: ezsp

Now start Zigbee2MQTT. It should boot. Give it time to discover all your devices, then stop it again.

Finally, change the driver to ember

Now swap out ezsp for ember, and you should be good to go.

port: /dev/ttyAMA1
baudrate: 115200
rtscts: false
adapter: ember