ZHA stops working with Silicon Labs Multiprotocol
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
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 closeCloses the issue.@home-assistant rename Awesome new titleRenames the issue.@home-assistant reopenReopen the issue.@home-assistant unassign zhaRemoves the current integration label and assignees on the issue, add the integration domain after the command.@home-assistant add-label needs-more-informationAdd a label (needs-more-information, problem in dependency, problem in custom component) to the issue.@home-assistant remove-label needs-more-informationRemove 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)
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.
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?
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.
Thanks for the detailed explanation.
I did use https://darkxst.github.io/silabs-firmware-builder/
This is the configuration I have.
I hoped that it's supported, but if not, I can wait till it's more stable.
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.
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.