Skip to content

Integration fails with Python 3.14 / Home Assistant 2026.x #158

@Kazenosho

Description

@Kazenosho

System Health details

Environment:

  • Home Assistant OS 17.3
  • Home Assistant Core 2026.6.x
  • Python 3.14
  • Hardware: Raspberry Pi 4 4GB
  • RFPlayer: RFP1000 (USB, FTDI FT232R chip)

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of any previous issues..

Describe the issue

Bug report: Integration fails with Python 3.14 / Home Assistant 2026.x

Description:
The integration fails to load and unload properly due to an incompatibility between serial_asyncio_fast and Python 3.14's asyncio event loop handling.

Error logs:

RuntimeError: no running event loop
  File "/usr/local/lib/python3.14/site-packages/serial_asyncio_fast/__init__.py", line 36, in _create_background_task
    task = asyncio.create_task(coro)
  File "/usr/local/lib/python3.14/asyncio/tasks.py", line 394, in create_task
    loop = events.get_running_loop()
Error unloading entry /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A10R682X-if00-port0 for rfplayer

Behavior:

  • The RFPlayer USB device is correctly detected at /dev/ttyUSB0
  • The device physically blinks when RF signals are received
  • The integration fails silently — no events are fired in Home Assistant
  • The integration crashes on unload with the above traceback

Root cause (suspected):
Python 3.14 changed the behavior of asyncio.create_task() — it now requires a running event loop in the current thread. The _create_background_task function in serial_asyncio_fast calls asyncio.create_task() outside of a running loop context, which raises RuntimeError.

Workaround:
None found. The integration is currently unusable on HA 2026.x / Python 3.14.

Thank you for your work on this integration. Happy to provide additional logs if needed.

Reproduction steps

...

Debug logs

**Error logs:**

RuntimeError: no running event loop
  File "/usr/local/lib/python3.14/site-packages/serial_asyncio_fast/__init__.py", line 36, in _create_background_task
    task = asyncio.create_task(coro)
  File "/usr/local/lib/python3.14/asyncio/tasks.py", line 394, in create_task
    loop = events.get_running_loop()



Error unloading entry /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A10R682X-if00-port0 for rfplayer


**Behavior:**

Diagnostics dump

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions