OTA Firmware Updates Failing on ZHA

I’ve been trying to update my inovelli switches through ZHA’s OTA feature for a while and I haven’t been able to get anything to work. I followed the instructions here for both the config and manually running an update command to individual switches and they have all been unsuccessful with the same logs. Looking in the debug logs all I see is that the call to OTA update times out after 5 minutes. ZHA is blocked by this 5 minute call and ends up taking ~6 minutes to fully startup.

to see this log I run

cat home-assistant.log | egrep zigpy.ota\|zigpy.util\|zigpy.*OTA

with debug logging on

The call stack points to this file and specifically to the line where the OTA file is retrieved:

async with req.get(self.UPDATE_URL) as rsp:

I can load this url in my laptop’s browser fine fwiw.

Can anyone help me with why this is timing out or what I can do to get more verbose logging? I am relatively new to home assistant and have little experience debugging it. I even tried enabling other OTA providers and I would get a similar stack trace but at a different line corresponding to a different provider. I have a SONOFF coordinator on a very old raspberry pi 3.

My current versions are:

  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.12.5",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "aarch64",
    "timezone": "America/Los_Angeles",
    "os_name": "Linux",
    "os_version": "5.15.76-v8",
    "supervisor": "2022.11.2",
    "host_os": "Home Assistant OS 9.4",
    "docker_version": "20.10.19",
    "chassis": "embedded",
    "run_as_root": true
  },
    "versions": {
      "bellows": "0.34.5",
      "zigpy": "0.52.3",
      "zigpy_deconz": "0.19.2",
      "zigpy_xbee": "0.16.2",
      "zigpy_znp": "0.9.2",
      "zigpy_zigate": "0.10.3",
      "zhaquirks": "0.0.89"
    }

Anyone have any ideas or suggestions? If I go to the logs I also see

Logger: zigpy.util
Source: components/zha/core/gateway.py:172
First occurred: December 14, 2022 at 10:29:41 AM (1 occurrences)
Last logged: December 14, 2022 at 10:29:41 AM
Error calling listener <bound method Inovelli.initialize_provider of <zigpy.ota.provider.Inovelli object at 0x7f9fd14fa0>> 
with args (OrderedDict([('inovelli_provider', True), ('thirdreality_provider', False), ('otau_directory', None), ('ledvance_provider', False), ('salus_provider', False), ('sonoff_provider', False), ('ikea_provider', False)]),): TimeoutError()

This was resolved by upgrading by rpi3 to a 7th gen i5 intel nuc. Immediately after migrating all my light switches successfully upgraded OTA with no intervention. Now ZHA takes about 5 seconds to start up instead of 5 minutes as well