B5r1oJ0A9G / teufel_raumfeld

Integration for Teufel smart speaker (aka Raumfeld Multiroom) into https://www.home-assistant.io/.
GNU General Public License v3.0
31 stars 7 forks source link

Release 0.1.2-alpha dependency to async-upnp-client breaks integration #7

Closed B5r1oJ0A9G closed 3 years ago

B5r1oJ0A9G commented 3 years ago

In release of 0.1.2a all UPnP calls are implemented by async-upnp-client and the previously used module upnpclient was removed. This change was dependent on some pull requests to async-upnp-client which have finally been released with version 0.15.0 of async-upnp-client. As there is a general version pinning in HA for a selection modules, including async-upnp-client, this requirement from teufel_raumfeld is currently prevented by HA to be met and finally leads to issues resp. error messages like the following ones:

2021-03-14 10:14:01 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up teufel_raumfeld platform for sensor
Traceback (most recent call last):
  File "/var/home/nobody/home-assistant/core/homeassistant/helpers/entity_platform.py", line 200, in _async_setup_platform
    await asyncio.shield(task)
  File "/var/home/nobody/home-assistant/core/config/custom_components/teufel_raumfeld/sensor.py", line 62, in async_setup_entry
    device_name = raumfeld.device_udn_to_name(renderer_udn)
  File "/var/home/nobody/home-assistant/core/venv/lib64/python3.9/site-packages/hassfeld/__init__.py", line 324, in device_udn_to_name
    device_name = self.resolve["devudn_to_name"][device_udn]
KeyError: None
2021-03-14 10:14:11 ERROR (MainThread) [homeassistant.helpers.entity] Update for media_player.room_kitchen fails
Traceback (most recent call last):
  File "/var/home/nobody//home-assistant/core/homeassistant/helpers/entity.py", line 277, in async_update_ha_state
    await self.async_device_update()
  File "/var/home/nobody//home-assistant/core/homeassistant/helpers/entity.py", line 473, in async_device_update
    raise exc
  File "/var/home/nobody//home-assistant/core/config/custom_components/teufel_raumfeld/media_player.py", line 627, in async_update
    await self.async_update_all()
  File "/var/home/nobody//home-assistant/core/config/custom_components/teufel_raumfeld/media_player.py", line 618, in async_update_all
    await self.async_update_transport_state()
  File "/var/home/nobody//home-assistant/core/config/custom_components/teufel_raumfeld/media_player.py", line 550, in async_update_transport_state
    transport_state = info["CurrentTransportState"]
TypeError: 'NoneType' object is not subscriptable

Currently identified work-arounds (In recommended order):