Sonoff Zigbee 3.0 USB Dongle

Seems it is not correctly discovered. It is discovered as a Z-wave stick, while it is a Zigbee stick.

3 Likes

I read that this is a known issue with earlier releases of the device.

Sonoff web site says:

If your dongle’s descriptor hasn’t been customed, you can use the tool linked below to change it to “Sonoff Zigbee 3.0 USB Dongle Plus”.

If your dongle still can’t be auto-discovered, it may be because your version of Hass hasn’t integrated this feature yet, you can follow the normal configuration steps below.

There is a link to the fix on this page:

2 Likes

Thanks for the reply. I downloaded the tool but I’m confused and the only instructions are in Chinese. Am I supposed to plug the dongle in a computer and run the exe, or patch it from HA using the .py file?

I believe the .py file is for Linux, the .exe for Windows.

From translate.google.com:

Introduction: This tool is mainly used to modify the silicon chip usb dongle device descriptor to Sonoff Zigbee 3.0 USB Dongle Plus

Use under windows:
After the Dongle is plugged into the computer, double-click ManufacturingTool.exe

Use under linux:
After the Dongle is plugged into the computer, execute the command: ./ManufacturingTool
Note: The linux that comes with windows cannot use this tool, and the linux must be a 64-bit version.

instruction:
Could not find device :
If the device cannot be found, check whether the driver is installed correctly under Windows, and check whether the dongle is connected to the virtual machine under Linux.

Successful operation prompt:

Edit: Looks like you need to load the driver on Windows before you run it. I believe that the standard driver for the Zigbee dongle. If you have upgraded the firmware under Windows you probably already have it.

1 Like

Why don’t you skip auto discovery and use ZHA configuration panel manually?

I plugged the dongle in a USB port of my PC and ran ManufacturingTool but I always get this error:
image

When running the other executable file (cp210xsmt.exe) nothing happens and nothing is displayed on the screen

1 Like

I used the manual method, pushing the button while inserting the USB; then using the official Texas Instruments tool.

See here:

2 Likes

I got same issue on my computer with ITead’s program/script and have not found a solution yet myself.

I installed Silabs CP210x drives from https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers (inclusing rebooting Windows after and checking that the USB dongle is discovered as a COM port).

I first tried to run the included ManufacturingTool.exe binary executable after inserting the dongle into a USB port and seeing it discovered, then also tried installing Python for Windows and running the .py Python script provided without any luck with it writing the new product description to the CP2102 chip.

FYI, there is much more information about this issue USB discovery issue for Sonoff Plus dongle here:

https://community.home-assistant.io/t/community-help-wanted-to-whitelist-all-compatible-zigbee-and-z-wave-usb-adapters-for-automatic-discovery-in-home-assistant-os/344412

Sad that ITead did not just release script tool based on this open-source cp210x-program by VCTLabs:

https://github.com/VCTLabs/cp210x-program

As mentioned, what is needed is to use a script or program to write a new USB product description to the dongle CP2102N USB chip as those descriptions is what Home Assistant uses for USB discovery.

Note that product description in CP210x USB chip is only needed for USB discovery by ZHA integration:

https://www.home-assistant.io/integrations/zha#discovery-via-usb-or-zeroconf

By the way, another tip is to see all more general discussions about this specific dongle hardware here:

https://community.home-assistant.io/t/sonoff-zigbee-3-0-usb-dongle-plus-by-itead-is-based-on-texas-instruments-cc2652p-can-now-be-ordered-for-10-99/340705/332

Note that is only the parts regarding the "Product Description String” that applies in that tutorial as only that will write new product description to USB chip (and not the part about flashing Z-Stack firmware).

"As the “Product Description String” of the dongle plus’ CP2102N serial chip has been customed to a unique identifier “Sonoff Zigbee 3.0 USB Dongle Plus”, which has been also added to Home Assistant’s whitelist of auto-discovered devices, the configuration of the dongle in Hass can be very simple. Just plug the dongle into your computer, it will be automatically discovered, click “CONFIGURE” to complete the configuration automatically, and then add sub-devices to use.

If your dongle’s descriptor hasn’t been customed, you can use the tool linked below to change it to “Sonoff Zigbee 3.0 USB Dongle Plus”.

https://bit.ly/3IZySMt

If your dongle still can’t be auto-discovered, it may be because your version of Hass hasn’t integrated this feature yet, you can follow the normal configuration steps below."

Of course you can do that as a one time temporary workaround but it is not a solution to the root cause.

That only applies to the Z-Stack Zigbee firmware and not the CP210x firmware specifically discussed.

2 Likes

FYI, thread mentions that USB discovery of this dongle is only supported from Home Assistant 2022.2

Again, for USB discovery to work you do first need to write “Sonoff Zigbee 3.0 USB Dongle Plus” as the "Product Description String” unique identifier if you happen to got one of the early batches without that.

I have been tuck at this for a while. I have the latest version of HA, I have updated the dongle with the latest FW (CC1352P2_CC2652P_launchpad_coordinator_20220219.hex) using the TI tool, so I know the PC drivers work.

I try to use the ManufacturingTool.exe (I am on a windows environment for configuring the dongle) to change the description string, it keeps giving me the following:
image

My HA does not detect my dongle, and when I try the manual mode, my dongle does not show up in the Hardware list of HA. My other dongle still does (not Sonoff).

Any pointers? Trying to move to Sonoff because it supports up to 200 nodes with the new firmware. I have a lot of switches.

I ended up going to SiliconLabs website and downloading their IDE and programming the USB product string.
Works now and is auto detected.

For more tips about other questions about this dongle see ITead's "Sonoff Zigbee 3.0 USB Dongle Plus" based on Texas Instruments CC2652P +20dBm radio MCU now sold for $14.99

Hi
I have installed without flashing and I have connected three devices.
But I cannot see the connection line on the network map , anybody know why ?

I can see them on my dashboard
image

Hi,

I just have bought a new dongle. If I try to add the device I get the following error

Logger: homeassistant.config_entries
Source: components/zha/core/gateway.py:170
First occurred: 16:23:24 (1 occurrences)
Last logged: 16:23:24

Error setting up entry Sonoff Zigbee 3.0 USB Dong - /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_2eaa1d155b9cec118a14634d73138bba-if00-port0, s/n: 2eaa1d155b9cec118a14634d73138bba - ITead - 10C4:EA60 for zha
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 357, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 112, in async_setup_entry
    await zha_gateway.async_initialize()
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 170, in async_initialize
    self.application_controller = await app_controller_cls.new(
  File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 111, in new
    await app._load_db()
  File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 59, in _load_db
    await self._dblistener.load()
  File "/usr/local/lib/python3.10/site-packages/zigpy/appdb.py", line 524, in load
    await self._load_devices()
  File "/usr/local/lib/python3.10/site-packages/zigpy/appdb.py", line 599, in _load_devices
    async with self.execute(f"SELECT * FROM devices{DB_V}") as cursor:
  File "/usr/local/lib/python3.10/site-packages/aiosqlite/context.py", line 41, in __aenter__
    self._obj = await self._coro
  File "/usr/local/lib/python3.10/site-packages/aiosqlite/core.py", line 184, in execute
    cursor = await self._execute(self._conn.execute, sql, parameters)
  File "/usr/local/lib/python3.10/site-packages/aiosqlite/core.py", line 129, in _execute
    return await future
  File "/usr/local/lib/python3.10/site-packages/aiosqlite/core.py", line 102, in run
    result = function()
sqlite3.OperationalError: no such table: devices_v10

Any idea what the reason could be?

Thank you!

EDIT: Using now zigbee2mqtt. That works for me.

Helo

I have recently purchased Sonof Zigbee Dongle E and i have successfully setup with zigbee2mqtt in Home Assistant.

Then i integrated My MI Light Sensor it working well .

unfortunately i have some sonoff ZigBee devices like door sensor, temperature sensor ,pir sensor etc…
it all showing unsupported devices .

any one help me how to fix it

How did you do that please ?
I have the same issue.

Best regards

If you go online and get the tools they offer for their chipsets. Simplicity studio and some of the plugins. When you do, the zigbee stick is like a kit. Once plugged in, should be detected and the same program you got from the website can be downloaded then.
I wish I can redo and post stee by step but i have already deployed my setup.

I got ZBDongle-E yesterday. Neither Raspberry Pi 4B nor Windows 10 recognize the device. I installed the driver from Sonoff site, but windows still is not recognize the device. Dongle power led is on and windows see device as below. Any suggestion?
image

found a solution yet ?

1 Like

just if anyone run into trouble (as i did for 3 days now)
I finally managed to have zigbee2mqtt running with the ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2 aka Sonoff ZBDongle E

It was Auto-discovered by HA and setup with as ZHA network and I had to delete that device setup to be able to start zibee2mqtt with that dongle (yes now it sounds obvious i know haha)

And i had to use this config:

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt:
  server: mqtt://core-mosquitto:1883
  user: $myuser
  password: $mypassword
serial:
  port: >-
    /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20230529084626-if00
  adapter: ezsp