Driver request for Sonoff Zigbee 3.0 Dongle Plus (ZBDongle-E) as router

I just added several Sonoff Zigbee 3.0 Dongle Plus (ZBDongle-E) devices as routers. This is the product page. Note that these are the newer ZBDongle-E and not the ZBDongle-P. I purchased these devices here.

Here is the documentation for how to flash either model with router software (the instructions are different for each model). I followed the instructions for the ZBDongle-E and flashing went smoothly.

After flashing with the router software, the device goes into pairing mode automatically and it paired with hubitat easily as a normal zigbee device. Hubitat automatically selected "Advanced Zigbee Bulb" as the driver and it responds to commands. When sending events like "Configure", "On" and "Off" from hubitat the ZBDongle-E will print messages out to a serial terminal if it's left connected to the computer after flashing. The ZBDongle-E acks the messages as hubitat expects and the status of the device updates in hubitat (i.e. turns on/off). When the device is unplugged the status in hubitat does not update (as expected).

It's kind of weird to call this an "Advanced Zigbee Bulb" so this post is a request to have something like "Generic Zigbee Router" or something like that. I'm not sure what kind of data can be pulled from the device but it would be really cool if some status like count of child devices or signal strength could be refreshed from the device.

I think (and hope!) this device will work well in my zigbee mesh as a high powered router to extend my network.

Here is the advanced data from the device info page:

  • endpointId: 01
  • application: 00
  • manufacturer: SONOFF
  • model: DONGLE-E_R
  • softwareBuild: 1.0.0
1 Like

I believe if you change the driver choice to "device" it should function as a repeater. What I understand is there does not need to be a special driver for repeater devices.

It is a little strange the hub picked advanced zigbee bulb though still.

1 Like

The hub picks up the driver that matches a known fingerprint. If it doesn't have the exact match, it makes a best guess. With your device that guess was the bulb driver. As @cwwilson08 suggested, you can change the driver type to "device." The fact that your device paired to the radio, you don't need a designated "router" type driver, the radio will count the device based on what the device reports. If it reports as being a router then the radio will use it accordingly.

1 Like

Thanks for the replies!

Does my original post have enough information to add this device to the list of known fingerprints so it defaults to "device"?

I would guess the issue is that the fingerprint matches another device. AFAIK, for zigbee devices, the fingerprint is only shown during pairing.

I use the original ZBDongle-P for routers on two platforms, including Hubitat. On Hubitat, I think they may have paired as "Device", I assigned them the "Ikea TRADFRI Signal Repeater" driver, because you can get some more information out of them - specifically, getLinkQuality() works.


Thanks for the suggestion to try "Ikea TRADFRI Signal Repeater". Unfortunately I'm not able to get any information out of the ZBDongle-E(s) with getLinkQuality().

I can't really tell if "Device" works, presumably it does.

I went back to "Advanced Zigbee Bulb" for now because the ZBDongle-E acks the on/off commands which updates the switch state in hubitat and serves as a way to poke at them and ensure they are still powered on and reachable.

Did you check the logs page? It should post information in the logs page or give an error message.

1 Like

Thanks for the tip to look at logs!

The ZBDongle-E responds to both getLinkQuality() and getRouteTable() and logs them at trace level in the logs. This logged information is extremely useful, this is great!

Question for @aaiyar: When you click on the "Get Link Quality" or "Get Route Table" on the device page for your ZBDongle-P, do any of the responses populate into state variables or attributes that are visible on the device page or do you need to look at the logs to see responses?

It would be really cool if all the great info logged a trace level is populated into a device attribute.

1 Like

I’ll answer for @aaiyar since I have the same dongles. No, that info isn’t something that you would see on the device page. Also, “get link quality” is the only functional command on the P version, but is more helpful than no info.

1 Like

What @Ken_Fraleigh said.

1 Like

Thank you both! I marked my previous comment as the solution for this post. If anyone on the hubitat team would like to do any work here I can think of a few feature requests:

  1. Default the ZBDongle-P and ZBDongle-E fingerprints to "Ikea TRADFRI Signal Repeater".
  2. Update the "Ikea TRADFRI Signal Repeater" driver to set state variable(s) in addition to the trace level logging it already does.
  3. Rename "Ikea TRADFRI Signal Repeater" to be "Generic Zigbee Signal Repeater".

Looking at the Sonoff specs for the ZBdongle-P it has a +5 to +20dBm settable output default set to +5 dBm.
Any idea how to set to 20 dBm?

To answer my own question.

1 Like

Thanks for following up with your answer! For completeness in the thread, I'm pretty sure the ZBDongle-E always uses +20dBm.

1 Like

Thanks for the follow-up, @NoWon.

The link you posted isn't working for me, when I click on it nothing happens.

Ah - a quick search on the title found it. :slight_smile:


I've added this info to the SonOff USB Dongle flashing thread I started recently.

1 Like

weird it worked for me maybe because I am register with adobe?
I adjusted the link should work now


Perfect now. :slight_smile:

Just an FYI - I recently created a "how-to" post on flashing the SonOff USB "P" Dongle here.

Focus of that thread is more towards folks who aren't well versed in flashing Zigbee devices like me. :slight_smile: Just wanted to let you know that I'm adding a link to your thread/info to my post. Thanks for increasing the store of information!

1 Like

Download the Hubitat app