Sonoff Zigbee 3.0 USB Dongle Plus v2 (P version?)

  • Platform information:
    • Hardware: i7
    • OS: Win10
    • Java Runtime Environment: 11 JDK
    • openHAB version: Current 3.x
  • Issue of the topic: Sonoff initializing forever.

So - making great progress and fun with my new OpenHAB stuff. WiFi lights are happy. WEMO - so-so (WEMO is always a bit flakey. I don’t think it is openHAB).

Next step? Room temp sensors.
I’m using the Sonoff Zigbee 3.0 USB Dongle Plus v2. It is not flashed as MQTT. It is “stock” at the moment.
I’m going to use (to start) two SNZB-02 temp/humidity sensors.
I plugged in the dongle, downloaded the (TI?) drivers and it shows up correctly in Device Manager. NOTE: Device Manager says 9600 Baud - although Device Manager seems to say this about every serial device!
If I try to add this in openHAB, it is not detected in a scan. But the exact device shows up for manual config. So - Everything I see seems to say the default Baud is 115K. I set 115K, and com3 (which is what Device Manager assigned).
An orange “Initializing” message pops up. Forever. And ever.

What I see here seems to indicate that, maybe MQTT might be better, that the current binding SHOULD work with this.

(Oh - I rebooted. AND, just for grins, changed the Device Manager Baud to 115K as well - although that should not matter)


Note: I am using the current openHAB 3.x build, openHAB Zigbee binding, and device driver as of 2023-03-23.

IIRC, the Sonoff coordinator is on the Ember chipset, right? That’s seems to be what the Zigbee docs indicate: ZigBee - Bindings | openHAB. The Docs also indicate 115200bps baud and hardware flow control enabled for this coordinator. But one of the key things is did you choose Ember for the coordinator Thing type when you created it? That definitely matters.

just for completeness: I do run the Sonoff dongle via zigbee2mqtt, which basically translates the zigbee messages into mqtt, which then go via Mosquitto into the MQTT binding - this works perfectly with stock firmware in the dongle.
I do have shelly devices sending MQTT though, i.e. the mosquitto part was in place anyway for me :slight_smile:


Belkin Wemos are more than flaky. I abandoned them years ago due to their frustrating firmware. If it helps, I’ve found that they work better if you deny them Internet access and only control them locally through openHAB.

Comparison chart:

A Sonoff Zigbee 3.0 USB Dongle Plus v2 is Ember based and TI drivers won’t work. You might have to install a serial port driver for CH9102F (Overview | How To Install Drivers for WCH CH9102F USB to Serial Chips | Adafruit Learning System).

Whoa! I can DO that?

Since the are (currently) controlled by Alexa with a LOCAL Echo 3 (?) with zigbee hub, I don’t (and don’t WANT) the bleeping internet! Thanks for that hint.

Yeah. The WEMO’s have served a function. Mostly. But they tend to lose their mind on a semi-regular basis.

Well, that would certainly explain a lot. :slight_smile:

Ah. I thought you HAD to flash the firmware as well! I may give this a try too.

Yep. The Wemo binding is fully local. I think it uses MAC addresses, but I reserve IP for devices anyway. Once they’re connected to your network, you can deny them Internet access at the router.

I replaced all of my Wemo switches/plugs with TP-Link Kasas, which are cheaper and more reliable (and also work with OH locally). However, I still have a Wemo Maker (used to control my fireplace) and a Wemo Motion sensor. I’m not anti-cloud, but denying them access seems to improve reliability and minimizes security risks (since they haven’t gotten firmware updates in years).

Note that the binding doesn’t get a lot of attention, because it’s stable and the developer also doesn’t use Wemos any more.

1 Like

I misread the SONOFF site. I do have the -P. Which is the CP210x chip. This is the driver I have installed (and windows is happy)

Also says zstack (ZNP) not ember. And Sonoff says “not supported yet” for the -P non-v2 box. So - I DO have to flash?

Best is zigbee2mqtt then?


I bought one of those -P usb dongles and I am using zigbee2mqtt and it worked straight out of the box.

I flashed mine anyway as I didn’t know what version of the firmware was on it and I flash everything anyway just because.

It took about 30 seconds to flash and I didn’t have to pull it apart.

I used this software: GitHub - JelmerT/cc2538-bsl: Python cross-platform script to upload firmware via the serial boot loader onto the CC13xx, CC2538 and CC26xx SoC.

Here is my script:

#curl -sSL | tar xz --strip 1

python3 -p /dev/ttyUSB0 -e -v -w --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_coordinator_20221226.hex

And I used this software:

Works well and the best thing with zigbee2mqtt is the webUI.

Anyway it’s up to you if you want to do it or not and whatever works for you.

1 Like

I went ahead and got the -E (v2).
The CP92xxx driver found the device quickly. Windows is happy at that point.
When I add a thing “ZIGBEE” and scan it does not find anything.
If I manually add the Ember Coordinator (SI EMber NCP)
openHAB sees it, but fails to initialize still.
Using 115K / Hardware.
If I add/remove/add a few times, I can get anywhere from it finding the fact that it has a FIrmware Version and sometimes MAC Address. Sometimes it will get enough info to get the values, sometimes not. LIke it reads a certain amount and fails to go further.

Bit more info. Related or not, I don’t know. Every now and then Karaf shows an Error 0x5 at src\windows\termios.c(2775): Access Denied.

Use Software Flow control (see SONOFF Zigbee 3.0 USB Dongle Plus-E - SONOFF Official). I strongly recommend using a USB extension cable between your USB port and your Zigbee dongle to minimise interferences.

Thanks about the cable suggestion. I was going to ask if I COULD do that!

Interference would make sense since it seems to SEE the chip and TRY to get the info and stops an totally random spots!

It’s up and running properly. I originally had CP210x drivers on the system and if you don’t do things right WINDOWS will grab the CP210x drivers and actually communicate with things. Kind of.

Using the CH9xxx driver and all is happy. And detecting devices as well.

1 Like

That’s why I use Linux. I find it easier to use than windows. I can run it on old hardware as well.
Anyway to each his own. :smile: