RFXtrx integration fails to connect after upgrade to 2026.5

After upgrading to Home Assistant 2026.5, there is something fishy going on with my RFXCOM RFXtrx integration - fails to connect on startup. The device is correctly recognized by the OS (/dev/ttyUSB0, driver ftdi_sio loaded), and the integration config entry is intact, but the connection crashes with a TypeError in pyserial.

What version of Home Assistant Core has the issue? 2026.5.0

What was the last working version? 2026.4.x

Operating environment Home Assistant OS on Raspberry Pi 5

Integration RFXCOM RFXtrx (rfxtrx)

Hardware RFXtrx433XL, connected via USB (/dev/serial/by-id/usb-RFXCOM_RFXtrx433XL_DO2VYWJ8-if00-port0)

Traceback


 _    _                                         _     _              _
| |  | |                          /\           (_)   | |            | |
| |__| | ___  _ __ ___   ___     /  \   ___ ___ _ ___| |_ __ _ _ __ | |_
|  __  |/ _ \| '_ ` _ \ / _ \   / /\ \ / __/ __| / __| __/ _` | '_ \| __|
| |  | | (_) | | | | | |  __/  / ____ \\__ \__ \ \__ \ || (_| | | | | |_
|_|  |_|\___/|_| |_| |_|\___| /_/    \_\___/___/_|___/\__\__,_|_| |_|\__|


Our command line:
$ ha help
zsh: corrupt history file /root/.zsh_history
โžœ  /config ha core logs 2>&1 | grep -i rfx -A 3 -B 3 | tail -60
  File "/usr/local/lib/python3.14/threading.py", line 1024, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 1046, in _connect
    self._connect_internal()
    ~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 1074, in _connect_internal
    event = self.transport.receive_blocking()
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 807, in __errors
    return func(instance, *args, **kargs)
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 845, in receive_blocking
    return self._receive_packet()
           ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 849, in _receive_packet
    data = self.serial.read()
  File "/usr/local/lib/python3.14/site-packages/serial/serialposix.py", line 575, in read
    buf = os.read(self.fd, size - len(read))
โžœ  /config ha core logs 2>&1 | grep -i rfx -A 10 | tail -80
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 1046, in _connect
    self._connect_internal()
    ~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 1074, in _connect_internal
    event = self.transport.receive_blocking()
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 807, in __errors
    return func(instance, *args, **kargs)
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 845, in receive_blocking
    return self._receive_packet()
           ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 849, in _receive_packet
    data = self.serial.read()
  File "/usr/local/lib/python3.14/site-packages/serial/serialposix.py", line 575, in read
    buf = os.read(self.fd, size - len(read))
TypeError: 'NoneType' object cannot be interpreted as an integer

2 Likes

Same here but with a slightly different log:

2026-05-07 07:19:07.019 ERROR (Thread-4 (_connect)) [root] Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/threading.py", line 1082, in _bootstrap_inner
    self._context.run(self.run)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/local/lib/python3.14/threading.py", line 1024, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 1046, in _connect
    self._connect_internal()
    ~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 1074, in _connect_internal
    event = self.transport.receive_blocking()
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 807, in __errors
    return func(instance, *args, **kargs)
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 845, in receive_blocking
    return self._receive_packet()
           ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/RFXtrx/__init__.py", line 853, in _receive_packet
    while len(pkt) < pkt[0]+1:
                     ~~~^^^
IndexError: bytearray index out of range
Found 2 non-daemonic threads.

My RFXCOM RFXtrx is no longer sending the signals to my rollerblinds. so for the moment reverting to 2026.4.4 :frowning:

There have been changes with serial and rf433.

Make sure the integration author has kept up with HA to make sure their stuff works with the new version. An issue in the repo for the software possibly?

It's now official: RFXtrx integration broken with Python 3.14 - pyserial Timeout.time_left() returns None causing TypeError in serial.read() ยท Issue #170001 ยท home-assistant/core ยท GitHub

Same here. Rfx integration stopped working. Similar logs as above.

At github there is a workaround mentioned that may work. At least it did for me.

Add a protocol in "RFXCOM RFXtrx" โ€“ for example, ARC โ€“ then save and close. Refresh the screen, then open again "RFXCOM RFXtrx" and remove the protocol added, it works again.

Worked like a charm! Thanks for sharing.

Because I restart my Docker image every day, I created a Script and an Automation. Go to Settings > Automation & Scenes and add a Script and Automation following the images below. It works like a charm.


Hi,
It's here, but does not work after reboot...

@boudeweyn What did you enter at 'entity' in the script, I'm not able to find the same as you show in the image.

I did reload the RFXcom integration manually and that solved the issue. After a reboot the issue is back. A manual reload makes it available again.

I use the RFXcom for blinds with Brel motors.


In Settings > Devices & Services > select the RFXCom integration. Then click on the 3 dots. Copy entry ID. Hope that helps.

i dont find the config entry id, can you give me the yamil of the automation , please

This is how mij yaml script looks like. But I have my doubts if my entry id is the same as yours:

homeassistant.reload_config_entry
metadata: {}
data:
  entry_id: 6232a4a855da80975aa5f783d6f08218
target:
  entity_id: device_tracker.homeassistant

and this is how my automation yaml looks like:

alias: Reload RFXCom
description: ""
triggers:
  - trigger: homeassistant
    event: start
conditions: []
actions:
  - delay:
      hours: 0
      minutes: 0
      seconds: 45
      milliseconds: 0
  - action: script.reload_rfxcom_integration
    metadata: {}
    data: {}
mode: single
1 Like

Works, thank you!