Failed to probe the usb device for ZHA and Sonoff Zigbee 3.0 USB model E

Hello,
After an update from 2024.4.1 to 2024.4.2, my coordinator dongle Sonoff Zigbee 3.0 USB model E, under ZHA, didn’t work anymore. I tried multiple things advised in this forum in different threads:

  1. Tried to reload / reconfigure → failed
  2. Went back to 2024.4.1 with a backup I had → failed
  3. Removed the USB dongle, replugged, restarted the machine where it’s plugged, … → failed
  4. Uninstalled the ZHA integration, tried to reinstall it → failed (Failed to probe the usb device)
  5. I tried to change the permissions sudo chmod a+rwx /dev/ttyACM0 → failed
  6. In /dev/serial/by-id, I see: usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20221029134549-if00

A few more information:

  • It is an installation on a Debian Linux (through YunoHost).
  • Everything was working fine up to now.
  • I never flashed the device, I think it has the recommended firmware (ncp-uart-sw_EZNet6.10.3_V1.0.1).
  • The device appears to be connected on /dev/ttyACM0:
    crw-rw---- 1 root dialout 166, 0 Apr 11 15:47 ttyACM0
2 Likes

When I try to install it again, this is what I do:
image

image

image

Am I doing something wrong?

Then the result is “Failed to connect”

I just see this in the log, but I don’t find this helpful. Would it give an idea to anybody?

Logger: homeassistant
Source: /var/www/homeassistant/lib/python3.12/site-packages/homeassistant/runner.py:146
First occurred: 17:32:29 (5 occurrences)
Last logged: 17:34:25

Error doing job: Exception in callback SerialTransport._read_ready()
ValueError: (11, None) is not a valid NcpResetCode

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/var/www/homeassistant/lib/python3.12/site-packages/serial_asyncio_fast/__init__.py", line 137, in _read_ready
    self._protocol.data_received(data)
  File "/var/www/homeassistant/lib/python3.12/site-packages/bellows/uart.py", line 84, in data_received
    self.frame_received(frame)
  File "/var/www/homeassistant/lib/python3.12/site-packages/bellows/uart.py", line 119, in frame_received
    self.rstack_frame_received(data)
  File "/var/www/homeassistant/lib/python3.12/site-packages/bellows/uart.py", line 160, in rstack_frame_received
    code, version = self._get_error_code(data)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/homeassistant/lib/python3.12/site-packages/bellows/uart.py", line 193, in _get_error_code
    return t.NcpResetCode(data[2]), data[1]
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/homeassistant/lib/python3.12/site-packages/bellows/types/basic.py", line 216, in __call__
    return super().__call__(value, names, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/enum.py", line 757, in __call__
    return cls.__new__(cls, value)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/enum.py", line 1179, in __new__
    raise exc
  File "/usr/local/lib/python3.12/enum.py", line 1156, in __new__
    result = cls._missing_(value)
             ^^^^^^^^^^^^^^^^^^^^
  File "/var/www/homeassistant/lib/python3.12/site-packages/bellows/types/basic.py", line 225, in _missing_
    new = int_type.__new__(cls, value)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'tuple'

Hi,
I have the same problem here on my Raspberry Pi 5 using HA 2024.4.3.

When reading several other sites, some wrote that it might be a problem with UART, so I already tried disabling bluetooth, enabling uart.

enable-uart=1
dtoverlay=disable-bt

but this did not help, yet. But when reading your thread here, I think it might be a bug of home assistant itself?

According to:
https://sonoff.tech/product-review/how-to-use-sonoff-dongle-plus-on-home-assistant-how-to-flash-firmware/#5

you set everything right (as me, too)

Also the latest firmware version seems to be 1.0.1 which is from 2022.

Same here. But when updating to 2024.4.4. The 2024.4.3 version worked fine.
I have Homassistant running in a VM on Proxmox. Never had any problems with the Sonoff Dongle before.

The dongle seems to be present in the VM. UART is there. But Homeassistant cant connect to it.

for me 2024.4.3 did not work and now I installed 2024.4.4 which did not solve the problem, too.

I also tried as device instead of /dev/ttyACM0

This device:
/dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20231216171152-if00

But did also not help :frowning:

Using also 115200 as speed and software flow control.

@solidminds do you use it on a raspberry pi on proxmox or a “normal” x86 computer?
I’m on a Raspberry Pi 5 and thought if some firmware settings may be needed.

I found a solution. The problem is because of Python 3.12.3 - there was a change which made ZHA incompatible.

Seems there was an update of bellows package (4 hours ago) which fixes zha problems.

Solution is mentioned here and works great:

Installing 2024.5.0 solved the issue for me: everything is back to normal. I won’t don any update anymore!