syssi / xiaomi_airconditioningcompanion

Xiaomi Mi and Aqara Air Conditioning Companion integration for Home Assistant
Apache License 2.0
398 stars 94 forks source link

Fix deprecations #170

Closed syssi closed 1 month ago

syssi commented 1 month ago

Thank you looking in to it

but there are new warnings

Logger: homeassistant.components.climate
Source: components/climate/__init__.py:370
integration: Climate (documentation, issues)
First occurred: 08:25:49 (3 occurrences)
Last logged: 08:25:49

Entity None (<class 'custom_components.xiaomi_miio_airconditioningcompanion.climate.XiaomiAirConditioningCompanion'>) does not set ClimateEntityFeature.TURN_OFF but implements the turn_off method. Please create a bug report at https://github.com/syssi/xiaomi_airconditioningcompanion/issues
Entity None (<class 'custom_components.xiaomi_miio_airconditioningcompanion.climate.XiaomiAirConditioningCompanion'>) does not set ClimateEntityFeature.TURN_ON but implements the turn_on method. Please create a bug report at https://github.com/syssi/xiaomi_airconditioningcompanion/issues
Entity None (<class 'custom_components.xiaomi_miio_airconditioningcompanion.climate.XiaomiAirConditioningCompanion'>) implements HVACMode(s): heat, cool, auto, dry, fan_only, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/syssi/xiaomi_airconditioningcompanion/issues
Logger: homeassistant.helpers.frame
Source: helpers/frame.py:184
First occurred: 08:25:49 (3 occurrences)
Last logged: 08:25:51

Detected that custom integration 'xiaomi_miio_airconditioningcompanion' calls `async_track_state_change` instead of `async_track_state_change_event` which is deprecated and will be removed in Home Assistant 2025.5 at custom_components/xiaomi_miio_airconditioningcompanion/climate.py, line 258: async_track_state_change(hass, sensor_entity_id, self._async_sensor_changed), please create a bug report at https://github.com/syssi/xiaomi_airconditioningcompanion/issues
Detected that custom integration 'xiaomi_miio_airconditioningcompanion' calls `async_add_job`, which is deprecated and will be removed in Home Assistant 2025.4; Please review https://developers.home-assistant.io/blog/2024/03/13/deprecate_add_run_job for replacement options at custom_components/xiaomi_miio_airconditioningcompanion/climate.py, line 347: state = await self.hass.async_add_job(self._device.status), please create a bug report at https://github.com/syssi/xiaomi_airconditioningcompanion/issues
 Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 08:25:49 (2 occurrences)
Last logged: 08:25:50

Detected blocking call to listdir with args ('/config/deps/lib/python3.12/site-packages',) inside the event loop by custom integration 'xiaomi_miio_airconditioningcompanion' at custom_components/xiaomi_miio_airconditioningcompanion/climate.py, line 129: from miio import AirConditioningCompanion, DeviceException (offender: /usr/local/lib/python3.12/importlib/metadata/__init__.py, line 680: return os.listdir(self.root or '.')), please create a bug report at https://github.com/syssi/xiaomi_airconditioningcompanion/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#listdir 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 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 416, in _async_setup_component result = await task File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 155, in async_setup await component.async_setup(config) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 148, in async_setup self.hass.async_create_task_internal( File "/usr/src/homeassistant/homeassistant/core.py", line 830, in async_create_task_internal task = create_eager_task(target, name=name, loop=self.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 "/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_eager_task(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/xiaomi_miio_airconditioningcompanion/climate.py", line 129, in async_setup_platform from miio import AirConditioningCompanion, DeviceException 

_Originally posted by @NLfrans in https://github.com/syssi/xiaomi_airconditioningcompanion/issues/165#issuecomment-2279712649_

NLfrans commented 1 month ago

@syssi after installing de Develop (928ca92) version

Logger: homeassistant.helpers.frame
Source: helpers/frame.py:184
First occurred: 20:20:22 (1 occurrences)
Last logged: 20:20:22

Detected that custom integration 'xiaomi_miio_airconditioningcompanion' calls `async_add_job`, which is deprecated and will be removed in Home Assistant 2025.4; Please review https://developers.home-assistant.io/blog/2024/03/13/deprecate_add_run_job for replacement options at custom_components/xiaomi_miio_airconditioningcompanion/climate.py, line 316: result = await self.hass.async_add_job(partial(func, *args, **kwargs)), please create a bug report at https://github.com/syssi/xiaomi_airconditioningcompanion/issues
syssi commented 1 month ago

I've pushed some more fixes and prepared a new release. Please give it another try! :-)

NLfrans commented 1 month ago
Logger: homeassistant.helpers.frame
Source: helpers/frame.py:184
First occurred: 19:22:03 (1 occurrences)
Last logged: 19:22:03

Detected that custom integration 'xiaomi_miio_airconditioningcompanion' calls `async_add_job`, which is deprecated and will be removed in Home Assistant 2025.4; Please review https://developers.home-assistant.io/blog/2024/03/13/deprecate_add_run_job for replacement options at custom_components/xiaomi_miio_airconditioningcompanion/climate.py, line 318: result = await self.hass.async_add_job(partial(func, *args, **kwargs)), please create a bug report at https://github.com/syssi/xiaomi_airconditioningcompanion/issues
syssi commented 1 month ago

grmbl 2024.8.1.1 fixes the last occurrence of async_add_job.

NLfrans commented 1 month ago

high five it's warning free