Problem installing the Sonoff USB zigbee 3 ZBDONGLE-E

Hi, newbie here. OpenHAB is installed and running. The next step is making the zigbee dongle work. Unfortunately it does not.

  • Platform information:

    • Hardware: PI5/16Gb/128Gb
    • OS: Manjaro Linux
    • Java Runtime Environment: openjdk 24.0.2 2025-07-15
    • openHAB version: 5.1.1
    • Zigbee binding installed
  • Issue of the topic: OpenHAB does not recognize the dongle

  • Please post configurations (if applicable):

    • I have 3 things: LG TV that was automatically detected, Local Sun and the Ember coordinator.
    • Dongle is new. Connected to the RaspPi with an USB cable extension.
    • I verified that the coordinator version of the firmware was installed on the dongle
    • The config is:
    version: 1
    things:
    zigbee:coordinator_ember:09080c85e7:
    isBridge: true
    location: Living room
    config:
    zigbee_port: /dev/serial/by-id/usb-Itead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_V2_7ab52d4ce7ffef11bf5595256d9880ab-if00-port0
    zigbee_flowcontrol: 0
    zigbee_networksize: 100
    zigbee_channel: 11
    zigbee_panid: 30871
    zigbee_extendedpanid: 9BCE60B7C35B1ACC
    zigbee_networkkey: A253D7C657A65A5EB7FBF4AD8D084C28
    zigbee_linkkey: 5A6967426565416C6C69616E63653039
    
  • I think this is the relevant part of the log:

your code goinfo_circle 19:16:29.987	INFO	org.openhab.io.homekit.internal.HomekitChangeListener	Created 0 HomeKit items in instance 1 (no change from prior configuration).
info_circle 19:16:30.237	INFO	org.openhab.core.automation.internal.RuleEngineImpl	Rule engine started.
info_circle 19:16:32.221	INFO	openhab.event.ThingStatusInfoChangedEvent	Thing 'lgwebos:WebOSTV:6d34663d-9348-a6b2-8ed6-1b2d6a3bc068' changed from UNINITIALIZED (NOT_YET_READY) to INITIALIZING
info_circle 19:16:32.233	INFO	openhab.event.ThingStatusInfoChangedEvent	Thing 'lgwebos:WebOSTV:6d34663d-9348-a6b2-8ed6-1b2d6a3bc068' changed from INITIALIZING to OFFLINE: TV is off
info_circle 19:16:32.502	INFO	openhab.event.ThingStatusInfoChangedEvent	Thing 'zigbee:coordinator_ember:09080c85e7' changed from UNINITIALIZED (NOT_YET_READY) to INITIALIZING
info_circle 19:17:00.283	INFO	openhab.event.FirmwareStatusInfoEvent	Firmware status of thing zigbee:coordinator_ember:09080c85e7 changed to UNKNOWN.
info_circle 19:18:20.358	INFO	openhab.event.ThingStatusInfoChangedEvent	Thing 'zigbee:coordinator_ember:09080c85e7' changed from INITIALIZING to UNINITIALIZED
flag 19:18:25.366	WARN	org.openhab.core.thing.internal.ThingManagerImpl	Disposing handler for thing 'zigbee:coordinator_ember:09080c85e7' takes more than 5000ms.
flag 19:20:46.561	WARN	org.openhab.core.thing.internal.ThingManagerImpl	Disposing handler for thing 'zigbee:coordinator_ember:09080c85e7' takes more than 5000ms.  es here

Any suggestion will be greatly appreciated !

How did you install OH?

OH 5.1 requires Java 21. I don’t think it’s know to be working on Java 24 yet.

The versions listed in the installation docs are not minimum versions. You need to match exactly that version.

What dongle is it specifically? There are two common ember chipsets. And which firmware? There are two and each requires different settings:

The Ember NCP (Network Co-Processor) supports the SiLabs MightyGecko (EFR32MG) and the older EM357/8 chipsets with the standard NCP firmware. The thing type is coordinator_ember. This dongle type is recommended due to its extensive use within both the community, and commercial systems using this dongle.

Note that there are generally two versions of the Ember NCP firmware in use. One operates at a baud rate of 115200 with RTS/CTS flow control (i.e. hardware flow control), the other operates at a baud rate of 57600, and XON/XOFF flow control (i.e. software flow control). If you are programming your own stick (e.g. the CEL stick) then it should be advisable to use the hardware flow control version - many commercial sticks seem to use the lower speed and software flow control (e.g. Bitron and Nortek HUSBZB-1).

Under what user is openHAB running? Does that user have permission to read and write to the device file? Usually you need to add the user to the dialout group but I don’t know how Manjaro handles this. It might be a different group.

Thanks for answering, I respond in the same order:

  • I installed openHAB from archlinux’s AUR repository. After installing some dependencies, the process was smooth.
  • Java version: my bad I use a package “archlinux-java-run” that takes care of the version: JAVA_HOME_DETECTED=$(archlinux-java-run --min 21 --max 21 --java-home)
  • The dongle is: SONOFF - Dongle USB Zigbee 3.0 (V2) ZBDONGLE-E. The firmware is the coordinator version (according to the info I could get) :
universal-silabs-flasher --device /dev/ttyUSB0 probe
2026-02-18 17:39:56.495 think universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2026-02-18 17:39:58.503 think universal_silabs_flasher.flasher INFO Probing ApplicationType.EZSP at 115200 baud
2026-02-18 17:39:59.681 think universal_silabs_flasher.flasher INFO Detected ApplicationType.EZSP, version '7.4.4.0 build 0' (7.4.4.0.0) at 115200 baudrate (bootloader baudrate None)
  • Now I am not sure about the config regarding the baud rate and the Flow Control. For the Flow Control I tested “RTS/CTS” and “None” always with baud rate=115200. What values should I use for these two parameters ?
  • OpenHAB runs as a systemd service (systemctl start openhab5.service). The permissions seem OK:
$ ls -l /dev/ttyUSB0                                                                                             
crw-rw---- 1 root uucp 188, 0 fev 18 19:16 /dev/ttyUSB0 
$ groups openhab5                                                                                                
openhab5 : openhab5 uucp  

Thanks again for your help !

@Thibault Which zigbee devices do you like to control with the binding?
The reason why I’m asking is because the binding supports devices that properly follow the zigbee standard.

Unfortunately a big part of devices don’t do that. In that case your option would be to use zigbee2mqtt with openhab (with a different coordinator config).

So it could be worth figuring out with the help of this community if your devices work with the binding.

Hi, thanks for taking the time to answer. As a beginner I wanted to play safe and baught devices from the same brand as the zigbee dongle. I have temp sensors (5), a window / door sensor, a switch, two smart plugs all is zigbee from sonoff. I also bought a zigbee motion sensor and 4 four more zigbee smartplugs from tuya.

But I am not yet trying to pairing them! I am trying to get the dongle work!

Are you suggesting to use zigbee2mqtt instead of the zigbee binding?

Based on the docs I(link posted above

Name and Link Coordinator Configuration Comment
Sonoff Zigbee 3.0 USB Dongle Plus (model “ZBDongle-E”) from ITead(opens new window) Ember 115200bps Hardware flow control or Software flow controlHigh RAM USB dongle based on Silicon Labs EFR32MG21 MCU. EmberZNet Zigbee NCP (coordinator) firmware image builds from ITead are available here (opens new window).

Try running the probe on the device under the openhab5 user. Maybe something has a lock on the device or something.

If all your devices work with the binding it’s fine and you’ve got a less work (but I doubt that they work).

If they don’t you need zigbee2mqtt. Then my recommendation if you just started would be to start fresh with openhabian:

  • download raspberry imager
  • choose openhab 64bit (it’s somewhere under “other os”…
  • write image, connect Ethernet, start the Pi, wait till settled
  • ssh on you pi
  • sudo openhabian-config
  • install mosquitto
  • install zigbee2mqtt
  • in openhab choose the home assistant binding for auto detection

I run OH via docker myself and had 2 serial devices mapped to /dev/ttyUSB{0,1} and when I tried a Sonoff device (a third one), I was never able to get it to work. I did learn that there may be a separate configuration you might need to do so that JDK can use non-standard serial ports. I was able to verify that this was part of my problem in the docker config since its simple to rename the devices as I mapped them in my docker-compose script.

Perhaps also try using /dev/ttyUSB0 if possible to confirm this as well.

Take my suggestion as a long-shot suggestion though as I ended up returning the Sonoff MG24 as I was never able to get it to work.

My 2 current serial devices is a dual z wave / zigbee dongle but I dont use any zigbee devices through it. I was going to use the Sonoff for ikea / matter devices but it never worked so instead I got the ikea hub.