Suddenly Appdaemon has connection problems

I see a constant stream of messages like this in my AppDaemon logs for a few days now:

Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/appdaemon/utils.py", line 483, in wrapper
    result = await func(self, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/appdaemon/plugins/hass/hassplugin.py", line 369, in websocket_send_json
    await self.ws.send_json(request)
  File "/usr/lib/python3.12/site-packages/aiohttp/client_ws.py", line 261, in send_json
    await self.send_str(dumps(data), compress=compress)
  File "/usr/lib/python3.12/site-packages/aiohttp/client_ws.py", line 245, in send_str
    await self._writer.send_frame(
  File "/usr/lib/python3.12/site-packages/aiohttp/_websocket/writer.py", line 73, in send_frame
    raise ClientConnectionResetError("Cannot write to closing transport")
aiohttp.client_exceptions.ClientConnectionResetError: Cannot write to closing transport
2025-07-28 08:34:32.796305 WARNING HASS: ------------------------------------------------------------
2025-07-28 08:34:32.797231 WARNING HASS: Previous message repeated 1 times
2025-07-28 08:34:32.797438 WARNING HASS: ------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/appdaemon/utils.py", line 483, in wrapper
    result = await func(self, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/appdaemon/plugins/hass/hassplugin.py", line 369, in websocket_send_json
    await self.ws.send_json(request)
  File "/usr/lib/python3.12/site-packages/aiohttp/client_ws.py", line 261, in send_json
    await self.send_str(dumps(data), compress=compress)
  File "/usr/lib/python3.12/site-packages/aiohttp/client_ws.py", line 245, in send_str
    await self._writer.send_frame(
  File "/usr/lib/python3.12/site-packages/aiohttp/_websocket/writer.py", line 73, in send_frame
    raise ClientConnectionResetError("Cannot write to closing transport")
aiohttp.client_exceptions.ClientConnectionResetError: Cannot write to closing transport
2025-07-28 08:34:32.797653 WARNING HASS: ------------------------------------------------------------
2025-07-28 08:34:32.798770 WARNING HASS: Previous message repeated 1 times
2025-07-28 08:34:32.799145 WARNING HASS: ------------------------------------------------------------

I did not touch AppDaemon or its configuration.
All I did, was update HA to 2025.7.3 but the problems did not occur right after that.
Restarting AppDaemon, HA oder the whole host HA runs on does not change the situation and I’m fairly clueless, what the source of the problem might even be.

(As a result my 3 NSPanel devices are currently not displaying anything.)

I run HAOS and AppDaemon inside it. So it’s all local talking.

Can anyone push me in the right direction?

Addendum:

On the HA side I see this:

Logger: aiohttp.server
Quelle: /usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py:481
Erstmals aufgetreten: 08:20:13 (1 Vorkommnis)
Zuletzt protokolliert: 08:20:13

Error handling request from 127.0.0.1
Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 534, in _make_request
    response = conn.getresponse()
  File "/usr/local/lib/python3.13/site-packages/urllib3/connection.py", line 565, in getresponse
    httplib_response = super().getresponse()
  File "/usr/local/lib/python3.13/http/client.py", line 1430, in getresponse
    response.begin()
    ~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/http/client.py", line 331, in begin
    version, status, reason = self._read_status()
                              ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/http/client.py", line 300, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
                             " response")
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 841, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/local/lib/python3.13/site-packages/urllib3/util/retry.py", line 474, in increment
    raise reraise(type(error), error, _stacktrace)
          ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/urllib3/util/util.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 534, in _make_request
    response = conn.getresponse()
  File "/usr/local/lib/python3.13/site-packages/urllib3/connection.py", line 565, in getresponse
    httplib_response = super().getresponse()
  File "/usr/local/lib/python3.13/http/client.py", line 1430, in getresponse
    response.begin()
    ~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/http/client.py", line 331, in begin
    version, status, reason = self._read_status()
                              ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/http/client.py", line 300, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
                             " response")
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 510, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 77, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 41, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/calendar/__init__.py", line 678, in get
    calendar_event_list = await entity.async_get_events(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
    )
    ^
  File "/usr/src/homeassistant/homeassistant/components/caldav/calendar.py", line 204, in async_get_events
    return await self.coordinator.async_get_events(hass, start_date, end_date)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/caldav/coordinator.py", line 60, in async_get_events
    vevent_list = await hass.async_add_executor_job(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.13/site-packages/caldav/collection.py", line 870, in search
    (response, objects) = self._request_report_build_resultlist(
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        xml, comp_class, props=props
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/caldav/collection.py", line 737, in _request_report_build_resultlist
    response = self._query(xml, 1, "report")
  File "/usr/local/lib/python3.13/site-packages/caldav/davobject.py", line 208, in _query
    ret = getattr(self.client, query_method)(url, body, depth)
  File "/usr/local/lib/python3.13/site-packages/caldav/davclient.py", line 604, in report
    return self.request(
           ~~~~~~~~~~~~^
        url,
        ^^^^
    ...<2 lines>...
        {"Depth": str(depth), "Content-Type": 'application/xml; charset="utf-8"'},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/caldav/davclient.py", line 709, in request
    r = self.session.request(
        method,
    ...<7 lines>...
        cert=self.ssl_cert,
    )
  File "/usr/local/lib/python3.13/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.13/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.13/site-packages/requests/adapters.py", line 682, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))