I Recently did a system restore to an earlier backup, and after that my zha integration has been unavailable. And I don’t want to setup all my devices again. Anyone experienced this?
posting this error in the log:
Logger: homeassistant.config_entries
Source: components/zha/core/gateway.py:152
First occurred: 8:30:57 AM (1 occurrences)
Last logged: 8:30:57 AM
Error setting up entry Sonoff Zigbee 3.0 USB Dongle Plus, s/n: 2ac21323251aec1197dc74e5f01c6278 - ITead for zha
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 313, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 102, in async_setup_entry
await zha_gateway.async_initialize()
File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 152, in async_initialize
self.application_controller = await app_controller_cls.new(
File "/usr/local/lib/python3.9/site-packages/zigpy/application.py", line 69, in new
await app.startup(auto_form)
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/zigbee/application.py", line 175, in startup
return await self._startup(
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/zigbee/application.py", line 188, in _startup
await znp.connect()
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/api.py", line 554, in connect
await self.nvram.determine_alignment()
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/nvram.py", line 35, in determine_alignment
value = await self.osal_read(nvids.OsalNvIds.NWKKEY, item_type=t.Bytes)
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/nvram.py", line 173, in osal_read
raise KeyError(f"NV item does not exist: {nv_id!r}")
KeyError: 'NV item does not exist: <OsalNvIds.NWKKEY: 130>'
I’ve tried restarting home assistant to no avail.
Also the discovery function in home assistant strangely enough finds the usb dongle, although i already have an integration using it…
I ran into the same problem since last week. Before going into complete reinstall, nvram clear, firmware flashing, I would like to check this option as it seems simple. @Hedda, can you point a direction where to set the serial port and maybe better where and how to change to using unique ID instead?
From the log I get this: Connected to /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_02a111111cc9eb11a32e8f4f1d69213e-if00-port0 at 115200 baud
…
`File “/usr/local/lib/python3.12/site-packages/zigpy_znp/nvram.py”, line 171, in osal_read
raise KeyError(f"NV item does not exist: {nv_id!r}")
`KeyError: ‘NV item does not exist: <OsalNvIds.NIB: 33>’
Correct. /serial/by-id/ is the preferred way, which you are already using. Seems your system sees your device too, so I don’t think that the error lies there.
Only solution is to flash the firmware in order clean the ‘faulty’ nvram.
I used the python method. A very clear video with step by step path is this one.(worked for me);