SkyConnect v7.3.2.0 ezsp to ember - driver depricated

I am using SkyConnect for my Zigbee2MQTT and is updated to the latest version via the online firmware updater.

I also have updated my Zigbee2MQTT addon to version 1.37.1 and in configuration I replaced:

port: /dev/ttyUSB1
adapter: ezsp

with

port: /dev/ttyUSB1
serial:
  adapter: ember

But I still get this error message in red:
Screenshot_2

What am I doing wrong? How I update to ember driver? IT says in next version of HA 2024.5 it will be EZSP will be removed. What am I doing wrong and how to fix it?


OK so I had to change the configuration.yaml for the Z2M not for Home Assistant and I also had to update the SkyConnect to the latest version with custom firmware 7.4.3

After several different thing I figured it out.

3 Likes

Hi Alex,

I have the exact same situation, thanks for posting the steps.

However I struggle at a noob step… How do you flash the SkyConnect to 7.4.3?
On the official online flashing tool this version isn’t available, then I lost myself looking around installing the silicon lab dev tool but without success so far

Here are the steps:

  1. Go to - silabs-firmware-builder/firmware_builds/skyconnect at ember-nohw · darkxst/silabs-firmware-builder (github.com)
  2. Download this file: ncp-uart-hw-v7.4.3.0-skyconnect-115200.gbl
  3. Go to the firmware updater: Home Assistant SkyConnect (home-assistant.io)
  4. Select the CUSTOM option and select the file you just downloaed.

Thats it :slight_smile:

5 Likes

Is it ready for prime time? The SkyConnect is my only Zigbee coordinator.

Well Z2M works solid with the latest firmware and the EMBER driver :slight_smile: So I will say yes… no problems yet (3 days)

Thanks a lot, with the combination of all your instructions I could make it on the first try!

1 Like

I am glad I could help. I figured it out by try and error and reading online :slight_smile:

Sorry its not working for me. The entire process has been frustrating. Hope someone can help.

So I changed the config. yaml for Z2MQTT to

port: /dev/ttyUSB0
serial:
  adapter: ember

Flashed the skyconnect stick with the above process to 7.4.3.0

Do I need to stop the Silicon Labs Multiprotocol Current version: 2.4.5 from starting since its multiprotocal?
I tried using the disable multiprotocol but it failed. Does this need to be done?

image

I wish the entire process was laid out as a guide.

I had the multipan firmware working ok with Z2M but wanted to switch over just to zigbee Z2M as I dont have any thread devices.

You do need to remove the multiprotocol add-an

just came back to say I did and its working now with ember. Only thing is it seems I need to re pair everything as nothing seems to be responding on the Z2M network.

The firmware update to 7.4.3.0 went fine. But I had trouble making the change in Zigbee2MQTT 1.38.0-1.
Change in the addon Settings/Serial/Adapter to ember and restart. Still get the deprecated message and if I go back to Settings it has gone back to ezsp.
In Z2M’s configuration.yaml what I see is a bit different from what you had posted above:

serial:
  port: /dev/ttyUSB0
  adapter: ember

(yes it says ember now in yaml even though the GUI says ezsp and I still get the deprecated message)
Changed it to match your post:

port: /dev/ttyUSB0
serial:
  adapter: ember

and restarted. No change.
Went to HA Settings/Addons/Zigbee2MQTT/Configuration and under serial it still said ezsp. Changed that to ember and restarted the addon. Now the deprecated message is gone, Z2M Settings/Serial says ember - I think everyone is happy. I did not have to re-pair devices.

It seems like there might be another Z2M configuration file in use, somewhere else, though I haven’t found it. I just ssh’d in and went to /root/homeassistant/zigbee2mqtt. The log files in that location are definitely in use. Some sleight of hand when everything is running in docker maybe, I don’t know.

FYI, Zigbee2MQTT lists EmberZNet with firmware 7.4.x as supported (using their new adapter: ember), and they also updated that page to list adapter: ezsp as deprecated (i.e. not recommended):

Recommend read and ask any specific questions in Zigbee2MQTT’s own community discussions/forum on GitHub (or post issues there) instead of posting about it here in Home Assistant’s community forum:

Anyway, as I understand, in summery:

You need to have upgraded to at least EmberZNet 7.4.x firmware version or later to use the new ”ember” driver/adapter in Zigbee2MQTT, but from what I read it is suggested that existing Zigbee2MQTT users first upgrade to EmberZNet 7.3.x firmware version while still using the old ”ezsp” driver/adapter as it sounds like a migration to the new ”ember” driver will go smoother if already have had the old ”ezsp” driver/adapter working EmberZNet 7.3.x firmware version while still using the old ”ezsp” driver/adapter in Zigbee2MQTT. If you do that first before upgrading to EmberZNet 7.4.x.x firmware then you should not need to re-pair any devices.

Hence the multi-step process you need to follow do depends on your specific setup and you need to ask in the Zigbee2MQTT community if you need step-by-step that applies to your setup. The process for actually updating firmware version will not be different.

Suggest start by reading and try following this article regarding migrating Zigbee2MQTT from the ezsp adapter to the new ember adapter:

Summery; ezsp adapter is now deprecated in Zigbee2MQTT’s zigbee-herdsman library, which means that the Zigbee2MQTT developers are by doing so strongly recommending users to upgrade and migrate to ember adapter, and that migration might require a multi-step process depending on what EmberZNet firmware version you are using today. Users that continues to use the ezsp adapter will for now simply get a warning in their logs that they are using a deprecated adapter, however it will not stop working.

Note! If you have a EFR32MG12/MGM12 series or EM35x/EM35xx or ETRX35x based adapter then you need to buy a newer adapter. You need at least EFR32MG13/MGM13 series to be able to upgrade to EmberZNet 7.4.x.x firmware. So you preferably want to migrate to newer Silicon Labs based Zigbee Coordinator then you should consider getting an EFR32MG2x based USB radio dongle (EFR32MG21 or EFR32MG24 today, or EFR32MG26 in the future), at least if you plan on continuing to use Silicon Labs based Zigbee adapters, though technically you can even upgrade EFR32MG13 with EmberZNet 7.4.x.x firmware (but probably not to EmberZNet 7.5.x.x firmware when that comes).

For reference see:

PS: Note that “Deprecated” does not mean that the ezsp adapter will be removed yet, instead it means you are discouraged from using it as it is being phased out and replaced by the newer ember adapter (which is not compatible with older firmware or all hardware).

1 Like

Thanks for the guide here.

Just wanted to share that I use SkyConnect on HA Green. For it to work, I need to turn off hardware flow control (rtscts=false)

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

I do have an out of memory warning, which might be due to this being a HA Green :frowning:

[2024-06-18 22:55:23] info: 	z2m: Starting Zigbee2MQTT version 1.38.0 (commit #unknown)
[2024-06-18 22:55:23] info: 	z2m: Starting zigbee-herdsman (0.49.2)
[2024-06-18 22:55:24] info: 	zh:ember: Using default stack config.
[2024-06-18 22:55:24] info: 	zh:ember: ======== Ember Adapter Starting ========
[2024-06-18 22:55:24] info: 	zh:ember:ezsp: ======== EZSP starting ========
[2024-06-18 22:55:24] info: 	zh:ember:uart:ash: ======== ASH NCP reset ========
[2024-06-18 22:55:24] info: 	zh:ember:uart:ash: RTS/CTS config is off, enabling software flow control.
[2024-06-18 22:55:24] info: 	zh:ember:uart:ash: Serial port opened
[2024-06-18 22:55:24] info: 	zh:ember:uart:ash: ======== ASH starting ========
[2024-06-18 22:55:25] info: 	zh:ember:uart:ash: ======== ASH connected ========
[2024-06-18 22:55:25] info: 	zh:ember:uart:ash: ======== ASH started ========
[2024-06-18 22:55:25] info: 	zh:ember:ezsp: ======== EZSP started ========
[2024-06-18 22:55:26] warning: 	zh:ember: [EzspConfigId] Failed to SET "APS_UNICAST_MESSAGE_COUNT" TO "32" with status=ERROR_OUT_OF_MEMORY. Firmware value will be used instead.
[2024-06-18 22:55:26] info: 	zh:ember: [STACK STATUS] Network up.
[2024-06-18 22:55:26] info: 	zh:ember: [INIT TC] NCP network matches config.
[2024-06-18 22:55:26] info: 	zh:ember: [CONCENTRATOR] Started source route discovery. 1247ms until next broadcast.
[2024-06-18 22:55:26] info: 	zh:ember:queue: Request dispatching started.
[2024-06-18 22:55:26] info: 	z2m: zigbee-herdsman started (resumed)
[2024-06-18 22:55:26] info: 	z2m: Coordinator firmware version: '{"meta":{"build":0,"ezsp":13,"major":7,"minor":4,"patch":3,"revision":"7.4.3 [GA]","special":0,"type":170},"type":"EmberZNet"}'

Just as an FYI, if hardware flow control is turn-on, I get the following error:

[2024-06-18 22:45:03] info: 	z2m: Logging to console, file (filename: log.log)
[2024-06-18 22:45:04] info: 	z2m: Starting Zigbee2MQTT version 1.38.0 (commit #unknown)
[2024-06-18 22:45:04] info: 	z2m: Starting zigbee-herdsman (0.49.2)
[2024-06-18 22:45:04] info: 	zh:ember: Using default stack config.
[2024-06-18 22:45:04] info: 	zh:ember: ======== Ember Adapter Starting ========
[2024-06-18 22:45:04] info: 	zh:ember:ezsp: ======== EZSP starting ========
[2024-06-18 22:45:04] info: 	zh:ember:uart:ash: ======== ASH NCP reset ========
[2024-06-18 22:45:04] info: 	zh:ember:uart:ash: Serial port opened
[2024-06-18 22:45:04] info: 	zh:ember:uart:ash: ======== ASH starting ========
[2024-06-18 22:45:07] info: 	zh:ember:uart:ash: ======== ASH NCP reset ========
[2024-06-18 22:45:07] info: 	zh:ember:uart:ash: ======== ASH starting ========
[2024-06-18 22:45:10] info: 	zh:ember:uart:ash: ======== ASH NCP reset ========
[2024-06-18 22:45:10] info: 	zh:ember:uart:ash: ======== ASH starting ========
[2024-06-18 22:45:12] info: 	zh:ember:uart:ash: ======== ASH NCP reset ========
[2024-06-18 22:45:12] info: 	zh:ember:uart:ash: ======== ASH starting ========
[2024-06-18 22:45:15] info: 	zh:ember:uart:ash: ======== ASH NCP reset ========
[2024-06-18 22:45:15] info: 	zh:ember:uart:ash: ======== ASH starting ========
[2024-06-18 22:45:17] error: 	z2m: Error while starting zigbee-herdsman
[2024-06-18 22:45:17] error: 	z2m: Failed to start zigbee
[2024-06-18 22:45:17] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-06-18 22:45:17] error: 	z2m: Exiting...
[2024-06-18 22:45:17] error: 	z2m: Error: Failed to start EZSP layer with status=HOST_FATAL_ERROR.
    at EmberAdapter.initEzsp (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:850:19)
    at EmberAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:2683:24)
    at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:127:29)
    at Zigbee.start (/app/lib/zigbee.ts:62:27)
    at Controller.start (/app/lib/controller.ts:109:27)
    at start (/app/index.js:107:5)

The Skyconnect does not support hardware flow control

For your OUT_OF_MEMORY :

1 Like

Thanks for the reference link. So the memory is on the adapter, not HA Green. Got it!

Really new to all this so hope this isn’t a silly question, but isn’t 8.0.0 GA now out, and should this be better than 7.4.3?

If yes, does anyone have a link to that firmware file, I can only find 7.4.3 at that GitHub site and have no idea how to build the file myself?

That is just the software. The firmware needs to be tested and compiled for the different hardwares. For example when Google releases a new Android version, the manufacturers need to compile a version for their own phones.

That must be a bug in Zigbee2MQTT. That should not be needed as Zigbee2MQTT does not enable hardware flow control by default. That is, if you do not set any rtscts config then that is the same as settling it to false. But yeah, SkyConnect will not work if you enable hardware flow control in Zigbee2MQTT as the hardware does not support it.

1 Like

Not yet no, partially because Zigbee2MQTT’s ember adapter driver does not yet support the new EZSP API version used by 8.0.0.0 and partially because it is generally not a good idea to use a new cutting-edge release that has not yet been thoughroly tested in a ”production” system if you are looking for stability. Anyway, there are no new features or functions in that new releaee that Zigbee2MQTT’s ember adapter driver have been made to take advantage of, ar least not yet