From 3ec52433d8216fa3e30b9ed15ed3f114a0eb6042 Mon Sep 17 00:00:00 2001 From: lolodomo Date: Wed, 27 Jan 2021 03:39:13 +0100 Subject: [PATCH] [sonos] Add support for Sonos Move (#9962) * [sonos] Add support for Sonos Move Fix #9950 * README: updated list of supported Sonos models Signed-off-by: Laurent Garnier --- bundles/org.openhab.binding.sonos/README.md | 7 +- .../sonos/internal/SonosBindingConstants.java | 3 +- .../src/main/resources/OH-INF/thing/Move.xml | 67 +++++++++++++++++++ 3 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 bundles/org.openhab.binding.sonos/src/main/resources/OH-INF/thing/Move.xml diff --git a/bundles/org.openhab.binding.sonos/README.md b/bundles/org.openhab.binding.sonos/README.md index 91d83fdbd..081680c3d 100644 --- a/bundles/org.openhab.binding.sonos/README.md +++ b/bundles/org.openhab.binding.sonos/README.md @@ -10,9 +10,12 @@ This happens because of a TTL=1 for ALIVE packets send by Sonos devices, resulti ## Supported Things -All available Sonos (playback) devices are supported by this binding. This includes the One, OneSL, Play:1, Play:3, Play:5, Connect, Connect:Amp, Port, Amp, Playbar, Playbase, Beam and Sub. The Bridge and Boost are not supported, but these devices do only have an auxiliary role in the Sonos network and do not have any playback capability. All supported Sonos devices are registered as an audio sink in the framework. +All available Sonos (playback) devices are supported by this binding. +This includes the One, One SL, Move, Play:1, Play:3, Play:5, Connect, Connect:Amp, Port, Amp, SYMFONISK, Playbar, Playbase, Beam, Arc, Arc SL and Sub. +The Bridge and Boost are not supported, but these devices do only have an auxiliary role in the Sonos network and do not have any playback capability. +All supported Sonos devices are registered as an audio sink in the framework. -When being defined in a \*.things file, the specific thing types One, OneSL, PLAY1, PLAY3, PLAY5, PLAYBAR, PLAYBASE, Beam, CONNECT, CONNECTAMP, Port and Amp should be used. +When being defined in a \*.things file, the specific thing types One, OneSL, Move, PLAY1, PLAY3, PLAY5, SYMFONISK, PLAYBAR, PLAYBASE, Beam, Arc, ArcSL, CONNECT, CONNECTAMP, Port and Amp should be used. Please note that these thing types are case sensitive (you need to define them **exactly as stated above**). diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java index 08b0b7cf0..5cb4daafd 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java @@ -51,6 +51,7 @@ public class SonosBindingConstants { public static final ThingTypeUID SYMFONISK_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "SYMFONISK"); public static final ThingTypeUID ARC_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Arc"); public static final ThingTypeUID ARC_SL_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "ArcSL"); + public static final ThingTypeUID MOVE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Move"); public static final ThingTypeUID ZONEPLAYER_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "zoneplayer"); public static final Set WITH_LINEIN_THING_TYPES_UIDS = Stream.of(PLAY5_THING_TYPE_UID, @@ -68,7 +69,7 @@ public class SonosBindingConstants { .of(ONE_THING_TYPE_UID, ONE_SL_THING_TYPE_UID, PLAY1_THING_TYPE_UID, PLAY3_THING_TYPE_UID, PLAY5_THING_TYPE_UID, PLAYBAR_THING_TYPE_UID, PLAYBASE_THING_TYPE_UID, BEAM_THING_TYPE_UID, CONNECT_THING_TYPE_UID, CONNECTAMP_THING_TYPE_UID, PORT_THING_TYPE_UID, AMP_THING_TYPE_UID, - SYMFONISK_THING_TYPE_UID, ARC_THING_TYPE_UID, ARC_SL_THING_TYPE_UID) + SYMFONISK_THING_TYPE_UID, ARC_THING_TYPE_UID, ARC_SL_THING_TYPE_UID, MOVE_THING_TYPE_UID) .collect(Collectors.toSet()); public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>(SUPPORTED_KNOWN_THING_TYPES_UIDS); diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/OH-INF/thing/Move.xml b/bundles/org.openhab.binding.sonos/src/main/resources/OH-INF/thing/Move.xml new file mode 100644 index 000000000..e26a1c86c --- /dev/null +++ b/bundles/org.openhab.binding.sonos/src/main/resources/OH-INF/thing/Move.xml @@ -0,0 +1,67 @@ + + + + + + + Represents SONOS Move speaker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SONOS + Move + + + udn + + + +