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

Perhaps, but probably not. Xiaomi/Aqara devices are known to not follow Zigbee standard specifications so have issues connecting through routers that are not from Xiaomi/Aqara, also note that devices that are not Xiaomi/Aqara are known to have issues when using mains-powered Xiaomi/Aqara as Zigbee routers.

Maybe the external antenna that this dongle will help a little, but first, highly recommend buy and add a few known good Zigbee Router devices (which act as Zigbee repeaters), like the “IKEA TRÅDFRI Signal Repeater”, which Xiaomi/Aqara works a little better with, and make sure to follow tips in this PR:

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

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

Especially be sure you upgrade Zigbee Coordinator firmware and use a very long USB extension cable connected via USB 2.0 port (or via a powered USB 2.0 hub if the computer only has USB 3.0 ports) as USB 3.x ports/devices and cables to those devices are known to cause serious EMF interference. See:

Improving Zigbee network range

Both poor signal quality or signal interference can lead to transmission errors and related issues. This section contains fundamental troubleshooting tips on how to improve signal quality plus optimize range and coverage. Improving signal quality and removing sources of signal interference can in most cases maximize range and resolves problems related to transmission errors. Please try to follow at least some of these recommendations before posting on the community forums or reporting issues to developers.

  1. Adding more Zigbee routers between devices far away and the next closest router or your Zigbee coordinator. Zigbee network topology uses a “mesh network” design which means that each device that acts as a Zigbee router will extend the total range and coverage of your Zigbee network as a whole. The solution is to distribute more Zigbee routers in areas with poor reception. Note that while there are exceptions, understand that almost all permanently powered devices will serve as a Zigbee router. Thus adding more permanently powered Zigbee devices will allow greater range better coverage. There are also dedicated Zigbee routers which you can find by doing a community search for “Zigbee signal repeater” or “Zigbee range extender”) (an example being IKEA Tradfri Signal Repeater). Devices that can not act as routers are typically battery-operated and known as “end devices”. There are some exceptions as some end devices (e.g. Xiaomi/Aqara devices) have issues connecting through routers that are not from the same manufacturer.
  2. Use a long USB extension cable with your Zigbee coordinator adapter. This not only enables you to position the Zigbee coordinator adapter for better signal quality, but it also allows you to locate the Zigbee coordinator further away from Wi-Fi access-points/routers or other sources of 2.4GHz signals to avoid signal interference. Optimally in the best area in your home depending on your building’s floorplan. Ideally, you want to place the Zigbee coordinator somewhere in the middle of your house/apartment. Building materials influence signal quality, for example, dense/thick concrete, bricks, masonry, etc. dampen all wireless signals. Place the Zigbee coordinator with some distance from walls, ceilings and floors. Also, try different orientations of your Zigbee antenna (or your whole Zigbee coordinator adapter if it has an internal antenna). Some Antennas have a stronger signal in a certain direction. Simply changing orientation can improve signal quality already. Note: A bad USB extension cable may lead to connection issues between the system and the Zigbee coordinator adapter, symptoms of this are disconnection messages.
  3. Zigbee and Wi-Fi can operate on various channels in the 2.4GHz spectrum. A busy Wi-Fi access-points/routers that are operating in the same frequency range (overlapping channels) as your Zigbee coordinator will drown out the Zigbee traffic, especially if they are located close to each other. To avoid interference between Zigbee and Wi-Fi try to choose channels without overlap. Check the channel your Wi-Fi access-points/routers are using (either by checking on the router’s web interface or using a Wi-Fi analyzer app). The Zigbee channel is currently not shown in the Home Assistant front-end but you can find the channel in the logs (watch out for Network parameters log entry with the channel number, e.g., radioChannel=15). Changing the channel of the Zigbee network needs recreating it and re-join/re-pair all of your Zigbee devices. Typically it’s a lot easier to change the channel used by your Wi-Fi. See this article for Wi-Fi and Zigbee channels coexistance to avoid using overlapping frequency ranges.
  4. Check if updating the firmware on your Zigbee coordinator adapter and your Zigbee end devices is possible. Note that depending on your hardware the latest Zigbee coordinator firmware might not always be the one recommended by the community so it is advised to ask before upgrading.
  5. If your Zigbee coordinator adapter has a removable antenna (e.g., with an SMA-connector) then you have the option of replacing it with a high-gain antenna. Note that antennas with higher gain usually have directionality: You might have better reception on the same floor, but reception across floors might suffer. In addition, you also have the option to use an antenna extension cable if needed (usually using just a USB extension cable for your Zigbee coordinator adapter is the better alternative). This should really only be needed if you are trying to cover a long distance, like to another building or very dense/thick walls, ceilings and floors.
  6. Buy more powerful Zigbee radio hardware with a better radio range, preferably with an external antenna and based on a newer chip that offers up-to-date firmware. If you are not only experimenting with Zigbee but want a permanently stable and healthy Zigbee mesh network with potentially many devices then you should consider upgrading to a more powerful and newer Zigbee coordinator USB adapter or Ethernet to serial gateway/bridge. Generally, Zigbee adapters with an external antenna will have a better range and offer you more flexibility, therefore you will also want to avoid buying an internal Zigbee adapter unless it has a port for an external antenna.

Note that some Zigbee devices are not fully compatible with all brands of Zigbee router devices. Xiaomi/Aqara devices are for example known not to work with Zigbee router devices from Centralite, General Electrics, Iris, Ledvance/OSRAM/ LIGHTIFY/Sylvania, Orvibo, PEQ, Securifi, and SmartThings/Samsung. Better results can usually be achieved by using mains-powered devices IKEA and Nue/3A Home or dedicated DIY routing devices based on Texas Instruments CC253x/CC26x2 and XBee Series 2/3 Zigbee radios.

If possible always aim to start out with many mains-powered devices before adding any battery-operated devices as a “weak” Zigbee network mesh (e.g., the device is too far from the Zigbee coordinator or a Zigbee router) may prevent some devices from being paired or experience dropped connections and unstable operations. Adding Zigbee router devices are also needed to increase the maximum of devices that can be connected to your Zigbee mesh network.

4 Likes

Tip! The ZHA integration component now got a guide for best practices for avoiding pairing difficulties:

https://www.home-assistant.io/integrations/zha#best-practices-for-avoiding-pairing-difficulties

Also, Mat from NotEnoughTech has posted both written and video reviews of this new USB dongle.

Note! Before reading/watching that review, know it is now believed that Mat flashed the wrong firmware image when updating it and that was the reason he was having problems after upgrading the firmware:

https://notenoughtech.com/home-automation/sonoff-zigbee-3-0-usb-dongle-plus/

https://www.youtube.com/watch?v=I5eEAnRWz-g

https://www.reddit.com/r/homeassistant/comments/q3tsh8/review_of_sonoff_zigbee_30_usb_dongle_plus/

https://www.reddit.com/r/Not_Enough_Tech/comments/q2vfq4/getting_started_with_sonoff_zigbee_30_usb_dongle/

https://github.com/Koenkk/zigbee2mqtt/issues/9117

At least no one else appear to be having issues pairing devices like Mat from NotEnoughTech is having.

Mat also tested the range and noted that range performance does not seem to be better than Electrorama’s zzh dongle which is based on CC2652R that is physically only capable of +20 dBm output which is curious since transmission range should be better with CC2652P +20 dbm output.

1 Like

In the review, he upgraded firmware, then rolled it back.

In general, with these types of sticks, does anyone know if future firmware updates will require re-pairing all Zigbee devices?

No, you don’t

What does and does not require repairing of all devices? #

Requires repairing

You need to re-pair all you devices when:

  • Changing the network key (network_key), Zigbee channel (channel) or panID (pan_id) in configuration.yaml.
  • Switching between adapter types requires repairing, except when:
    • Switching from a CC2530/CC2531 based adapter running the 1.2 firmware to a CC2538/CC2652/CC1352 based adapter does not require repairing
      • Note: the other way around (CC2538/CC2652/CC1352 to a CC2530/CC2531 running 1.2 firmware) does require repairing
    • Switching between CC2530/CC2531 running the 3.0 firmware, CC2538, CC2652 and CC1352 based adapters does not require repairing.

Doesn’t require repairing #

You don’t need to re-pair your devices when:

  • Updating or downgrading Zigbee2MQTT to a different version.
  • Updating the coordinator firmware.
    • If after flashing you fail to control your devices it helps to:
      • Wait a few minutes so that the Zigbee network can settle.
      • Send Zigbee commands (e.g. turn on/off) to the device.
      • Reboot the device (unplug and plug power).
  • Switching the system running Zigbee2MQTT.
    • When doing this, make sure to copy over the contents of the data directory.
1 Like

It should not require re-pairing, but it never hurts to do backup to files before upgrading so can restore.

It is relatively simple to perform network backups and NVRAM backups with cli tools from zigpy-znp.

https://github.com/zigpy/zigpy-znp/blob/dev/README.md#tools

Various command line Zigbee utilities are a part of the zigpy-znp package and can be run with python -m zigpy_znp.tools.name_of_tool . More detailed documentation can be found in TOOLS.md but a brief description of each tool is included below:

  • energy_scan: Performs a continuous energy scan to check for non-Zigbee interference.
  • flash_read: For CC2531s, reads firmware from flash.
  • flash_write: For CC2531s, writes a firmware .bin to flash.
  • form_network: Forms a network with randomized settings on channel 15.
  • network_backup: Backs up the network data and device information into a human-readable JSON document.
  • network_restore: Restores a JSON network backup to the adapter.
  • network_scan: Actively sends beacon requests for network stumbling.
  • nvram_read: Reads all possible NVRAM entries into a JSON document.
  • nvram_reset: Deletes all possible NVRAM entries
  • nvram_write: Writes all NVRAM entries from a JSON document.

https://github.com/zigpy/zigpy-znp/blob/b60f7c18bf4faf1de8a97418170838dd4e6bb84f/TOOLS.md#backup-and-restore

https://github.com/zigpy/zigpy-znp/blob/b60f7c18bf4faf1de8a97418170838dd4e6bb84f/TOOLS.md#zigpy-znp-command-line-tools

The command line tools bundled with zigpy-znp do not depend in any way on Home Assistant and will work with any Texas Instruments radio previously used with ZHA or Zigbee2MQTT.

4 Likes

FYI, learned that at least the first batch of ITead Sonoff Zigbee 3.0 USB Dongle Plus adapters (which has Silabs CP2102 USB-to-UART bridge with programable EEPROM) have been shipped without a unique custom “Product Description” string (for USB) configured from ITead as itreally should have :frowning:

That means that those cannot use USB discovery even though their hardware supports it, which is a real bummer. Sad they missed this as adds very nice plug-and-play support with pop-up for new users.

IMHO potential buyers should really write to ITead and ask them to configure this on before shipping their next batch to allow USB discovery in Home Assistant to with the ZHA integration.

There is more information about this USB discovery feature in regards to ZHA in this other thread 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/

This could be totally made up in my brain but I feel like I read somewhere that you could put “router” firmware on certain Zigbee sticks so it acts as a router/repeater instead of a coordinator… I recently got the new Sonoff USB dongle and am just thinking about my migration path… didn’t know if there was a way to add that to my current Zigbee network in a different capacity or anything… and if I made that up in my dreams you can tell me.

You can indeed flash them with router firmware.

1 Like

Was there a link or guide somewhere to do that? I looked all over and couldn’t figure out where I saw it… so that’s when I decided I made it up…

Pick the router firmware for the launchpad

https://github.com/Koenkk/Z-Stack-firmware/raw/master/router/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_router_20210128.zip

Just got mine today - was 2nd batch sent out after the recent chinese holiday.
Is there any reviews yet comparing with other coordinators?
Currently have a LAUNCHXL-CC1352P-2 as coordinator (so already new chipset with +20dbm rf amp frontend), but I’m only using the PCB antenna as my smt soldering is not good enough to modify to use the onboard SMA jack for external antenna.
Looking for any comparisons if its worth to replace my coordinator with the sonoff, or use the sonoff as a router.

This is all that I’m aware of:

Thanks - saw this posted on reddit.

Sorry if this a dumb question but I’m having trouble finding exact instructions… I was able to flash the launchpad router firmware successfully… and it joined my network… when using it as a router is there a step I am missing in order to get devices to use it? It added fine and created a router device, how can I verify devices are using it? I did see some references to enabling permit_join for some other sticks but I’m feeling like a missed a step somewhere.

Zigbee devices can’t be forced to use a specific router. They create their mesh dynamically. If you join a new device you can tell to allow join through that router only, but there is no guarantee it will not change route once joined.

Ok, I that’s what I figured but i thought after the whole day at least one device would show as “using it” on the network visualization… so if it added successfully I should just assume they will use it eventually when the network sees the need?

indeed. :+1:

Thanks, and thanks for pointing out which firmware to use… today while bumbling around getting ready to try it I stumbled across a link to instructions on Sonoff’s page also (at the bottom) How to add Zigbee devices to Home Assistant via SONOFF Zigbee 3.0 USB Dongle Plus? How to flash firmware to Cc2652P? - SONOFF Official

EDIT: So when I woke up this morning TONS of devices are routing through it now :+1:

1 Like

I just got mine in the mail. I’m trying to flash the router firmware by following the steps on Getting started with Sonoff ZIGBEE 3.0 USB DONGLE PLUS - NotEnoughTech but holding boot while inserting the device into my laptop yields nothing in the texas instruments flashing utility (v2). I have two and haven’t had any luck getting it into flashing mode. Anyone else have this issue or any pointers?

Have you installed the device drivers for Silabs CP210x USB-to-UART Bridge Virtual COM Port (VCP)? Performing update on MS Windows 10 I had to first install those drivers and then reboot my computer.

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

2 Likes