mirror of
https://github.com/home-assistant/core.git
synced 2025-07-13 08:17:08 +00:00
Fix KEF LSX becoming unavailable (#41700)
* Do not use asyncio.gather because the speaker only allows one concurrent connection * bump to aiokef=0.2.16
This commit is contained in:
parent
db4b4745dc
commit
8db88192a8
@ -3,5 +3,5 @@
|
|||||||
"name": "KEF",
|
"name": "KEF",
|
||||||
"documentation": "https://www.home-assistant.io/integrations/kef",
|
"documentation": "https://www.home-assistant.io/integrations/kef",
|
||||||
"codeowners": ["@basnijholt"],
|
"codeowners": ["@basnijholt"],
|
||||||
"requirements": ["aiokef==0.2.13", "getmac==0.8.2"]
|
"requirements": ["aiokef==0.2.16", "getmac==0.8.2"]
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
"""Platform for the KEF Wireless Speakers."""
|
"""Platform for the KEF Wireless Speakers."""
|
||||||
|
|
||||||
import asyncio
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from functools import partial
|
from functools import partial
|
||||||
import ipaddress
|
import ipaddress
|
||||||
@ -164,7 +163,11 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
|
|||||||
dtype = type(options[0]) # int or float
|
dtype = type(options[0]) # int or float
|
||||||
platform.async_register_entity_service(
|
platform.async_register_entity_service(
|
||||||
name,
|
name,
|
||||||
{vol.Required(option): vol.All(vol.Coerce(dtype), vol.In(options))},
|
{
|
||||||
|
vol.Required(option): vol.All(
|
||||||
|
vol.Coerce(float), vol.Coerce(dtype), vol.In(options)
|
||||||
|
)
|
||||||
|
},
|
||||||
f"set_{which}",
|
f"set_{which}",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -365,17 +368,16 @@ class KefMediaPlayer(MediaPlayerEntity):
|
|||||||
# The LSX is able to respond when off the LS50 has to be on.
|
# The LSX is able to respond when off the LS50 has to be on.
|
||||||
return
|
return
|
||||||
|
|
||||||
(mode, *rest) = await asyncio.gather(
|
mode = await self._speaker.get_mode()
|
||||||
self._speaker.get_mode(),
|
self._dsp = dict(
|
||||||
self._speaker.get_desk_db(),
|
desk_db=await self._speaker.get_desk_db(),
|
||||||
self._speaker.get_wall_db(),
|
wall_db=await self._speaker.get_wall_db(),
|
||||||
self._speaker.get_treble_db(),
|
treble_db=await self._speaker.get_treble_db(),
|
||||||
self._speaker.get_high_hz(),
|
high_hz=await self._speaker.get_high_hz(),
|
||||||
self._speaker.get_low_hz(),
|
low_hz=await self._speaker.get_low_hz(),
|
||||||
self._speaker.get_sub_db(),
|
sub_db=await self._speaker.get_sub_db(),
|
||||||
|
**mode._asdict(),
|
||||||
)
|
)
|
||||||
keys = ["desk_db", "wall_db", "treble_db", "high_hz", "low_hz", "sub_db"]
|
|
||||||
self._dsp = dict(zip(keys, rest), **mode._asdict())
|
|
||||||
|
|
||||||
async def async_added_to_hass(self):
|
async def async_added_to_hass(self):
|
||||||
"""Subscribe to DSP updates."""
|
"""Subscribe to DSP updates."""
|
||||||
|
@ -197,7 +197,7 @@ aioimaplib==0.7.15
|
|||||||
aiokafka==0.6.0
|
aiokafka==0.6.0
|
||||||
|
|
||||||
# homeassistant.components.kef
|
# homeassistant.components.kef
|
||||||
aiokef==0.2.13
|
aiokef==0.2.16
|
||||||
|
|
||||||
# homeassistant.components.lifx
|
# homeassistant.components.lifx
|
||||||
aiolifx==0.6.7
|
aiolifx==0.6.7
|
||||||
|
Loading…
x
Reference in New Issue
Block a user