Fix media_player alexa power control bug (#23537)
parent
04bca7be6b
commit
55a7ea6cc5
|
@ -911,13 +911,17 @@ class _MediaPlayerCapabilities(_AlexaEntity):
|
|||
return [_DisplayCategory.TV]
|
||||
|
||||
def interfaces(self):
|
||||
yield _AlexaPowerController(self.entity)
|
||||
yield _AlexaEndpointHealth(self.hass, self.entity)
|
||||
|
||||
supported = self.entity.attributes.get(ATTR_SUPPORTED_FEATURES, 0)
|
||||
if supported & media_player.const.SUPPORT_VOLUME_SET:
|
||||
yield _AlexaSpeaker(self.entity)
|
||||
|
||||
power_features = (media_player.SUPPORT_TURN_ON |
|
||||
media_player.SUPPORT_TURN_OFF)
|
||||
if supported & power_features:
|
||||
yield _AlexaPowerController(self.entity)
|
||||
|
||||
step_volume_features = (media_player.const.SUPPORT_VOLUME_MUTE |
|
||||
media_player.const.SUPPORT_VOLUME_STEP)
|
||||
if supported & step_volume_features:
|
||||
|
|
|
@ -574,6 +574,32 @@ async def test_media_player(hass):
|
|||
payload={'volumeSteps': -20})
|
||||
|
||||
|
||||
async def test_media_player_power(hass):
|
||||
"""Test media player discovery with mapped on/off."""
|
||||
device = (
|
||||
'media_player.test',
|
||||
'off', {
|
||||
'friendly_name': "Test media player",
|
||||
'supported_features': 0xfa3f,
|
||||
'volume_level': 0.75
|
||||
}
|
||||
)
|
||||
appliance = await discovery_test(device, hass)
|
||||
|
||||
assert appliance['endpointId'] == 'media_player#test'
|
||||
assert appliance['displayCategories'][0] == "TV"
|
||||
assert appliance['friendlyName'] == "Test media player"
|
||||
|
||||
assert_endpoint_capabilities(
|
||||
appliance,
|
||||
'Alexa.InputController',
|
||||
'Alexa.Speaker',
|
||||
'Alexa.StepSpeaker',
|
||||
'Alexa.PlaybackController',
|
||||
'Alexa.EndpointHealth',
|
||||
)
|
||||
|
||||
|
||||
async def test_alert(hass):
|
||||
"""Test alert discovery."""
|
||||
device = ('alert.test', 'off', {'friendly_name': "Test alert"})
|
||||
|
|
Loading…
Reference in New Issue