ITead's "Sonoff Zigbee 3.0 USB Dongle Plus" (model "ZBDongle-P") based on Texas Instruments CC2652P radio SoC/MCU

Yes, got three IKEA Tradfri Signal Repeater E1746 acting as act core of my Zigbee “backbone network”.

I highly recommend them. Personally, I have a two-story house with a basement and an attic so have hidden one each in the middle of the house on each floor that does not contain the Zigbee Coordinator.

+1 but if you have a larger house with radio killing building obstructions/materials and do not also have other devices that act as Zigbee routers, such as Zigbee plugs, then consider dedicated router devices.

IKEA Tradfri Signal Repeater E1746 works great as Zigbee Router, however, the IKEA Tradfri Wireless Control Outlet (IKEA’s smart Zigbee plug) does not work good as a repeater, but yes it is also a router.

They both work OK as Zigbee routers for battery-operated Aqara, Xiaomi, and Tuya sensors, but as mentioned those an infamous for being incompatible or losing connection with most Zigbee routers.

I instead recommend ITead’s Sonoff Zigbee sensors even though their enclosure looks is not as good:

https://itead.cc/?s=zigbee&post_type=product&type_aws=true

Check out for example this review:

https://notenoughtech.com/home-automation/best-zigbee-temperature-sensors/

The general recommendation is actually not to use Zigbee lightbulbs as Zigbee routers because they are often installed within an existing light/lamp fixture with a manual switch (wall switch or cord switch).

It is therefore common that some human comes along and simply flick that switch and it loses power.

Zigbee router devices are meant to be permanently powered devices that are always on.

For this reason, some smart manufacturers of Zigbee lightbulbs have chosen to configure their firmware as an end-device instead of a router in order to avoid bad experiences to prevent the wrong usage.

PS: Personally I only use Zigbee lightbulbs in my window-lamps/window-light fixtures and for those, I made sure that they are always permanently powered by physically removing their cord-switches. As for my ceiling lights/lamps I only use relay or dimmer modules connected controlled via existing wall switch.

1 Like

FYI, Home Assistant 2022.2 release notes now mention USB discovery of Sonoff Zigbee Dongle Plus:

https://www.home-assistant.io/blog/2022/02/02/release-20222/#all-changes

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

This adds automatic USB auto-discovery in ZHA if USB dongle has unique custom product description, but this only applies to newer batches of shipped dongles as initial batches is missing an ID in CP2102.

That is, there is an issue with the dongle reporting a unique description, so if you got shipped an early version of the dongle then the fix should be to write the new custom description of its CP210x firmware for the USB-to-Serial Bridge chip, (and not just a simple firmware upgrade of dongle’s CC2652P chip)

If your dongle does not have this unique description then it will be discovered as dongle for Z-Wave JS.

image

ITead has posted a script/program that should let users themselves update the product description on already shipped dongles to supposedly match the description already written to latest batch of dongles:

https://www.facebook.com/SONOFF.official/posts/2927251720919807

Tested it myself on a Windows 10 computer and it did not work for me (it closed without any messages).

So sad that ITead did not release a script tool based on this open-source cp210x-program by VCTLabs:

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

Again, there is more information about how the automatic USB discovery feature works discussed 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

1 Like

I had the Z-wave issue and the “unknown manufacturer” issue with the Sonoff Zigbee 3.00 also, BUT:
I today have (re-)installed HA with HA OS 7.2 with HA 2022.2.0 and afterwards with HA 2022.2.1.
HA now sees it directly as a Zigbee and after “Configure” I get a message:
CC1352/CC2652 Z-stack 3.30+ (build 20211217) (Texas Instruments) .
afbeelding

NO more Z-wave or “unknown manufacturer” issue, seems resolved.
The Sonoff now works fine under ZHA (can pair all my devices and they work), same as with the manual install before (and ignore z-wave).
The Sonoff does NOT work under Zigbee2MQTT, It installs fine (with change config. Z2M to /dev/ttyUSB0), but cannot pair any device (was also the case with previous versions HA OS, HA and firmware for the Sonoff. No errors/warning in the logs for Z2M. I run on a old X86/64 N3150 motherboard 8GB and an SDD.

Strange that the Dongle works fine under ZHA but cannot pair any device under Zigbee2MQTT on HA.
(I did a total new HA OS/HA install on same hardware, with flash of the Zigbee dongle and then only install for Z2M, when that did not work I removed of all Z2M stuff and installed ZHA without problems and with a working/pairing etc ZHA!)
Any suggestions.

Sharing my experience here.

I got my dongle today.
When I opened it, the PCB reads v1.3, with a date in July 2021, so definitely one of those old batch.
Did the firmware update to CC1352P2_CC2652P_launchpad_coordinator_20211217, went fine. I did have to update the cp210x driver via windows update before I could proceed with the TI Programmer tool.

I ran the name change tool also, using my Win10 laptop. It went fine. The name is now usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxx-port0, instead of Silicon Lab something.

So far so good.

1 Like

Where exactly did you get working name change tool you used? Could you share the source link?

Also, did you run the binary blog (compiled executable) version or the Python script version of it?

Update to the latest Z-Stack firmware and make sure to use a long USB extension cable to get it away from any sources of electromagnetic fields it like most Zigbee adapters are susceptible to interference.

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin

Follow tips here:

https://github.com/home-assistant/home-assistant.io/pull/18864https://github.com/home-assistant/home-assistant.io/pull/18864/commits/b21c49589d898d60a1a235afa7b9c148d013cfee

and

https://www.home-assistant.io/integrations/zha#best-practices-to-avoid-pairingconnection-difficulties

If you have Aqara, Xiaomi, or Tuya devices then it is not uncommon to need re-try paring MANY times!

Follow your comment above, to the sonoff facebook page:
SONOFF - :tada:A new update on the current ZigBee 3.0 USB… | Facebook
… and then follow the last link on that page, to an rar file in sonoff’s Synology Drive:
image
… click the download icon to the right:


… and then unzip, go to the unzipped folder, run this one when your dongle is connected
image
There is a .docx file in Mandarin (per google). Thanks to google translate I believe the relevant bits are:

… so I did that, the command line window popped with 3 lines. It was instant and I saw the second line saying gpfn28 config success.
Plug the dongle back to my HAOS, and I got this:
image

Hope this helps.

2 Likes

FYI, seen many reporting that the Sonoff ZBMINI-L does not have Zigbee Router config in its firmware.

But, new Sonoff S26R2ZB is also based on CC2652 so might maybe it works as a good Zigbee Router?

https://itead.cc/product/sonoff-s26r2zb-zigbee-smart-plug-uk-de-fr/

https://sonoff.tech/product/smart-plug/s26r2zb/

FYI, ITead also updated their tutorial with instruction on how to use their tool to new update description:

https://sonoff.tech/product-review/sonoff-zigbee-3-0-usb-dongle-plus-tutorials/

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."

I can however still not get that to work on my Windows 10 computer with the latest Silabs CP210x drives from https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers (including 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.

At least I’m not alone: https://community.home-assistant.io/t/sonoff-zigbee-3-0-usb-dongle/380392

Again, sad that ITead did not release a script based on this open-source cp210x-program by VCTLabs:

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

Think would be better if an open-source script was posted in a new ITead GitHub repo instead by them:

https://github.com/itead

Such open-source script could then be repurposed on other Zigbee and Z-Wave dongles with CP210x.

Might be a stupid question here, but do you guys use a separate PC to flash the dongle?

I have HA installed on a Ubuntu OS natively, was wondering if I can just flash it while HA is running ?
I know I should shutdown HA to be safe but cant seem to find the shutdown option, just restart.

Maybe I should just use my windows PC :rofl: :rofl:

Flashing from Linux CLI seems easier to me, but I’m the type that does most of my Windows server management from the CLI.

Disabling/Reenabling the integration/addon that actually talks to the stick is all that is necessary, no need for a full HA shutdown.

1 Like

Yes, I run Home Assistant Operating System on Home Assistant Blue, (could disable ZHA but I usually shutdown the whole host), and update both Zigbee and Z-Wave dongles on a Windows 10 computer.

Yes you can flash serial adapters such as a Zigbee coordiantor while Linux while Hone Assistant is running but you first need to stop the specific application/service/deamon (like the ZHA integration or Zigbee2MQTT) connected to the serial device because serial devices can only have one connection.

If you run Home Assistant Operating System then there is a “SHUTDOWN HOST” option under Host.

1 Like

For what it’s worth, I’m using three Lutron Aurora dimmers with this Sonoff dongle, but with Zigbee2mqtt rather than ZHA.

1 Like

For what it’s worth, I did the above (on Fedora Linux) using cc2538-bsl and the instructions at Supported Adapters | Zigbee2MQTT and it worked fine. I had a bit of a panic as it didn’t come back up and work immediately — not sure exactly why, but after some reboots and restarts and poking (but with no real changes) it suddenly showed up as detected in HA and then everything worked. But other than that — which I think may have just been me not knowing what to expect — it was easy and painless.

1 Like

Thanks guys for the tips. Was trying it today, basically I disabled the ZHA integration then kicked off the flash but I got

harvin@nuc–server:~/update_sonoff/cc2538-bsl-master$ python3 cc2538-bsl.py -p /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_841414222e1aec118d6e77e5f01c6278-if00-port0 -evw --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_coordinator_20211217.hex
ERROR: [Errno 13] could not open port /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_841414222e1aec118d6e77e5f01c6278-if00-port0: [Errno 13] Permission denied: ‘/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_841414222e1aec118d6e77e5f01c6278-if00-port0’

Seems like disabling the integration didnt actually release the stick :frowning:

Try sudo python3 …

1 Like

[Errno 13] Permission denied” mean that Python don’t have permissions/rights to access file, see:

https://www.google.com/search?q=python+%5BErrno+13%5D+Permission+denied

FYI, there is also more tips from testers here → https://github.com/JelmerT/cc2538-bsl/pull/114

For example, try the ttyUSB USB port (example -p /dev/ttyUSB0) instead of device ID path you used.

python cc2538-bsl.py -evw -p /dev/ttyUSB0 --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_coordinator_20211217.hex

Might as well need to use ./ for it to use c2538-bsl.py and firmware in directory are in if file is there.

python ./cc2538-bsl.py -evw -p /dev/ttyUSB0 --bootloader-sonoff-usb ./CC1352P2_CC2652P_launchpad_coordinator_20211217.hex

Also be sure to download cc2538-bsl master from JelmerT’s repository on GitHub or via PyPI via pip:

https://github.com/JelmerT/cc2538-bsl

You have to get latest master from GitHub since there is no release package with the sonoff fix yet (so cc2538 2.1.0 release package and PyPI/pip https://pypi.org/project/cc2538/ does not have that fix and not be able to use the new --bootloader-sonoff-usb parameter option for cc2538-bsl.py).

Once inside folder (either cloned from master or downloaded and unpacked the downloaded file) run:

python setup.py install

That setup.py from unpacked directory of cc2538-bsl master branch downloaded from GitHub should install/upgrade needed dependencies however might want to pip install/upgrade command(s) to verify:

pip3 install --upgrade pip setuptools wheel pyserial intelhex python-magic

If not running the Home Assistant Operating System then maybe first need to install pip as root or? Ex:

sudo apt update

and then?

sudo apt-get install python3-pip

Then run setup.py inside unpacked directory of cc2538-bsl master branch downloaded from GitHub?

sudo python setup.py install

Before?

sudo pip3 install --upgrade pip setuptools wheel pyserial intelhex python-magic

Disclaimer: Only from google search as I did not actually test commands myself now in any Linux distro.

1 Like

Quick question; can I flash the firmware of this device in future “non-destructively” using Flash Programmer 2 on Windows?

I’ve already updated the firmware of Zigbee 3 dongle to the December firmware and I’m pretty happy with the performance now for 30 or so devices in Zigbee2mqtt. But I’m concerned about needing to re-pair devices if I need to flash a firmware update in future for bug fixes etc. Thanks

You should be OK.

If by “non-destructively” just mean without re-pairing then answer is maybe, so always create backups!