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

Hey, everybody,
I have a few questions. I have HA running on HAOS (non-virtual environment). I currently have ZHA installed with about 75 devices. Every time HA restarts then only about 60 devices boot back up. Most of the time the end battery sensors go down. So I updated the coordinator firmware (Sonoff ZigBee 3.0 USB) to the latest version 20211712 according to the instructions

Unfortunately, after putting the coordinator back in, no devices loaded and I had to re-pair all 75 devices. Unfortunately, even so, this did not help solve my problem that after restarting HA some devices do not load (and I have to manually add them again).

  • Please, is it necessary to do some IEEE backup or something like that before updating the firmware (using FLASH-PROGRAMMER)?

Thank you very much for your help

Hello everyone,

Newbie on HA with Zigbee2mqtt , aqara devices and this sonoff dongle plus. I started pairing with two aqara devices : a temp/humidity sensor and a wireles mini button.
The battery indicator of the temp/humidity sensor shows a “?” symbol instead of the battery level/status.

I have read other people having battery level indicator issues with aqara devices and this sonoff dongle plus. Has anyone else had this problem and solved it ?

Thank you

Sometimes takes several hours before xiaomi zigbee devices will report a battery value, it should hopefully show a value after a few more hours.

Unfortunately even then the battery value is only an approximation. Often with some of the older xiaomi / aqara devices the battery value will seem OK but its only when the device drops off the network that I realise the battery is dead. Pretty much anything below 50% means it could die at any time. Most of the xiaomi sensors have brilliant battery life though (years, in some cases).

I’ve bought one of these sticks to replace a flakey cc2531 (would have to be unplugged and plugged back in every couple days to work)

I followed the instructions on the Z2M site for updating the ieee address of the sonof to match the old device and it looked like it had worked

Starting Zigbee2MQTT fails with the below error message.

2022-01-09T09:28:01.202Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Zigbee2MQTT:error 2022-01-09 09:28:59: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2022-01-09 09:28:59: Failed to start zigbee
Zigbee2MQTT:error 2022-01-09 09:28:59: Exiting...
Zigbee2MQTT:error 2022-01-09 09:28:59: Error: Coordinator failed to start, probably the panID is already in use, try a different panID or channel
    at /app/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/startZnp.js:172:23
    at Generator.throw (<anonymous>)
    at rejected (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/startZnp.js:25:65)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node index.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-01-09T09_28_59_820Z-debug.log

If i change the panID zigbee2MQTT loads but then will have to repair all my devices.

Have i missed something? Would rather avoid repairing if i can.

1 Like

You are still using the deprecated daniel welch add-on. Upgrade your add-on to the official one

Reinsert your cc2531, start the add-on with version 1.22.2 at least once, then swap to the CC2652.

3 Likes

Backup of your old dongle and restore to new is required for ZHA when migrating from another dongle.

Firmware upgrades usually erase network settings so best to perform a backup before upgrading.

Backup is not strictly necessarily required when upgrading firmware on the same dongle however it is still always recommended to do backups. If you for example mess up and flash the wrong firmware image (as some people do) then you will need that backup to restore without having to pair all devices again. Upgrading firmware can sometimes also reset some configurations stored on the dongle itself.

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

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

1 Like

Tip! le_top added possibility to backup your Zigbee network to a JSON file within Home Assistant ZHA via “zha_custom” custom component by mdeweerd (originally fork of zha_custom by Adminiuga):

https://community.home-assistant.io/t/zha-custom-service-to-send-custom-zha-commands-extra-functions/373346

I must have missed the change of repo for the add-on! Thanks seems to be working now.

Hopefully the new dongle wont still keep losing connection every couple days!

1 Like

FYI, not confirmed but someone now claims Auto-BSL is also working in the ZigStar GW Multi tool too:

1 Like

I bought one of these dongles as my first foray into Zigbee having only started with HA about 9 months ago and only used WiFi devices before now. My HA runs as a VirtualBox VM on a Windows host and I’ve been able to pass through USB to connect the dongle to the HA VM and ZHA detects it OK from within HA. All good so far, this it where it all unravels though.

I have 3 Sonoff Zigbee devices, two motion sensors and a door sensor, all battery powered. When I put them in pairing mode ZHA seems extremely hit and miss whether it detects the device or not despite only being 1 plasterboard wall and about 3m from the dongle. Having added all 3 again last night after reinstalling the integration from scratch just in case, by this morning 2 of the devices reported as “unavailable”. I then moved the sensors so they sat within 20cm of the dongle and although one sensor then reconnected the other stays “unavailable”. What’s more the door sensor that is back online continually reports 2% battery despite the battery having 3.2v tested and having swapped it for another new battery just in case.

My host PC is fairly close to my main Asus WiFi router so could be a source of interference but I’ve connected it to a 2m USB extension lead to get it as far away as practical, surely connectivity shouldn’t be this flaky should it? Is there a chance I’ve got a faulty aerial on the dongle perhaps?

I have a similar setup except I’m using ESXi that also sits next to my ASUS router. My first suggestion is to upgrade the firmware to the latest. I’m running the latest dev version. The firmware that is pre-flashed may not be that great. There is a YouTube vid a few post up that shows the process if you are not familiar. After that try increasing the tx. I was getting a big delay with the default tx. Changing mine to tx 10 helped a great deal. Instructions for that is posted before the YouTube vid about the firmware update. Another thing to check is the make sure your wifi and zigbee network are not using the same channel. I use Zigbee2mqtt and that defaults to channel 11. I assume zha does as well. Hope that helps.

2 Likes

If only using Xiaomi/Aqara and Tuya sensors without any Zigbee Router devices then yes they can be unreliable, especially during pairing. Suggest update coordinator firmware first then follow all these tips:

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 are still having problems after following all that (preferably including adding at a few known good mains-powered Zigbee devices) then I too would assume that your problem is faulty antenna or dongle.

The tx_power in the latest firmware is already set to +9 dBm as default so that should best for most scenarios. Increasing tx_power to more than that you might actually get a worse result because it will only make the coordinator “shout louder” and not “listen better” so it can get issues receiving instead.

Note! Recommendation is to change channel on Wi-Fi routers/APs, and not changing Zigbee channel. Reason for that is that some Zigbee devices will not pair and/or communicate on all Zigbee channels.

1 Like

Complete Idiot that I am I inadvertently flash the wrong firmware to my Sonoff USB Plus stick, im getting the following on checking dmesg, but when i try and flash using llama or ccbsl i get the 55 error. (I’ve tried the boot button aswell)

I assume the device is dead unless i can reflash using the special TI cjtag debugger? I have a CCdebugger for my old stick but i assume thats no good?

cp210x 1-4:1.0: device disconnected
usb 1-4: new full-speed USB device number 14 using xhci_hcd
usb 1-4: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-4: Product: Sonoff Zigbee 3.0 USB Dongle Plus
usb 1-4: Manufacturer: ITead
usb 1-4: SerialNumber: 1ea97fabbf19ec118dc37fe5f01c6278
cp210x 1-4:1.0: cp210x converter detected
usb 1-4: cp210x converter now attached to ttyUSB3

Yes and yes, you will need another type of debugger probe to unbrick CC2652 and CC1352 chips, see:

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/263

and

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/266

FYI, FCC leak show CC2652P and ESP32 based Sonoff ZBBridge-P v1.1 Zigbee Bridge coming soon.

https://community.home-assistant.io/t/itead-sonoff-zbbridge-p-coming-soon-a-new-cc2652-and-esp32-based-sonoff-zigbee-bridge-and-sensors-from-itead-leaked-via-fcc/378924

Many thanks @billyjoebob999 @Hedda
I’ve updated the firmware this evening using the video guide (via Windows) to CC1352P2_CC2652P_launchpad_coordinator_20211217. I’ve also checked my 2.4ghz Wifi channel which is on channel 1 and there’s no other detectable WiFi from neighbours etc on any other channel when using a wifi scanner app on my phone. Despite all that there’s no improvement unfortunately. I’ve tried re-pairing one of the sensors whilst sitting it right next to the dongle and it’s still not being detected and with the one device I do still have connected if I move it more than a couple of metres away it becomes unavailable. I’ve also tried an alternative wireless screw on aerial just in case there’s a fault with the one supplied but that didn’t improve things either so I’m becoming more and more convinced there’s some kind of hardware issue going on here.

Is there an easy way I can test the dongle and connectivity to a sensor from my Windows laptop so I can be in a completely different part of the house, just in case it is something to do with it’s current location?

You can install Zigbee2mqtt on Windows:

https://www.zigbee2mqtt.io/guide/installation/04_windows.html#installing

2 Likes

Has anyone had success with changing the IEEE address on this adaptor? I get a good message when trying, but when I plug in my adaptor it fails to work with my existing devices.

aneisch@Weasel cc2538-bsl % ./cc2538-bsl.py --bootloader-sonoff-usb -ewv --ieee-address 00:12:4b:00:18:e3:1f:3c ~/Desktop/CC1352P2_CC2652P_launchpad_coordinator_20211217.hex
sonoff
Opening port /dev/tty.SLAB_USBtoUART, baud 500000
Reading data from /Users/aneisch/Desktop/CC1352P2_CC2652P_launchpad_coordinator_20211217.hex
Your firmware looks like an Intel Hex file
Connecting to target...
CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
Primary IEEE Address: 00:12:4B:00:24:C0:86:83
    Performing mass erase
Erasing all main bank flash sectors
    Erase done
Writing 360448 bytes starting at address 0x00000000
Write 104 bytes at 0x00057F980
    Write done                                
Verifying by comparing CRC32 calculations.
    Verified (match: 0xba5c19c5)
Setting IEEE address to 00:12:4b:00:18:e3:1f:3c
Writing 8 bytes starting at address 0x00057FC8
Write 8 bytes at 0x00057FC8
    Set address done

Never needed to change the IEEE address :man_shrugging:

Did you have to re-pair?