Sonoff ZBDongle-P over ethernet with ser2net

Hi,
My HA installation runs on OVA Virtual Machine on a Synology NAS in the basement of a separate building.
I would like to place my zigbee coordinator on the roof where I have ethernet connection in order to get perfect signal propagation without too many routers.

I am trying to get the ZBDongle-P (CC2652P Chip) to work remotelly from the NAS using a raspberry with ser2net version 4.3.3 installed and then telling Zigbe2MQTT to use the IP of the raspberry as a serial port.

I followed this guide: Connect to a remote adapter | Zigbee2MQTT but it does not state anything about this particular dongle.

Unfortunatelly I am unable to get it working this way.
P.S. with the dongle attached directly to the NAS everything works as expected.

This is my ser2net configuration: /etc/ser2net.yaml

This is how i get the dongle usb name: ls -lah /dev/serial/by-id/ which is giving me /ttyUSB0

This is the Zigbee2MQTT configuration:

Is there a way to test if ser2net has been configured correctly and started the service ?
I see this is a topic no one is discussing
any help appreciated.

best regards
Pabo

You can use the /dev/serial/by-is path directly, no need to use /dev/ttyUSB0 (which is probably wrong)

The Sonoff Dongle uses the same chip as Slaesh‘s, so I would start with that settings.

Why don‘t you move the entire Zigbee2MQTT installation to the Raspberry, connecting to the MQTT server on HA?

Thank you for you reply, what do you mean by “ You can use the /dev/serial/by-is path directly” ?

Because:
1- Having everything in one place make more sense to me
2- because I have an old raspberry 1
3- to me looks like setting up ser2net is simpler than setting up Zigbee2MQTT on a raspberry but maybe I am wrong.
4- ser2net is used by long time in the IT industry

cat zigbee.yaml

connection: &con01
  accepter: tcp,0.0.0.0,20108
  connector: serialdev,/dev/ttyUSB0,115200n81,local
  options:
    kickolduser: true

In here you may use the dongle‘s path at /dev/serial/… instead of ttyUSB to remove a possible point of failure.

tried to add your conf to:
/etc/ser2net.yaml
but its not working

I tried with this config like you suggested but still zigbee2mqtt refuse to connect

connection: &con01
  accepter: tcp,20108
  connector: serialdev,/dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0,115200n81,local,dtr=off,rts=off
  options:
    kickolduser: true

Did you ever solve this? I’m in exactly the same boat as you with the same dongle and errors.

Also struggling with this identical config/dongle.

EDIT: Got mine working. Make sure you’re using Ser2Net 4.3.11 that enables dtr=off. Armbian bullseye that I’m running installs 4.3.3, I had to add the testing package branch and install it from there.

Actually got mine working as well. Didn’t need the dtr=off for the Sonoff on 4.3.3. The problem on my end is apparently ser2net will start the service before the network loads and therefore doesn’t pass anything. You can always restart the service and it will work or you can add a couple lines to the following file: /lib/systemd/system/ser2net.service

In the [Unit] section add:

After=network-online.target
Wants=network-online.target

reboot and it should work as expected on a restart.

2 Likes

This already exists on the 4.3.11 Debian package. FYI

On the raspberry pi, and even on a Debian 11 install I tried, using apt install ser2net pulled 4.3.3. No clue why not a newer version than that. In the end it does work for me though so wanted to share what thankfully worked.

Just saw your edit about how to get it to install 4.3.11 At this point it’s working correctly so don’t want to mess with a working install. Thanks for letting me know though.

What is in your ser2net.yaml on the remote pi and in your configuration.yaml (zigbee2mqtt) on the nas?
Perhaps also what is in ser2net.conf?