core: Fritz!Box SmartHome Lights are no longer working after update to Home Assistant Core 2023.12

The problem

After I updated to Home Assistant Core 2023.12 the light devices from my Fritz!Box SmartHome integration are no longer available in Home Assistant. They are still available in the Fritz!Box UI.

The Fritz!Box SmartHome integration generates error messages in the log on startup (see below).

What version of Home Assistant Core has the issue?

core-2023.12.0

What was the last working version of Home Assistant Core?

core-2023.11.3

What type of installation are you running?

Home Assistant OS

Integration causing the issue

AVM Fritz!SmartHome

Link to integration documentation on our website

https://www.home-assistant.io/integrations/fritzbox

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

2023-12-06 22:50:55.507 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call to putrequest inside the event loop by integration 'fritzbox' at homeassistant/components/fritzbox/light.py, line 41: device.get_colors(),, please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+fritzbox%22
2023-12-06 22:50:55.526 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 497, in async_add_entities
    tasks = [
            ^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 497, in <listcomp>
    tasks = [
            ^
  File "/usr/src/homeassistant/homeassistant/components/fritzbox/light.py", line 41, in <genexpr>
    device.get_colors(),
    ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyfritzhome/devicetypes/fritzhomedevicelightbulb.py", line 136, in get_colors
    return self._fritz.get_colors(self.ain)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyfritzhome/fritzhome.py", line 288, in get_colors
    colordefaults = self._get_colordefaults(ain)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyfritzhome/fritzhome.py", line 283, in _get_colordefaults
    plain = self._aha_request("getcolordefaults", ain=ain)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyfritzhome/fritzhome.py", line 85, in _aha_request
    plain = self._request(url, params)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyfritzhome/fritzhome.py", line 39, in _request
    rsp = self._session.get(
          ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 602, in get
    return self.request("GET", url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 486, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 416, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 244, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/local/lib/python3.11/http/client.py", line 1286, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.11/http/client.py", line 1297, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 219, in putrequest
    return _HTTPConnection.putrequest(self, method, url, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 168, in protected_loop_func
    check_loop(func, strict=strict)
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 155, in check_loop
    raise RuntimeError(
RuntimeError: Blocking calls must be done in the executor or a separate thread; Use `await hass.async_add_executor_job()`; at homeassistant/components/fritzbox/light.py, line 41: device.get_colors(),
2023-12-06 22:51:08.399 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform fritz is taking over 10 seconds.


### Additional information

_No response_

About this issue

  • Original URL
  • State: closed
  • Created 7 months ago
  • Reactions: 4
  • Comments: 16 (5 by maintainers)

Most upvoted comments

Hi @ckadluba I can’t see any problem in the logs and you say its working for you now, so I will close this issue. Please let me know if the problem returns 👍

Same issue here. Logger: homeassistant.util.async_ Source: util/async_.py:140 First occurred: 7. Dezember 2023 um 11:38:17 (1 occurrences) Last logged: 7. Dezember 2023 um 11:38:17

Detected blocking call to putrequest inside the event loop by integration ‘fritzbox’ at homeassistant/components/fritzbox/light.py, line 41: device.get_colors(), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A"integration%3A+fritzbox"