asyncio.exceptions.TimeoutError kills rflink integration

Hello!

I’m having a problem with HA that I’m having big trouble finding a solution for. Errors from the log are below.

What I know:

  • The error is most likely related to rflink which is connected via a tcp socket. After the error occurs all sensors and lights connected via rflink stop working until I restart ha.
  • this error has only started to happen since I’ve updated from an older version prior the new versioning scheme (I believe it was 0.117). Before updating home-assistant rflink never stopped working or made problems.
  • The issue occurs when a switch activates a scene
  • I am unable to trigger the issue on purpose, it occurs at a seemingly random point in time.
  • a restart of home assistant fixes the issue.
  • I do have an occasion warning in the logs, but so far this has never been a problem. Posting it here to draw a complete picture: WARNING (MainThread) [homeassistant.components.rflink] disconnected from Rflink, reconnecting

Any help pinning this down would be greatly appreciated!

Automation of the switch:

- id: 'xxx'
  alias: namedautomation
  description: ''
  trigger:
  - device_id: xxx
    discovery_id: 0x14b457fffe915cb3 click_on
    domain: mqtt
    platform: device
    subtype: 'on'
    type: click
  condition: []
  action:
  - scene: scene.nameofthescene
  mode: single

Scene:

- id: xxx
  name: nameofthescene
  entities:
    light.light1:
      assumed_state: true
      effect_list:
      - colorloop
      - night
      - white
      friendly_name: Light 1
      state: 'on'
      supported_features: 61
    light.light2:
      friendly_name: Light 2
      state: 'on'
      supported_features: 0
    light.light3:
      friendly_name: Light 3
      state: 'on'
      supported_features: 0
    light.light4:
      brightness: 255
      friendly_name: Light 4
      state: 'on'
      supported_features: 1
    light.light5:
      friendly_name: Light 5
      state: 'on'
      supported_features: 0
    light.light6:
      assumed_state: true
      effect_list:
      - colorloop
      - night
      - white
      friendly_name: Light 6
      state: 'on'
      supported_features: 61
  icon: mdi:lightbulb-on-outline

For the sake of completeness let me add that theres also a sepparate Scene and according automation for turning them all off.

Error Log:

2021-02-13 19:46:27 ERROR (MainThread) [homeassistant.components.mobile_app.webhook] Error when calling service during mobile_app webhook (device name: nameofdevice): 
2021-02-13 19:46:27 ERROR (MainThread) [homeassistant.components.webhook] Error processing webhook 1cde7c3402980bac05f18819885a6eb46b1ec6be6179b4906efe376e47106e41
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 221, in webhook_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 311, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 106, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 100, in worker
    await platform.async_reproduce_states(  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 139, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 126, in _async_reproduce_state
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 565, in async_turn_off
    await self._async_handle_command("turn_off")
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 498, in _async_handle_command
    await self._async_send_command(cmd, self._signal_repetitions)
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 524, in _async_send_command
    await self._protocol.send_command_ack(self._device_id, cmd)
  File "/usr/local/lib/python3.8/site-packages/rflink/protocol.py", line 227, in send_command_ack
    yield from asyncio.wait_for(
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError

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

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/webhook/__init__.py", line 96, in async_handle_webhook
    response = await webhook["handler"](hass, webhook_id, request)
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 205, in handle_webhook
    return await asyncio.shield(
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 140, in validate_and_run
    return await func(hass, config_entry, data)
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 235, in webhook_call_service
    raise HTTPBadRequest() from ex
aiohttp.web_exceptions.HTTPBadRequest: Bad Request
2021-02-13 19:46:32 ERROR (MainThread) [homeassistant.components.mobile_app.webhook] Error when calling service during mobile_app webhook (device name: nameofdevice): 
2021-02-13 19:46:32 ERROR (MainThread) [homeassistant.components.webhook] Error processing webhook 1cde7c3402980bac05f18819885a6eb46b1ec6be6179b4906efe376e47106e41
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 221, in webhook_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 311, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 106, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 100, in worker
    await platform.async_reproduce_states(  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 139, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 126, in _async_reproduce_state
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 565, in async_turn_off
    await self._async_handle_command("turn_off")
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 498, in _async_handle_command
    await self._async_send_command(cmd, self._signal_repetitions)
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 524, in _async_send_command
    await self._protocol.send_command_ack(self._device_id, cmd)
  File "/usr/local/lib/python3.8/site-packages/rflink/protocol.py", line 227, in send_command_ack
    yield from asyncio.wait_for(
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError

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

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/webhook/__init__.py", line 96, in async_handle_webhook
    response = await webhook["handler"](hass, webhook_id, request)
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 205, in handle_webhook
    return await asyncio.shield(
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 140, in validate_and_run
    return await func(hass, config_entry, data)
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 235, in webhook_call_service
    raise HTTPBadRequest() from ex
aiohttp.web_exceptions.HTTPBadRequest: Bad Request
2021-02-13 19:46:37 ERROR (MainThread) [homeassistant.components.mobile_app.webhook] Error when calling service during mobile_app webhook (device name: nameofdevice): 
2021-02-13 19:46:37 ERROR (MainThread) [homeassistant.components.webhook] Error processing webhook 1cde7c3402980bac05f18819885a6eb46b1ec6be6179b4906efe376e47106e41
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 221, in webhook_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 311, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 106, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 100, in worker
    await platform.async_reproduce_states(  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 139, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 126, in _async_reproduce_state
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 565, in async_turn_off
    await self._async_handle_command("turn_off")
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 498, in _async_handle_command
    await self._async_send_command(cmd, self._signal_repetitions)
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 524, in _async_send_command
    await self._protocol.send_command_ack(self._device_id, cmd)
  File "/usr/local/lib/python3.8/site-packages/rflink/protocol.py", line 227, in send_command_ack
    yield from asyncio.wait_for(
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError

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

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/webhook/__init__.py", line 96, in async_handle_webhook
    response = await webhook["handler"](hass, webhook_id, request)
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 205, in handle_webhook
    return await asyncio.shield(
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 140, in validate_and_run
    return await func(hass, config_entry, data)
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/webhook.py", line 235, in webhook_call_service
    raise HTTPBadRequest() from ex
aiohttp.web_exceptions.HTTPBadRequest: Bad Request
2021-02-13 19:46:42 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall scene.turn_on (c:9af92775d319d06e7da466f9c3084476): entity_id=['scene.feuer_gemutlich']>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1471, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 311, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 106, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 100, in worker
    await platform.async_reproduce_states(  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 139, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 126, in _async_reproduce_state
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 565, in async_turn_off
    await self._async_handle_command("turn_off")
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 498, in _async_handle_command
    await self._async_send_command(cmd, self._signal_repetitions)
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 524, in _async_send_command
    await self._protocol.send_command_ack(self._device_id, cmd)
  File "/usr/local/lib/python3.8/site-packages/rflink/protocol.py", line 227, in send_command_ack
    yield from asyncio.wait_for(
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError
2021-02-13 19:46:47 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall scene.turn_on (c:78dc5d4133a0e586ffb3bd0ae48fc1c0): entity_id=['scene.feuer_gemutlich']>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1471, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 311, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 106, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 100, in worker
    await platform.async_reproduce_states(  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 139, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 126, in _async_reproduce_state
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 565, in async_turn_off
    await self._async_handle_command("turn_off")
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 498, in _async_handle_command
    await self._async_send_command(cmd, self._signal_repetitions)
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 524, in _async_send_command
    await self._protocol.send_command_ack(self._device_id, cmd)
  File "/usr/local/lib/python3.8/site-packages/rflink/protocol.py", line 227, in send_command_ack
    yield from asyncio.wait_for(
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError
2021-02-13 19:47:14 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140458506712112] 
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 136, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 311, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 106, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 100, in worker
    await platform.async_reproduce_states(  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 139, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/light/reproduce_state.py", line 126, in _async_reproduce_state
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1455, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1490, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 595, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 632, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 565, in async_turn_off
    await self._async_handle_command("turn_off")
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 498, in _async_handle_command
    await self._async_send_command(cmd, self._signal_repetitions)
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 524, in _async_send_command
    await self._protocol.send_command_ack(self._device_id, cmd)
  File "/usr/local/lib/python3.8/site-packages/rflink/protocol.py", line 227, in send_command_ack
    yield from asyncio.wait_for(
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError

Thank you!

Not sure if can be related, but maybe you can try the TCP config commented here:

Hey javicalle, unfortunately I cannot since I do not use socat at all. rflink directly connects via tcp as described in the docs.

I have so far downgraded to 2021.1.5 and it seems to have solved the issue (did not happen in 24hrs, previously it happend about every 2-6hrs), indicating it might be a recently introduced bug into HA.

Going to open an issue on github. Any suggestions what the correct repository is for this?

On a different note. I have been trying to reconfigure my rflink to use the actual usb port (i have physically moved the server next to the rf link a while ago but never changed config) and have been failing.

I’m using docker-compose on ubuntu. I have tried adding the port as a device into my docker-compose service:

version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: homeassistant/home-assistant:2021.1.5
    volumes: 
      - ~/docker/homeassistant:/config
    restart: unless-stopped
    network_mode: host
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8123"]
      interval: 1m30s
      timeout: 10s
      retries: 3
    devices:
      - /dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_55736303739351209152-if00:/dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_55736303739351209152-if00

But when I configure my rflink to use said port it would not work at all and trigger the described error right away when I actuate a light. Any ideas what could cause this? I guess switching to use serial over tcp might solve my problem right away…

Hi,
I don’t see the changes made between both versions explain the difference in behavior you describe. Between both versions the implementation of ‘TCP_KEEPALIVE’ has been added, but unless you have added it to your configuration, it should not change anything.
Although I have no experience with TCP configuration (or in docker), it does not seem to me that the problem may come from changes in the RFLink integration.

I could suggest you to create an issue at HA core repo: