bosch-thermostat / home-assistant-bosch-custom-component

HA custom component for Bosch thermostats
Apache License 2.0
205 stars 43 forks source link

HA 2024.6.0: multiple warnings #420

Open haaino opened 3 weeks ago

haaino commented 3 weeks ago

HA 2024.6.0

Bosch component 0.25.1

Getting the following warnings:


Logger: homeassistant.util.loop
Source: util/loop.py:84
First occurred: 12:48:37 (5 occurrences)
Last logged: 12:48:52

Detected blocking call to open inside the event loop by custom integration 'bosch' at custom_components/bosch/__init__.py, line 299: await self.gateway.check_connection() (offender: /usr/local/lib/python3.12/site-packages/bosch_thermostat_client/db/__init__.py, line 35: with open(file, "r") as db_file:), please create a bug report at https://github.com/bosch-thermostat/home-assistant-bosch-custom-component/issues 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 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, 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 447, in _async_setup_component await asyncio.gather( File "/usr/src/homeassistant/homeassistant/setup.py", line 449, in <genexpr> create_eager_task( File "/usr/src/homeassistant/homeassistant/util/async_.py", line 37, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 742, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/bosch/__init__.py", line 148, in async_setup_entry _init_status: bool = await gateway_entry.async_init() File "/config/custom_components/bosch/__init__.py", line 245, in async_init if await self.async_init_bosch(): File "/config/custom_components/bosch/__init__.py", line 299, in async_init_bosch await self.gateway.check_connection()

\

Detected blocking call to open inside the event loop by custom integration 'bosch' at custom_components/bosch/__init__.py, line 299: await self.gateway.check_connection() (offender: /usr/local/lib/python3.12/site-packages/bosch_thermostat_client/db/__init__.py, line 35: with open(file, "r") as db_file:), please create a bug report at https://github.com/bosch-thermostat/home-assistant-bosch-custom-component/issues 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 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, 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/config_entries.py", line 742, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/bosch/__init__.py", line 148, in async_setup_entry _init_status: bool = await gateway_entry.async_init() File "/config/custom_components/bosch/__init__.py", line 245, in async_init if await self.async_init_bosch(): File "/config/custom_components/bosch/__init__.py", line 299, in async_init_bosch await self.gateway.check_connection()
Detected blocking call to open inside the event loop by custom integration 'bosch' at custom_components/bosch/__init__.py, line 325: supported_bosch = await self.gateway.get_capabilities() (offender: /usr/local/lib/python3.12/site-packages/bosch_thermostat_client/db/__init__.py, line 35: with open(file, "r") as db_file:), please create a bug report at https://github.com/bosch-thermostat/home-assistant-bosch-custom-component/issues 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 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, 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/config_entries.py", line 742, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/bosch/__init__.py", line 148, in async_setup_entry _init_status: bool = await gateway_entry.async_init() File "/config/custom_components/bosch/__init__.py", line 245, in async_init if await self.async_init_bosch(): File "/config/custom_components/bosch/__init__.py", line 325, in async_init_bosch supported_bosch = await self.gateway.get_capabilities()
slovdahl commented 1 week ago

I started looking into this in #425 and https://github.com/bosch-thermostat/bosch-thermostat-client-python/pull/43, feel free to try it out if you want to. I barely know what I'm doing.. 😁

haaino commented 1 week ago

That gives a lot of hope πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‰πŸ˜‰πŸ˜‰

I'm not that technical, so how can I try?

slovdahl commented 1 week ago

I think you need to know a bit about Python and Home Assistant internals to test it right now. Basically, you need to find both the files from the bosch-thermostat-client Python library and from the custom integration, and apply the changes to them, and restart Home Assistant after that. There's also a small risk that you need other changes that have been made to the custom integration since the last release.

If/when the changes are merged you can manually install the latest development version via HACS in your Home Assistant.

haaino commented 1 week ago

Perhaps it will be better to just wait until the next release πŸ˜‰