diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/PioneerAvrBindingConstants.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/PioneerAvrBindingConstants.java index e8cf9d5654cef..9e20613e67ebd 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/PioneerAvrBindingConstants.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/PioneerAvrBindingConstants.java @@ -46,7 +46,24 @@ public class PioneerAvrBindingConstants { .collect(Collectors.toSet())); public static final Set SUPPORTED_DEVICE_MODELS2016 = Collections.unmodifiableSet( - Stream.of("SC-99", "SC-LX89", "SC-97", "SC-LX79", "SC-95", "SC-LX59", "SC-92", "SC-91", "VSX-90", "VSX-45", "VSX-830") + Stream.of("SC-99", "SC-LX89", "SC-97", "SC-LX79", "SC-95", "SC-LX59", "SC-92", "SC-91", "VSX-90", "VSX-45", + "VSX-830", "VSX-930", "VSX-1130") + .collect(Collectors.toSet())); + + public static final Set SUPPORTED_DEVICE_MODELS2017 = Collections.unmodifiableSet( + Stream.of("VSX-531", "VSX-531D", "VSX-831", "VSX-1131", "VSX-LX101", "VSX-LX301", "VSX-LX501") + .collect(Collectors.toSet())); + + public static final Set SUPPORTED_DEVICE_MODELS2018 = Collections.unmodifiableSet( + Stream.of("VSX-532", "VSX-832", "VSX-932", "VSX-LX102", "VSX-LX302", "VSX-LX502") + .collect(Collectors.toSet())); + + public static final Set SUPPORTED_DEVICE_MODELS2019 = Collections.unmodifiableSet( + Stream.of("VSX-833", "VSX-933", "VSX-LX103", "VSX-LX303", "VSX-LX503") + .collect(Collectors.toSet())); + + public static final Set SUPPORTED_DEVICE_MODELS2020 = Collections.unmodifiableSet( + Stream.of("VSX-534", "VSX-534D", "VSX-934", "VSX-LX104", "VSX-LX304", "VSX-LX504") .collect(Collectors.toSet())); // List of all Thing Type UIDs @@ -54,6 +71,10 @@ public class PioneerAvrBindingConstants { public static final ThingTypeUID IP_AVR_THING_TYPE2014 = new ThingTypeUID(BINDING_ID, "ipAvr2014"); public static final ThingTypeUID IP_AVR_THING_TYPE2015 = new ThingTypeUID(BINDING_ID, "ipAvr2015"); public static final ThingTypeUID IP_AVR_THING_TYPE2016 = new ThingTypeUID(BINDING_ID, "ipAvr2016"); + public static final ThingTypeUID IP_AVR_THING_TYPE2017 = new ThingTypeUID(BINDING_ID, "ipAvr2017"); + public static final ThingTypeUID IP_AVR_THING_TYPE2018 = new ThingTypeUID(BINDING_ID, "ipAvr2018"); + public static final ThingTypeUID IP_AVR_THING_TYPE2019 = new ThingTypeUID(BINDING_ID, "ipAvr2019"); + public static final ThingTypeUID IP_AVR_THING_TYPE2020 = new ThingTypeUID(BINDING_ID, "ipAvr2020"); public static final ThingTypeUID IP_AVR_UNSUPPORTED_THING_TYPE = new ThingTypeUID(BINDING_ID, "ipAvrUnsupported"); public static final ThingTypeUID SERIAL_AVR_THING_TYPE = new ThingTypeUID(BINDING_ID, "serialAvr"); @@ -84,6 +105,7 @@ public class PioneerAvrBindingConstants { public static final String UPNP_DEVICE_TYPE = "MediaRenderer"; public static final Set SUPPORTED_THING_TYPES_UIDS = Stream.of(IP_AVR_THING_TYPE, + IP_AVR_THING_TYPE2020, IP_AVR_THING_TYPE2019, IP_AVR_THING_TYPE2018, IP_AVR_THING_TYPE2017, IP_AVR_THING_TYPE2016, IP_AVR_THING_TYPE2015, IP_AVR_THING_TYPE2014, IP_AVR_UNSUPPORTED_THING_TYPE) .collect(Collectors.toSet()); diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/discovery/PioneerAvrDiscoveryParticipant.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/discovery/PioneerAvrDiscoveryParticipant.java index d519478db2f1c..2065aa15a36d2 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/discovery/PioneerAvrDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/discovery/PioneerAvrDiscoveryParticipant.java @@ -109,7 +109,19 @@ public ThingUID getThingUID(RemoteDevice device) { ThingTypeUID thingTypeUID = PioneerAvrBindingConstants.IP_AVR_THING_TYPE; - if (isSupportedDeviceModel(deviceModel, PioneerAvrBindingConstants.SUPPORTED_DEVICE_MODELS2016)) { + if (isSupportedDeviceModel(deviceModel, PioneerAvrBindingConstants.SUPPORTED_DEVICE_MODELS2020)) { + thingTypeUID = PioneerAvrBindingConstants.IP_AVR_THING_TYPE2020; + } else if (isSupportedDeviceModel(deviceModel, + PioneerAvrBindingConstants.SUPPORTED_DEVICE_MODELS2019)) { + thingTypeUID = PioneerAvrBindingConstants.IP_AVR_THING_TYPE2019; + } else if (isSupportedDeviceModel(deviceModel, + PioneerAvrBindingConstants.SUPPORTED_DEVICE_MODELS2018)) { + thingTypeUID = PioneerAvrBindingConstants.IP_AVR_THING_TYPE2018; + } else if (isSupportedDeviceModel(deviceModel, + PioneerAvrBindingConstants.SUPPORTED_DEVICE_MODELS2017)) { + thingTypeUID = PioneerAvrBindingConstants.IP_AVR_THING_TYPE2017; + } else if (isSupportedDeviceModel(deviceModel, + PioneerAvrBindingConstants.SUPPORTED_DEVICE_MODELS2016)) { thingTypeUID = PioneerAvrBindingConstants.IP_AVR_THING_TYPE2016; } else if (isSupportedDeviceModel(deviceModel, PioneerAvrBindingConstants.SUPPORTED_DEVICE_MODELS2015)) { diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/AvrHandlerFactory.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/AvrHandlerFactory.java index d4bb94c3aee91..463f95acfd088 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/AvrHandlerFactory.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/AvrHandlerFactory.java @@ -38,6 +38,8 @@ public class AvrHandlerFactory extends BaseThingHandlerFactory { private static final Set SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet( Stream.of(PioneerAvrBindingConstants.IP_AVR_THING_TYPE, PioneerAvrBindingConstants.IP_AVR_THING_TYPE2014, PioneerAvrBindingConstants.IP_AVR_THING_TYPE2015, PioneerAvrBindingConstants.IP_AVR_THING_TYPE2016, + PioneerAvrBindingConstants.IP_AVR_THING_TYPE2017, PioneerAvrBindingConstants.IP_AVR_THING_TYPE2018, + PioneerAvrBindingConstants.IP_AVR_THING_TYPE2019, PioneerAvrBindingConstants.IP_AVR_THING_TYPE2020, PioneerAvrBindingConstants.IP_AVR_UNSUPPORTED_THING_TYPE, PioneerAvrBindingConstants.SERIAL_AVR_THING_TYPE).collect(Collectors.toSet())); @@ -58,6 +60,10 @@ protected ThingHandler createHandler(Thing thing) { || thingTypeUID.equals(PioneerAvrBindingConstants.IP_AVR_THING_TYPE2014) || thingTypeUID.equals(PioneerAvrBindingConstants.IP_AVR_THING_TYPE2015) || thingTypeUID.equals(PioneerAvrBindingConstants.IP_AVR_THING_TYPE2016) + || thingTypeUID.equals(PioneerAvrBindingConstants.IP_AVR_THING_TYPE2017) + || thingTypeUID.equals(PioneerAvrBindingConstants.IP_AVR_THING_TYPE2018) + || thingTypeUID.equals(PioneerAvrBindingConstants.IP_AVR_THING_TYPE2019) + || thingTypeUID.equals(PioneerAvrBindingConstants.IP_AVR_THING_TYPE2020) || thingTypeUID.equals(PioneerAvrBindingConstants.IP_AVR_UNSUPPORTED_THING_TYPE)) { return new IpAvrHandler(thing); } else if (thingTypeUID.equals(PioneerAvrBindingConstants.SERIAL_AVR_THING_TYPE)) { diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/thing/thing-types.xml index 952a158338df6..f707c0d0ef7c0 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/thing/thing-types.xml @@ -70,7 +70,7 @@ - Control a 2015 Pioneer AVR (SC-89, SC-LX88, SC-87, SC-LX78, SC-85, SC-LX58, SC-82, SC-2024, SC-81, VSX-80, VSX-830) over IP + Control a 2015 Pioneer AVR (SC-89, SC-LX88, SC-87, SC-LX78, SC-85, SC-LX58, SC-82, SC-2024, SC-81, VSX-80) over IP @@ -104,7 +104,7 @@ - Control a 2016 Pioneer AVR (SC-99, SC-LX89, SC-97, SC-LX79, SC-95, SC-LX59, SC-92, SC-91, VSX-90, VSX-45) over IP + Control a 2016 Pioneer AVR (SC-99, SC-LX89, SC-97, SC-LX79, SC-95, SC-LX59, SC-92, SC-91, VSX-90, VSX-45, VSX-830, VSX-930, VSX-1130) over IP @@ -136,6 +136,142 @@ + + + Control a 2017 Pioneer AVR (VSX-531, VSX-531D, VSX-831, VSX-1131, VSX-LX101, VSX-LX301, VSX-LX501) over IP + + + + + + + + + + + + + + + + + + + + network-address + + The address of the Pioneer AVR to control. + + + 8102 + + The TCP port number used to connect to the AVR. + + + + + + + Control a 2018 Pioneer AVR (VSX-532, VSX-832, VSX-932, VSX-LX102, VSX-LX302, VSX-LX502) over IP + + + + + + + + + + + + + + + + + + + + network-address + + The address of the Pioneer AVR to control. + + + 8102 + + The TCP port number used to connect to the AVR. + + + + + + + Control a 2019 Pioneer AVR (VSX-833, VSX-933, VSX-LX103, VSX-LX303, VSX-LX503) over IP + + + + + + + + + + + + + + + + + + + + network-address + + The address of the Pioneer AVR to control. + + + 8102 + + The TCP port number used to connect to the AVR. + + + + + + + Control a 2020 Pioneer AVR (VSX-534, VSX-534D, VSX-934, VSX-LX104, VSX-LX304, VSX-LX504) over IP + + + + + + + + + + + + + + + + + + + + network-address + + The address of the Pioneer AVR to control. + + + 8102 + + The TCP port number used to connect to the AVR. + + + + @@ -320,6 +456,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Switch @@ -483,41 +775,177 @@ - + String Select the input source of the AVR + - - + + + + + + + + - + - + + + - + String Select the input source of the AVR + - + + + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + @@ -559,6 +987,110 @@ + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + String @@ -639,6 +1171,122 @@ + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + + + + String + + Select the input source of the AVR + + + + + + + + + + + + + + + + + + + + + + + + + String