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

Thank you.
So, in order to upgrade the dongle to the latest z2mqtt firmware we have to do all that complicated stuff?

I have now a cc2531 and am planning to upgrade. Im waiting to the end of November because according to Iteads web page they will have more stock available by then.

1 Like

No. Go to section 1.2.2
https://sonoff.tech/wp-content/uploads/2021/09/Zigbee-3.0-USB-dongle-plus-firmware-flashing-1-1.docx

1 Like

No you don’t. Just push the button and use TI’s Flash Programmer2 software.

No. I only posted those as alternative options to upgrade it without opening it or upgrading via Windows, and by including several different alternatives I made it more it sound more complex than it needs to be.

If have a Windows computer then the easiest is to follow Sonoff’s guide for Smart Flash Programmer 2. The downside with that is need to open the enclosure for button access to manually enter boot mode.

Not being able to enter BTL via “Auto BSL” using the software would mean not upgrading remotely.

That said, if don’t need alternatives or know why then follow this guide made simpler with fewer steps:

Guide for how-to upgrade firmware on Sonoff USB Plus Dongle without openning its enclosure

The main benefit of this method is that don’t need to open the dongles enclosure/casing, (this method could also be made to work across Windows, MacOS and Linux platforms if modify uartLog.py or better yet patch cc2538-bsl with working delays for CP2102N dongle uses).

  1. Install Silabs CP210x drivers (if not already installed/available, at least needed on Windows).
  2. Install Python for Windows (Windows Installer version)
  3. In command-prompt run: python -m pip install --upgrade pip setuptools wheel ​gevent cc2538
  4. Get “uartlog.zip” ZIP file package from either Sonoff docx or cc2538-bsl issue #113, open/unpack “uartLog.py” to ex. "C:\temp" then in command-prompt run: C:\temp\uartLog.py to get option and enter correct number for COM port (note that this step would no longer be needed in the future if and when “Auto BSL” gets patched with working delays for Sonoff USB Plus dongle in the cc2538-bsl script).
  5. Download latest firmware from Z-Stack-firmware/coordinator/Z-Stack_3.x.0/bin at master · Koenkk/Z-Stack-firmware · GitHub and unpack to example "C:\temp" then in command-promt run: python cc2538-bsl.py -p COM5 -evw C:\temp\CC1352P2_CC2652P_launchpad_coordinator_20210708.hex (replacing COM5 with correct COM port and right name/version and location of unpacked firmware file).

Again, this guide could relatively easily be translated to Linux or Mac OS and be further automated via scripting, (the problem there is that the uartLog.py script from Sonoff has been hardcoded for Windows COM ports so the port manager in it needs to be modified).

Tip! cc2538-bsl can be replaced by experimental llama-bsl fork if willing to test it, though it has same “Auto BSL” delay issue with Sonoff USB Plus dongle, but developer of llama-bsl is considering adding several additional features that will make it more user-friendly than cc2538-bsl:

https://github.com/electrolama/llama-bsl/issues

PS: ITead/Sonoff own developers could of course have made this much simpler if they themselves submitted patches to cc2538-bsl script.

2 Likes

Thank you. I am using linux.
I’ll report back when/if there is stock and test the dongle :slight_smile:

1 Like

Hi all having trouble identifying which usb device this is when it’s plugged into HA. What device ID are you using in your zigbee2mqtt config?

Open Supervisor → System → Hardware

In my case it is ttyUSB0 -

1 Like

Ahhh, I thought it could be that. Thanks so much.

Not sure what I am doing wrong, hopefully someone here can point out what’s wrong as after 20 minutes on the new coordinator the devices still aren’t connected.
I am coming from a CC2531 running 1.2 firmware and going to the sonoff zibgee stick 3.0, which I have flashed with CC1352P2_CC2652P_launchpad_coordinator_20210708. Z2M is running version 1.22 and there are no errors in the log other than when I try to turn a light off and it times out on receiving a signal. I stopped z2m unplug old coordinator, plug in new coordinator. Put the new serial id in (see below) and start up z2m. I have given up twice now and put in the old coordinator and everything just works still. Any pointers would be appreciated.

data_path: /config/zigbee2mqtt
external_converters: []
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://##########
  user: #####
  password: ##########
serial:
  port: >-
    /dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_c61e7dcd5e93eb11b8d11b4f3d98b6d1-if00-port0
advanced:
  log_level: warn
  pan_id: 6754
  channel: 25
  network_key:
    - 1
    - 3
    - 5
    - 7
    - 9
    - 11
    - 13
    - 15
    - 0
    - 2
    - 4
    - 6
    - 8
    - 10
    - 12
    - 13
  availability_blocklist: []
  availability_passlist: []
  report: false
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
  port: 8099
experimental:
  new_api: true
socat:
  enabled: false
  master: pty,raw,echo=0,link=/dev/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: '-d -d'
  log: false
  restartdelay: 1
  initialdelay: 1

Did you try to re-pair ?

Thanks for the reply, do you mean re-pair each device or is there some global re-pair?

FYI, Everything Smart Home channel on YouTube posted a guide about ZHA backup and migrations.

He explain why backups are important and shortly how to migrate to ITead’s Sonoff Zigbee 3.0 USB Dongle Plus from another Zigbee dongle/stick/adapter using a hacked Sonoff ZBBridge as an example:

https://www.youtube.com/watch?v=ql58ZfXso1M&ab_channel=EverythingSmartHome

Other than talking to ZHA decs I guess that much of the information comes from these other threads:

PS: Also check out this request/suggestion to add backup features to ZHA’s UI and do nightly backups:

https://community.home-assistant.io/t/zha-integration-to-do-nightly-backup-of-both-zigbee-coordinator-adapter-dongle-stick-and-zigbee-database/357558

1 Like

I just realised I may have missed a step when flashing the Sonoff stick, did you copy over your original IEEE mac address onto the new stick? It says optional in the Z2M instructions.

1 Like

FYI, Koenkk made a “dev” pre-release of Z-Stack_3.x.0 20211114 community version for this as others:

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

Note! CC1352P2_CC2652P_launchpad_coordinator_20211114 is a pre-releaser so not fully tested yet!

Z-Stack_3.x.0 20211114 community firmware is based on latest SDK which contains many bug-fixes:

https://github.com/Koenkk/Z-Stack-firmware/blob/f29b4525bb7bfdc28c91139d0926469bb5754ab9/coordinator/Z-Stack_3.x.0/CHANGELOG.md

https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/5.30.00.56/exports/changelog.html

20 dBm output power still not enabled so CC2652P will perform as 5 dBM CC2652R/CC2652RB, see:

https://github.com/Koenkk/Z-Stack-firmware/issues/323

Also, FYI, there is no real news on community firmware with Hardware Flow Control enabled, see:

https://github.com/Koenkk/Z-Stack-firmware/issues/324

1 Like

I’ve tried Z-Stack_3.x.0 20211114 on this adapter and I had a hard time getting connections to my Zigbee devices. I am on ZHA though, not sure if that makes a difference. I had to fall back to CC1352P2_CC2652P_launchpad_coordinator_20210708. Hopefully someone else can try and perhaps it was just user error.

FYI, there are known issues with connection and joining using Zigbee router devices from some brands.

If possible start by upgrade the firmware on all your Zigbee devices that acts as Zigbee routers (usually mains-powered devices), and when troubleshooting see if Zigbee end-devices (usually battery-powered devices) with connection issues are connected to Zigbee Zigbee router(s) of the same type and brand or the same manufacturer. The issue could be that one or more of your Zigbee router devices is not properly routing all messages that should be routed through it.

Best practices for avoiding pairing difficulties and connection issues

  • If possible try to pair your Zigbee devices in their intended final location, (and not pair it next to the Zigbee coordinator and then need to move it after).
    • Pairing a Zigbee device next to the Zigbee coordinator and then moving it later can result in dropped/lost connections or other issues.
      • If the device you want to add is not brand new and as such never paired before then you always have to make sure to first manually reset the device to its factory default settings before you will be able to add/pair it.
  • Some battery-operated Zigbee devices are known to have problems with pairing if they have Low battery voltage.
    • Some people have reported replacing the battery on their newly received Xiaomi/Aqara devices solved pairing issues.
  • Check that you have enough Zigbee router devices (also known as Zigbee signal repeaters or range extenders) and if you do not have any, invest and add some mains-powered devices that will work as Zigbee routers and make sure that you upgrade the firmware on those devices if possible.
    • Aim to start out with mains-powered devices before adding 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. Zigbee router devices are also needed to increase the maximum of devices that can be connected to your Zigbee mesh network.
    • 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, (again make sure that try to upgrade to the latest firmware on any and all Zigbee router devices).
  • Be patient as the pairing of some Zigbee devices may require multiple attempts and you may sometimes need to try again and again.
    • Some devices, like example those from Xiaomi/Aqara, are known to not be 100% compliant with the standard Zigbee specifications and may therefore require many paring attempts over 10-20 minutes or longer.
1 Like

Recently I had the opportunity to test the new Zigbee usb dongle from Sonoff (https://itead.cc/product/sonoff-zigbee-3-0-usb-dongle-plus/). Two main reasons to do this: a remarkable solid build device at an attractive price based on TI CC2652P + CP2102N chipset.


The usb dongle comes with a good quality usb extension cable. This is no luxury since the dongle is quite ‘fat’ and will block the adjacent usb ports easily. Placing the dongle away from for example a raspberry pi will also reduce any interference.

I have tested the Sonoff Zigbee dongle on a virgin RPI-4 HA installation.

version: core-2021.11.1
installation_type: Home Assistant OS
dev: false
hassio: true
docker: true
user: root
virtualenv: false
python_version: 3.9.7
os_name: Linux
os_version: 5.10.17-v8
arch: aarch64
timezone: UTC

logged_in: false
can_reach_cert_server: ok
can_reach_cloud_auth: ok
can_reach_cloud: ok

host_os: Home Assistant OS 6.6
update_channel: stable
supervisor_version: supervisor-2021.10.8
docker_version: 20.10.8
disk_total: 109.3 GB
disk_used: 2.8 GB
healthy: true
supported: true
board: rpi4-64
supervisor_api: ok
version_api: ok

Now let’s plug it in and see what’s happening:
image
Ai, I was expecting something else, better ignore. Apparently HA is recognising this as a ZWave device.

Let’s now install ZHA (Zigbee Home Automation) and select the Zigbee radio from the integration:


This feels good:

How powerful is this device? I am going to try pair a couple of zigbee units at 15 m from the dongle and with a few concrete walls and ceilings in between the dongle and the zigbee units.


Two devices on main-power: Muller light switch and a Ikea TRADFRI bulb E27. Both paired immediately.
Of course after having paired one, I disconnected it since these devices also act as a router.
Next was the TRADFRI motion sensor E1745, battery powered. I had to try two times but even the E1745 got paired with no issues. This device was paired with the Muller light and Ikea bulb disconnected.

My first conclusion: a solid device at a competitive price with a good range for home zigbee appliances.

3 Likes

Can you compare LQI values for motion sensor with sonoff and pre-sonoff?

Good idea, will do.