Add crossfade control support to Sonos (#53228)

pull/53516/head
jjlawren 2021-07-26 14:58:13 -05:00 committed by GitHub
parent aee48dbcb3
commit 88cffc86bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 0 deletions

View File

@ -120,6 +120,7 @@ ATTR_INCLUDE_LINKED_ZONES = "include_linked_zones"
ATTR_MASTER = "master"
ATTR_WITH_GROUP = "with_group"
ATTR_BUTTONS_ENABLED = "buttons_enabled"
ATTR_CROSSFADE = "crossfade"
ATTR_NIGHT_SOUND = "night_sound"
ATTR_SPEECH_ENHANCE = "speech_enhance"
ATTR_QUEUE_POSITION = "queue_position"
@ -231,6 +232,7 @@ async def async_setup_entry(
SERVICE_SET_OPTION,
{
vol.Optional(ATTR_BUTTONS_ENABLED): cv.boolean,
vol.Optional(ATTR_CROSSFADE): cv.boolean,
vol.Optional(ATTR_NIGHT_SOUND): cv.boolean,
vol.Optional(ATTR_SPEECH_ENHANCE): cv.boolean,
vol.Optional(ATTR_STATUS_LIGHT): cv.boolean,
@ -609,6 +611,7 @@ class SonosMediaPlayerEntity(SonosEntity, MediaPlayerEntity):
def set_option(
self,
buttons_enabled: bool | None = None,
crossfade: bool | None = None,
night_sound: bool | None = None,
speech_enhance: bool | None = None,
status_light: bool | None = None,
@ -617,6 +620,9 @@ class SonosMediaPlayerEntity(SonosEntity, MediaPlayerEntity):
if buttons_enabled is not None:
self.soco.buttons_enabled = buttons_enabled
if crossfade is not None:
self.soco.cross_fade = crossfade
if night_sound is not None and self.speaker.night_mode is not None:
self.soco.night_mode = night_sound

View File

@ -100,6 +100,12 @@ set_option:
example: "true"
selector:
boolean:
crossfade:
name: Crossfade
description: Enable crossfade on the device
example: "true"
selector:
boolean:
night_sound:
name: Night sound
description: Enable Night Sound mode