core: ZHA fails to load - Retrying setup: [Errno 2] could not open port /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2134161-if00: [Errno 2] No such file or directory

The problem

ZHA fails to start after upgrading to 2021.05.0 and 2021.05.1. If I revert back to 2021.4.6 ZHA loads fine.

What is version of Home Assistant Core has the issue?

2021.5.1

What was the last working version of Home Assistant Core?

2021.4.6

What type of installation are you running?

Home Assistant Core

Integration causing the issue

ZHA

Link to integration documentation on our website

https://www.home-assistant.io/integrations/zha

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Following in the log


Logger: homeassistant.components.zha.core.gateway
Source: components/zha/core/gateway.py:157
Integration: Zigbee Home Automation (documentation, issues)
First occurred: 1:37:09 PM (2 occurrences)
Last logged: 1:37:19 PM

Couldn't start deCONZ = dresden elektronik deCONZ protocol: ConBee I/II, RaspBee I/II coordinator
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/serial/serialposix.py", line 322, in open
    self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2134161-if00'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 157, in async_initialize
    self.application_controller = await app_controller_cls.new(
  File "/usr/local/lib/python3.8/site-packages/zigpy/application.py", line 69, in new
    await app.startup(auto_form)
  File "/usr/local/lib/python3.8/site-packages/zigpy_deconz/zigbee/application.py", line 65, in startup
    await self._api.connect()
  File "/usr/local/lib/python3.8/site-packages/zigpy_deconz/api.py", line 245, in connect
    self._uart = await zigpy_deconz.uart.connect(self._config, self)
  File "/usr/local/lib/python3.8/site-packages/zigpy_deconz/uart.py", line 142, in connect
    _, protocol = await serial_asyncio.create_serial_connection(
  File "/usr/local/lib/python3.8/site-packages/serial_asyncio/__init__.py", line 445, in create_serial_connection
    serial_instance = serial.serial_for_url(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/serial/__init__.py", line 90, in serial_for_url
    instance.open()
  File "/usr/local/lib/python3.8/site-packages/serial/serialposix.py", line 325, in open
    raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2134161-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2134161-if00'


### Additional information

The following is shown on the integration page.

![image](https://user-images.githubusercontent.com/7449908/117539531-04643a80-b003-11eb-8915-c3d3a689b2ac.png)

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 17 (15 by maintainers)

Most upvoted comments

You could carefully edit .storage/core.config_entries file but removing and adding integration is safer way. But may loose some customizations, haven’t tried this in a while

Thanks, editing .storage/core.config_entries worked. Feels like a bit of a hack! For anyone trying to repeat I did:

  1. Stop the container.
  2. In the host machine terminal run ls -laR /dev/serial to list which physical USB devices the symlinks are mapped to.
  3. Make sure that your docker config file maps any usb devices you want to use into the container, e.g.
...
  devices:
    - /dev/ttyUSB0:/dev/ttyUSB0
    - /dev/ttyUSB1:/dev/ttyUSB1
  1. Edit .homeassistant/.storage/core.config_entries, replacing /dev/serial/by-id/xxxxxyyyyy with the device mapped above e.g. /dev/ttyUSB0
  2. Don’t edit anything else!
  3. Save and close.
  4. Start the container.

Now zigbee devices all work again.

You could carefully edit .storage/core.config_entries file but removing and adding integration is safer way. But may loose some customizations, haven’t tried this in a while