KNX crashing from time to time

Dear community,

every once in a while my KNX integration seems to crash and the status of all KNX entities changes to “unvailable”. 10 minutes later, all entities appear again with their “real” status. The KNX-Bus itself remains stable in that time-period (I can still use all KNX-devices and can control everything from my KNX hardware, e.g. by using KNX-display and room-controllers).

When the suspected crash happens, the CPU-load ist drastically increasing for some seconds and I see the following entries in the log file (the last entry .

2023-10-08 04:14:10.946 WARNING (KNX Interface) [xknx.log] Received DisconnectRequest from tunnelling server.
2023-10-08 04:14:11.211 WARNING (MainThread) [xknx.cemi] Could not send CEMI frame: Sending telegram failed. No active communication channel. for <CEMIFrame code="L_DATA_REQ" info="CEMIInfo("")" data="CEMILData(src_addr="IndividualAddress("1.1.1")" dst_addr="GroupAddress("2/1/1")" flags="1011110011100000" tpci="TDataGroup()" payload="<GroupValueRead />")" />
2023-10-08 04:14:11.211 WARNING (MainThread) [xknx.log] Sending telegram failed. No active communication channel.
2023-10-08 04:14:11.260 WARNING (MainThread) [xknx.cemi] Could not send CEMI frame: Sending telegram failed. No active communication channel. for <CEMIFrame code="L_DATA_REQ" info="CEMIInfo("")" data="CEMILData(src_addr="IndividualAddress("1.1.1")" dst_addr="GroupAddress("2/1/6")" flags="1011110011100000" tpci="TDataGroup()" payload="<GroupValueRead />")" />
2023-10-08 04:14:11.260 WARNING (MainThread) [xknx.log] Sending telegram failed. No active communication channel.
2023-10-08 04:14:12.961 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 2/1/1
2023-10-08 04:14:12.961 WARNING (MainThread) [xknx.log] Could not sync group address '2/1/1' (ELW Wohnraum-SD Hauseck - State)
2023-10-08 04:14:12.962 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 2/1/6
2023-10-08 04:14:12.962 WARNING (MainThread) [xknx.log] Could not sync group address '2/1/6' (ELW Wohnraum-SD Bett - State)
2023-10-08 04:14:18.173 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 6/2/52
2023-10-08 04:14:18.173 WARNING (MainThread) [xknx.log] Could not sync group address '6/2/52' (FenstersensorKuecheDunstabzug - State)
2023-10-08 04:14:18.271 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 6/2/53
2023-10-08 04:14:18.272 WARNING (MainThread) [xknx.log] Could not sync group address '6/2/53' (TuersensorEsszimmerDunstabzug - State)
2023-10-08 04:14:19.108 ERROR (SyncWorker_12) [homeassistant.components.modbus.modbus] Pymodbus: eta_pu15: Modbus Error: [Connection] ModbusTcpClient(192.168.168.37:502): Connection unexpectedly closed 0.0002110004425048828 seconds into read of 8 bytes without response from slave before it closed connection
2023-10-08 04:14:19.838 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [281472489581760] 'triggered'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2012, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2049, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/manual/alarm_control_panel.py", line 325, in async_alarm_trigger
    if not self._trigger_time_by_state[self._active_state]:
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^

The modbus error occurs regularly, so this could be a coincidence. I suppose, the last error in the log I have copied, refers to my hass.io-based alert-system which gets triggered, when the states of the KXN-based window-sensors change.

Unfortunately, I am not able to interpret the log-file properly with regards to the KNX issue, and I have no idea what could cause this.

Does anyone have similar problems? Would appreciate any help or advice!

Thanks for you help!

1 Like

You’ll have to find the cause of this. Something is essentially halting your system resulting in connection timeouts. KNX not working is probably not the cause, but a consequence of that.

I’d start by disabling any custom components and see if the issue disappears.

Otherwise try to use the profiler to find what is blocking your system Profiler - Home Assistant

What installation method are you using?

Same problem for me, no CPU increasing but all entities became unvailable for some seconds.

EDIT: Sorry, I think my issue is a wrong KNX comunication config on tunnel device.

At first thanks for all suggestions to solve this issue! I see now, that my KNX issue is also not necessarily depending on an increase CPU load.
@Tux92 : Could you explain what was wrong with the config of your tunnel device? Maybe this is also my problem.

I think you got that wrong. Your specific issue with Knx is definitely a side effect of that other issue that also causes your CPU load to spike and other integrations connections to fail.

Sorry, but I finally found the real problem: the knx device I use as a tunnel has a built-in MQTT broker service which for some strange cause generates a high workload on that device. So the KNX bus is also affected by this problem.
I solved it by disabling the MQTT broker service.
The KNX tunnel is managed by the IKON SERVER device from DomoticaLabs

Edit:
In any case, I still get a lot of errors mainly of 2 types:

- No active point-to-point connection for received telegram: <Telegram direction="Incoming" source_address="1.2.7" destination_address="0.0.0" tpci="TAck(sequence_number=0)" />
- No active point-to-point connection for received telegram: <Telegram direction="Incoming" source_address="1.2.7" destination_address="0.0.0" payload="<MemoryResponse address="0x60" count="0" data="" />" />

Occasionally also this type:

- Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 2/0/6
- Could not sync group address '2/0/6' (Temperatura Corridoio PT - Garage - Value)

However, everything works at 90%.
I only report a problem: sometimes I found climate entities preset_mode and target_temperature reset, but I enable telegram log to inspect how is responsible.

So HA is running on the same device as the now disabled Mqtt broker?

You can probably ignore that. Or see what device 1.2.7 is and try to find out why it broadcasts management telegrams.

See https://www.home-assistant.io/integrations/knx/#group-address-can-not-be-read

No, HA Core is running on a minipc on a LXC container while the disabled MQTT Broker were con IKON SERVER (KNX tunnelling device)

Ok, thank you, I think this are caused by ‘Unresponsive system’ because sometimes after those error the reading goes well, so I think that 2 seconds of timeout is too less for my environment.

Ah, sorry I mixed up your problem with the OPs. :upside_down_face:

I have a simliar problem, less crashing but related to sync state:

I used the older post with very much similiar issues to mine as a tread - kindly reply there.

Thanks
Martin