bdraco / aiosenseme

SenseME by Big Ass Fans asynchronous Python library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python 3.11 compatibility issue?

Nick-Adams-AU opened this issue · comments

Hey,

I just upgraded to HA 2023.6.0 and it has bumped the Python version to 3.11. I'm now getting the below error. Could this be a compatibility issue with Py3.11?

Logger: homeassistant.config_entries
Source: components/senseme/__init__.py:18
First occurred: 7:42:10 PM (8 occurrences)
Last logged: 7:43:40 PM

    Error setting up entry Guest for senseme
    Error setting up entry Outdoor 1 for senseme
    Error setting up entry Cabana for senseme
    Error setting up entry Master bedroom for senseme
    Error setting up entry Bed 2 for senseme

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/senseme/__init__.py", line 18, in async_setup_entry
    status, device = await async_get_device_by_device_info(
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiosenseme/discovery.py", line 575, in async_get_device_by_device_info
    if await device.async_update(timeout_seconds=timeout_seconds):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiosenseme/device.py", line 686, in async_update
    await asyncio.wait(
  File "/usr/local/lib/python3.11/asyncio/tasks.py", line 415, in wait
    raise TypeError("Passing coroutines is forbidden, use tasks explicitly.")
TypeError: Passing coroutines is forbidden, use tasks explicitly.

I'm surprised anyone is still using this.

Can you update the firmware to the BAF firmware and use https://github.com/jfroy/aiobafi6 instead ?

Assuming you are using it with HA
https://www.home-assistant.io/integrations/baf/

That's correct - I'm using HA.

Unfortunately, I'm not in a position to update the firmware because it breaks integrations with other platforms (non-HA) I use. As you know, the new firmware behaves very differently to the old.

This library needs to be updated to python 3.11

I'm happy to take a PR to do that, but I don't have any fans using the old firmware so I can't develop/test it anymore

I'm surprised anyone is still using this.

51 people according to HA Analytics :)

This library needs to be updated to python 3.11

I bit the bullet and upgraded all my fans to the new firmware and HA integration. The other platform that relied on the old firmware will be integrated with HA for a roundabout solution to my problem.

This integration is basically broken for HA now. It might be worth marking it as deprecated and removing it?

This library needs to be updated to python 3.11

I'm happy to take a PR to do that, but I don't have any fans using the old firmware so I can't develop/test it anymore

I have an earlier-generation fan that can only use this integration. I would be happy to help with testing.