Danielhiversen / home_assistant_tibber_custom

Display Tibber prices and energy consumption as a graph. Tibber is available in Germany, Norway and Sweden Tibber has helped tens of thousands of new customers each month in Sweden, Norway & Germany to lower their energy bill and consumption. Tibber is using digital technology to make electricity consumption smarter. If you use this link to signup for Tibber, you get 50 euro to buy smart home products in the Tibber store: https://invite.tibber.com/6fd7a447
Apache License 2.0
80 stars 17 forks source link

Detected blocking call to import_module inside the event loop by custom integration 'tibber_custom #57

Open LEJOUI opened 5 months ago

LEJOUI commented 5 months ago

Warning shown in logbook:

Detected blocking call to import_module inside the event loop by custom integration 'tibber_custom' at custom_components/tibber_custom/camera.py, line 32: matplotlib.use("Agg") (offender: /usr/local/lib/python3.12/site-packages/matplotlib/backends/registry.py, line 316: return importlib.import_module(module_name)), please create a bug report at https://github.com/Danielhiversen/home_assistant_tibber_custom/issues

RedDaveNY commented 3 months ago

Same problem here

Detected blocking call to import_module with args ('matplotlib.backends.backend_agg',) inside the event loop by custom integration 'tibber_custom' at custom_components/tibber_custom/camera.py, line 32: matplotlib.use("Agg") (offender: /usr/local/lib/python3.12/site-packages/matplotlib/backends/registry.py, line 323: return importlib.import_module(module_name)), please create a bug report at https://github.com/Danielhiversen/home_assistant_tibber_custom/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#import_module Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in 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 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/helpers/entity_component.py", line 164, in _async_component_platform_discovered await self.async_setup_platform(platform, {}, info) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 318, in async_setup_platform await self._platforms[key].async_setup(platform_config, discovery_info) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 301, in async_setup await self._async_setup_platform(async_create_setup_awaitable) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 361, in _async_setup_platform awaitable = create_eagertask(awaitable, loop=hass.loop) 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 "/config/custom_components/tibber_custom/camera.py", line 26, in async_setup_platform dev.append(TibberCam(home, hass)) File "/config/custom_components/tibber_custom/camera.py", line 32, in init matplotlib.use("Agg")

And also: Detected blocking call to open with args ('/usr/share/zoneinfo/UTC', 'rb') inside the event loop by custom integration 'tibber_custom' at custom_components/tibber_custom/camera.py, line 151: fig.autofmt_xdate() (offender: /usr/local/lib/python3.12/site-packages/dateutil/tz/tz.py, line 464: fileobj = open(fileobj, 'rb')), please create a bug report at https://github.com/Danielhiversen/home_assistant_tibber_custom/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in 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 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/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle resp = await handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, 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 83, 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 85, 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 32, 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/camera/init.py", line 813, in get return await self.handle(request, camera) File "/usr/src/homeassistant/homeassistant/components/camera/init.py", line 831, in handle image = await _async_get_image( File "/usr/src/homeassistant/homeassistant/components/camera/init.py", line 185, in _async_get_image else await camera.async_camera_image(width=width, height=height) File "/config/custom_components/tibber_custom/camera.py", line 49, in async_camera_image await self._generate_fig(width or DEFAULT_WIDTH, height or DEFAULT_HEIGHT) File "/config/custom_components/tibber_custom/camera.py", line 151, in _generate_fig fig.autofmt_xdate()

jove01 commented 2 months ago

same here

typxxi commented 2 months ago

what had you done regarding the matplotlib missing issue ?