core icon indicating copy to clipboard operation
core copied to clipboard

ZHA stops working with Silicon Labs Multiprotocol

Open sergeykad opened this issue 1 year ago • 6 comments

The problem

I can configure ZHA to work with Silicon Labs Multiprotocol and it works for a day or two. It fails after this with the attached error. Reinserting Zigbee dongle and reconfiguring ZHA solves the issue for another day or two.

It can be related to Silicon Labs Multiprotocol problem, but I did not get any help there and eventually it's ZHA that crashes. I did not notice any errors in the Silicon Labs Multiprotocol log.

What version of Home Assistant Core has the issue?

core-2024.1.6

What was the last working version of Home Assistant Core?

none

What type of installation are you running?

Home Assistant OS

Integration causing the issue

ZHA

Link to integration documentation on our website

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

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.config_entries
Source: config_entries.py:406
First occurred: February 1, 2024 at 8:27:57 PM (1 occurrences)
Last logged: February 1, 2024 at 8:27:57 PM

Error setting up entry SONOFF Zigbee 3.0 USB Dongle Plus V2 for zha: Incorrect firmware installed
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 163, in async_setup_entry
    zha_gateway = await ZHAGateway.async_from_config(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 196, in async_from_config
    await instance.async_initialize()
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 214, in async_initialize
    await app.startup(auto_form=True)
  File "/usr/local/lib/python3.11/site-packages/zigpy/application.py", line 225, in startup
    await self.connect()
  File "/usr/local/lib/python3.11/site-packages/bellows/zigbee/application.py", line 148, in connect
    await ezsp.startup_reset()
  File "/usr/local/lib/python3.11/site-packages/bellows/ezsp/__init__.py", line 125, in startup_reset
    await self.reset()
  File "/usr/local/lib/python3.11/site-packages/bellows/ezsp/__init__.py", line 151, in reset
    await self._gw.reset()
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 406, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 191, in async_setup_entry
    raise ConfigEntryError("Incorrect firmware installed") from exc
homeassistant.exceptions.ConfigEntryError: Incorrect firmware installed

Additional information

No response

sergeykad avatar Feb 04 '24 20:02 sergeykad

Hey there @dmulcahey, @adminiuga, @puddly, @thejulianjes, mind taking a look at this issue as it has been labeled with an integration (zha) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of zha can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign zha Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


zha documentation zha source (message by IssueLinks)

home-assistant[bot] avatar Feb 04 '24 20:02 home-assistant[bot]

This is a known issue and multiprotocol is experimental. If you need / really want to use it you should use a separate radio for now.

dmulcahey avatar Feb 04 '24 20:02 dmulcahey

The error message your receive can only happen if ZHA is configured to connect directly to the stick. This cannot work: multiprotocol requires the addon to function and ZHA communicates with the addon instead.

Can you describe what you do to reconfigure ZHA, preferably with screenshots?

puddly avatar Feb 04 '24 20:02 puddly

Also, it looks like you're running a ZBDongle-E. The Multiprotocol addon will only flash the correct firmware on a SkyConnect/Yellow, so if you really want to use Multiprotocol, you'd need to flash Multiprotocol firmware manually (e.g. by using a third-party site/flasher like: https://darkxst.github.io/silabs-firmware-builder/ You can also revert to normal/EZSP firmware there.)

Like puddly mentioned, you then need to configure ZHA to talk to the addon (instead of directly to the stick), IIRC it's socket://core-silabs-multiprotocol:9999 for the "serial path" in the ZHA reconfiguration dialog.

But if you can avoid it, don't use Multiprotocol, uninstall the addon, and reconfigure ZHA to talk directly to the stick.

TheJulianJES avatar Feb 04 '24 20:02 TheJulianJES

Thanks for the detailed explanation.

I did use https://darkxst.github.io/silabs-firmware-builder/

This is the configuration I have. Screenshot_2024-02-05-09-31-42-35_c3a231c25ed346e59462e84656a70e50.jpg

I hoped that it's supported, but if not, I can wait till it's more stable.

sergeykad avatar Feb 05 '24 07:02 sergeykad

Multiprotocol support on HA Yellow results in the same instability. I usually notice Zigbee is down 12-48hrs after the service is toggled on/off. Just disabled multiprotocol entirely (a shame to lose my Thread devices...) until I hear the stability issues have been fixed. Hopefully that resolves the issue.

Siress avatar Feb 07 '24 19:02 Siress

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.