AirGradient Forum

Update for update.i_9psl_a_firmware fails on Home Assistant

Good afternoon,

I use several AirGradient ONEs (I-9PSL) connected to the Home Assistant. They all work reliably except for setting a firmware update error few times a day. Was the topic treated already? Thank you very much for help.

The I-9PSL Firmware version is: 3.3.9, Serial number of one of the instruments is: 34b7daa23c68. Configuration ‘Cloud’, firmware ‘Up-to-date.’ The Home Assistant is up to date on Home Assistant Blue / Hardkernel ODROID-N2/N2+.

Could the automatic firmware update be disabled?

The ERROR log in the Home Assistant is as follows:

2025-09-18 13:28:57.147 ERROR (MainThread) [homeassistant.helpers.entity] Update for update.i_9psl_a_firmware fails

Traceback (most recent call last):

File “/usr/local/lib/python3.13/site-packages/airgradient/airgradient.py”, line 62, in _request

response = await self.session.request(

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^

...<4 lines>...

)

^

File “/usr/local/lib/python3.13/site-packages/aiohttp/client.py”, line 770, in _request

resp = await handler(req)

       ^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.13/site-packages/aiohttp/client.py”, line 725, in _connect_and_send_request

conn = await self._connector.connect(

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    req, traces=traces, timeout=real_timeout

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

)

^

File “/usr/local/lib/python3.13/site-packages/aiohttp/connector.py”, line 642, in connect

proto = await self._create_connection(req, traces, timeout)

        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.13/site-packages/aiohttp/connector.py”, line 1209, in _create_connection

_, proto = await self._create_direct_connection(req, traces, timeout)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.13/site-packages/aiohttp/connector.py”, line 1550, in _create_direct_connection

transp, proto = await self._wrap_create_connection(

                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

...<7 lines>...

)

^

File “/usr/local/lib/python3.13/site-packages/aiohttp/connector.py”, line 1268, in _wrap_create_connection

sock = await aiohappyeyeballs.start_connection(

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

...<6 lines>...

)

^

File “/usr/local/lib/python3.13/site-packages/aiohappyeyeballs/impl.py”, line 73, in start_connection

sock = await _connect_sock(

       ^^^^^^^^^^^^^^^^^^^^

...<6 lines>...

)

^

File “/usr/local/lib/python3.13/site-packages/aiohappyeyeballs/impl.py”, line 208, in _connect_sock

await loop.sock_connect(sock, address)

File “/usr/local/lib/python3.13/asyncio/selector_events.py”, line 641, in sock_connect

return await fut

       ^^^^^^^^^

asyncio.exceptions.CancelledError

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

Traceback (most recent call last):

File “/usr/local/lib/python3.13/site-packages/airgradient/airgradient.py”, line 61, in _request

async with asyncio.timeout(self.request_timeout):

           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.13/asyncio/timeouts.py”, line 116, in aexit

raise TimeoutError from exc_val

TimeoutError

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

Traceback (most recent call last):

File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 963, in async_update_ha_state

await self.async_device_update()

File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 1314, in async_device_update

await self.async_update()

File “/usr/src/homeassistant/homeassistant/components/airgradient/update.py”, line 53, in async_update

await self.coordinator.client.get_latest_firmware_version(

    self.coordinator.serial_number

)

File “/usr/local/lib/python3.13/site-packages/airgradient/airgradient.py”, line 172, in get_latest_firmware_version

response = await self._request(url)

           ^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.13/site-packages/airgradient/airgradient.py”, line 70, in _request

raise AirGradientConnectionError(msg) from exception

airgradient.exceptions.AirGradientConnectionError: Timeout occurred while connecting to the device

Are you seeing the firmware update error message on the screen of the device, or in Home Assistant, or on the AirGradient dashboard?

You are on the latest firmware right now, 3.3.9

The Error message appears in the Home Assistant.

I also see the errors in HomeAssistant Logs. Device appears to be functional for me, so I think this is cosmetic, but I opened an Issue in the HomeAssistant side:
Logs show AirGradient errors related to firmware update · Issue #152716 · home-assistant/core

1 Like

Thank you a lot,

I agree that it is a cosmetic but it fills up the log file quite a bit.

Nice day !

I have the same problem.

I get this too… it’s irritating. Please fix it