You will of course still be able to use software flow control with ZHA and that should be to work as well from an end-user perspective as long as all other components are properly implemented and stable.
Note! Developers and users who tested this as a Zigbee coordinator now believe that device paring issues with this Zigbee 3.0 dongle from ITead seem to be due to extreme sensitivity to component and environmental noise or interferences as they discovered that device pairing works much better if use a long USB extension cable and get it as far away from other electronic appliances as possible (including the computer that you run your home automation application software on as well as any devices such as example external harddrives or storage devices, and power-supplies, etc.).
Their troubleshooting has revealed that CCA fail count gets much lower with a USB extension cord.
It is true that using a USB extension cable and trying to keep it away from other possible sources that can interfere with receiving signals is the general recommendation for all RF radio dongles for home automation control, but in this specific case, the interference symptoms are so extreme that users are reporting not being able to pair any devices at all unless getting it some distance away from their computer plus devices/appliances like external harddrives (and of course any WiFi access points, etc.).
Note! As you can see from the pictures the radio chip and the crystal does circuit does not have a EMF shielding (metal plate cover) which means that this board will be very sensitive with its current hardware design will have very high receive sensitivity to electromagnetic interference (EMI) / radio-frequency interference (RMI). This means that it will be extra important to keep it away from any other electronic devices or appliances that may generate an electromagnetic field (EMF or EM Field) or send our interfering radio signals. That includes the computer that you run your home automation application software on as well as any devices such as for example external harddrives or storage devices, power-supplies, etc., and of course any Wi-Fi access points or routers nearby. It also means that the dongle in its current hardware revision is unlikley to ever pass FCC certification. If adding electromagnetic shielding to your other devices/appliances is not possible then one workaround is to use the dongle with a long USB extension cable to get it away as far as possible from any sources of electromagnetic interferances.
PS: I also understand that the EFR32 board antenna design of the “SM-011 V1.0” Zigbee module used inside ITead’s Sonoff ZBBridge share the same antenna design have very high receive sensitivity to electromagnetic interference (EMI) / radio-frequency interference. This means that it will be extra important to keep it too away from any other electronic devices or appliances that may generate an electromagnetic field (EMF or EM Field) or send our interfering radio signals.
Too bad ITead didn’t add SMA (or IPEX) connector + external antenna or used a ceramic chip antenna.
Solder points for PCB trace antenna look too small for an average DIY thinker like myself for soldering on a RG316 SMA-Female to PCB solder pigtail antenna cable, but maybe others are willing to do it?
There are guides to solder SMA connector PCB trace antenna path so can use external antenna, ex:
FYI, Silicon Labs EZSP (v8) support in zigbee-herdsman (which Zigbee2MQTT depends on) was just recently added and as such is not mature and currently only available in Zigbee2MQTT dev branch. They are however looking for testers that want to experiment and help out testing it. Initial development has been started on experimental (pre-alpha stage) support for various Zigbee coordinatior adapters based on Silicon Labs EFR32 SoC families with EmberZNet NCP 6.7.8 firmware or later via EZSP version 8 (EmberZNet Serial Protocol) interface. This include all hardware based on SoCs/Modules from Silabs EFR32MG21/MGM210 and EFR32MG12/MGM12 series. More information and discussion available in the Zigbee-herdsman repository on GitHub:
Note! All the issues regarding interference that I posted above of course also apply to Zigbee2MQTT, as such this is not the best hardware to test EZSP with because any problems can be due to interferance.
FYI, other than using a very long USB extension cable with your dongle and adding electromagnetic shielding to your other devices/appliances (like your Raspberry Pi enclosure), another tip is to add electromagnetic shielding to all the parts of the dongle circuit board that is not the PBC trace antenna.
This type of electromagnetic shielding can done by first wrapping it in one layer of some kind of isolating film or tape around it and then wrapping a layer of conductive metallic tape on top of that.
Just make sure to not cover the antenna and as well as electrically grounding the conductive metallic tape to the USB jacketing (which act as a point of the electrical ground) checking it makes contact.
Rather than using just any tape lying around a better solution would probably be a good idea try using either heat-shrink tubing or kapton-tape as the isolation layer (both types are widely available online).
Also, rather than using any metallic tape, suggested consider buying conductive copper tape (checking that the adhesive/glue on the metallic tape really is a “conductive” variant as “non-conductive” variant also exist, as then it should be easy to ground that conductive tape by just wrapping part of the USB mantel/jacketing as the point of the electrical ground). Tip is to just search for “conductive metal tape”.
PS: If you are using a Raspberry Pi or other single-board-computer with wired Ethernet and you do not need to use its WiFi or Bluetooth then you can also add a layer of electromagnetic shielding to its enclosure as well (or just buy a metal case for it).
All the Aqara and Xiaomi devices are infamous for having loads of compatibility issues with most Zigbee implementations that are not their own. Suggest check out this post on Hubitat which have pairing tips:
PS: Also read other dongle tip on about adding conductive metallic tape as electromagnetic shielding:
I bought the Zigbee 3.0 USB dongle together with their button switch directly from ITead. I plugged it into a USB 2.0 on my RPI4 with a long USB lead. When I install the ZHA integration, it picks it up and installs it but I get the following error:
And this is the error I get on the logs:
Integration: Zigbee Home Automation (documentation, issues)
First occurred: August 11, 2021, 10:04:49 PM (98 occurrences)
Last logged: 12:18:45 AM
Couldn't start EZSP = Silicon Labs EmberZNet protocol: Elelabs, HUSBZB-1, Telegesis coordinator
Traceback (most recent call last):
File "/usr/local/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 152, in async_initialize
self.application_controller = await app_controller_cls.new(
File "/usr/local/lib/python3.9/site-packages/zigpy/application.py", line 74, in new
File "/usr/local/lib/python3.9/site-packages/bellows/zigbee/application.py", line 109, in startup
self._ezsp = await bellows.ezsp.EZSP.initialize(self.config)
File "/usr/local/lib/python3.9/site-packages/bellows/ezsp/__init__.py", line 83, in initialize
File "/usr/local/lib/python3.9/site-packages/bellows/ezsp/__init__.py", line 98, in reset
File "/usr/local/lib/python3.9/site-packages/bellows/uart.py", line 223, in reset
return await asyncio.wait_for(self._reset_future, timeout=RESET_TIMEOUT)
File "/usr/local/lib/python3.9/asyncio/tasks.py", line 494, in wait_for
raise exceptions.TimeoutError() from exc
Anny assistance in getting this integrated and working please?
You can upgrade via either of these two tools/scripts as long as provide the correct firmware image file:
PS: Tips is that easier to upgrade on a other computer than the one running your Home Assistant, and any operating system will work as long as you first install Python (though command syntax will differ).
I understand ITead only went with CC2652P instead of Silicon Labs EFR32MG21 for this “Plus” dongle version because of the current silicon chip shortage (which Silabs parts suffered for more than most).
Hopefully, we will also see ITead release a new fixes revision of their cheaper Zigbee 3.0 USB dongle with proper RF shielding and either corrected PCB antenna design or better yet a ceramic chip antenna.
As we know, ITead’s existing ‘non-Plus Zigbee 3.0 USB dongle’ is based on Silabs EFR32MG21 SoC which is just as powerful but sadly was proven that ITead’s first Zigbee 3.0 USB Dongle PCB board revision had a badly designed integrated PCB antenna and no electromagnetic shielding which caused huge issues, and to this date, it has been listed as “out-of-stock” since after the initial batch was sold.
FYI; Zigbee Router firmware for EFR32MG21 adapters has now been released by xsp1989 on GitHub.
From readme it sounds tested with ITead Zigbee 3.0 USB Dongle and an SM-011 based USB adapter.
The same “SM-011 V1.0” Zigbee radio modules by CoolKit Technologies is also used inside some Zigbee gateways/hubs like the popular ITead Sonoff ZBBridge and ZB-GW03 eWeLink Ethernet Zigbee Gateway sold by EACHEN and SmartWise, so could perhaps be that the same Zigbee Router firmware could maybe also be used on the SM-011 Zigbee module in all or some of those products as well?
FYI, ITead has now also released a new Zigbee dongle based on the same EFR32MG21 SoC however the new one features the same external antenna + metal-enclosure as ITead’s dongle that is based on Texas Instruments CC2652P, as well as shipping in similar retail packaging to make it more attractive for sale in brick and mortar stores: