ollo69 / ha-smartthinq-sensors

HomeAssistant custom integration for SmartThinQ LG devices configurable with Lovelace User Interface.
Apache License 2.0
1.12k stars 157 forks source link

Warning load_default_certs in HA 2024.9 #790

Open arpitgupta opened 1 week ago

arpitgupta commented 1 week ago

Describe the bug

noticed the following warning during startup Home Assistant with 2024.9

-------------------------------------------------------------------
smartthinq_sensors
Version: 0.39.2
This is a custom component
If you have any issues with this you need to open an issue here:
https://github.com/ollo69/ha-smartthinq-sensors/issues
-------------------------------------------------------------------

2024-09-04 18:51:09.826 INFO (MainThread) [custom_components.smartthinq_sensors] Initializing ThinQ platform with region: US - language: en-US

2024-09-04 18:51:10.098 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to load_default_certs with args (<ssl.SSLContext object at 0x7f02d90b2650>, <Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='1.3.6.1.5.5.7.3.1')>) inside the event loop by custom integration 'smartthinq_sensors' at custom_components/smartthinq_sensors/wideq/core_async.py, line 149: context = ssl.create_default_context() (offender: /usr/local/lib/python3.12/ssl.py, line 713: context.load_default_certs(purpose)), please create a bug report at https://github.com/ollo69/ha-smartthinq-sensors/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_default_certs
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
    handle._run()
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in _async_setup_component
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in <genexpr>
    create_eager_task(
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked
    await self.async_setup(hass, integration=integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/smartthinq_sensors/__init__.py", line 269, in async_setup_entry
    client = await lge_auth.create_client_from_token(
  File "/config/custom_components/smartthinq_sensors/__init__.py", line 153, in create_client_from_token
    return await ClientAsync.from_token(
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 1597, in from_token
    gateway = await Gateway.discover(core)
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 750, in discover
    gw_info = await core.gateway_info()
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 456, in gateway_info
    result = await self.thinq2_get(V2_GATEWAY_URL)
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 338, in thinq2_get
    async with self._get_session().get(
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 223, in _get_session
    self._session = lg_client_session()
  File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 149, in lg_client_session
    context = ssl.create_default_context()
Samillion commented 1 week ago

Same thing in my logs as well since HA update to 2024.9 (HACS 2.0.1).

Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 12:58:38 PM (1 occurrences)
Last logged: 12:58:38 PM

Detected blocking call to load_default_certs with args (<ssl.SSLContext object at 0x7f5a420dd0>, <Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='1.3.6.1.5.5.7.3.1')>) inside the event loop by custom integration 'smartthinq_sensors' at custom_components/smartthinq_sensors/wideq/core_async.py, line 149: context = ssl.create_default_context() (offender: /usr/local/lib/python3.12/ssl.py, line 713: context.load_default_certs(purpose)), please create a bug report at https://github.com/ollo69/ha-smartthinq-sensors/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_default_certs Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component result = await _async_setup_component(hass, domain, config) File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in _async_setup_component await asyncio.gather( File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in <genexpr> create_eager_task( File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/smartthinq_sensors/__init__.py", line 269, in async_setup_entry client = await lge_auth.create_client_from_token( File "/config/custom_components/smartthinq_sensors/__init__.py", line 153, in create_client_from_token return await ClientAsync.from_token( File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 1597, in from_token gateway = await Gateway.discover(core) File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 750, in discover gw_info = await core.gateway_info() File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 456, in gateway_info result = await self.thinq2_get(V2_GATEWAY_URL) File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 338, in thinq2_get async with self._get_session().get( File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 223, in _get_session self._session = lg_client_session() File "/config/custom_components/smartthinq_sensors/wideq/core_async.py", line 149, in lg_client_session context = ssl.create_default_context()

Edit/Update: Not sure if this is related, but this warning also shows up:

2024-09-05 12:58:42.129 WARNING (MainThread) [homeassistant.helpers.frame] 
Detected that custom integration 'smartthinq_sensors' registers an entity service with a non entity service schema which will stop working in HA Core 2025.9 at custom_components/smartthinq_sensors/humidifier.py, line 67: platform.async_register_entity_service