[monopriceaudio] Add support for 8 zone model (#19775)

* Add support for 8 zone model

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
This commit is contained in:
mlobstein
2025-12-12 10:39:21 +01:00
committed by GitHub
parent 6c019cb75c
commit c1fd365ddf
11 changed files with 386 additions and 190 deletions
@@ -4,6 +4,7 @@ This binding can be used to control the following types of whole house multi-zon
- Monoprice MPR-SG6Z (10761), Monoprice Passive Matrix (39261), Dayton Audio DAX66 or compatible clones
- Monoprice 44519 4 zone / 6 source variant of the 10761 **(untested)**
- Monoprice 44518 8 zone / 6 source variant of the 10761 **(untested)**
- Monoprice 31028 or OSD Audio PAM1270 **(untested)**
- Dayton Audio DAX88 **(untested)**
- Xantech MRC88, MX88, MRAUDIO8X8 or CM8X8 **(untested)**
@@ -28,6 +29,8 @@ Note: Compatible clones from McLELLAND, Factor, Soundavo, etc. should work as we
Monoprice 44519 4 zone variants use the `monoprice4` thing id. Up to 12 zones with 3 linked amps and 6 source inputs are supported.
Monoprice 44518 8 zone variants use the `monoprice8` Thing id. Up to 24 zones with 3 linked amps and 6 source inputs are supported.
Monoprice 31028 or OSD Audio PAM1270 70 volt amplifiers use the `monoprice70` thing id. 6 zones per amp (not linkable) and 2 source inputs are supported.
Dayton Audio DAX88 amplifiers use the `dax88` thing id. 8 zones (2 un-amplified) per amp (not linkable) and 8 source inputs are supported.
@@ -31,6 +31,7 @@ public class MonopriceAudioBindingConstants {
// to avoid breaking existing installations, the 10761/DAX66 will still be known as 'amplifier'
public static final ThingTypeUID THING_TYPE_MP = new ThingTypeUID(BINDING_ID, "amplifier");
public static final ThingTypeUID THING_TYPE_MP4 = new ThingTypeUID(BINDING_ID, "monoprice4");
public static final ThingTypeUID THING_TYPE_MP8 = new ThingTypeUID(BINDING_ID, "monoprice8");
public static final ThingTypeUID THING_TYPE_MP70 = new ThingTypeUID(BINDING_ID, "monoprice70");
public static final ThingTypeUID THING_TYPE_DAX88 = new ThingTypeUID(BINDING_ID, "dax88");
public static final ThingTypeUID THING_TYPE_XT = new ThingTypeUID(BINDING_ID, "xantech");
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
public class MonopriceAudioHandlerFactory extends BaseThingHandlerFactory {
private static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_MP, THING_TYPE_MP4,
THING_TYPE_MP70, THING_TYPE_DAX88, THING_TYPE_XT);
THING_TYPE_MP8, THING_TYPE_MP70, THING_TYPE_DAX88, THING_TYPE_XT);
private final SerialPortManager serialPortManager;
@@ -78,6 +78,11 @@ public class MonopriceAudioHandlerFactory extends BaseThingHandlerFactory {
serialPortManager);
}
if (THING_TYPE_MP8.equals(thingTypeUID)) {
return new MonopriceAudioHandler(thing, AmplifierModel.MONOPRICE8, stateDescriptionProvider,
serialPortManager);
}
if (THING_TYPE_MP70.equals(thingTypeUID)) {
return new MonopriceAudioHandler(thing, AmplifierModel.MONOPRICE70, stateDescriptionProvider,
serialPortManager);
@@ -34,8 +34,8 @@ import org.openhab.core.types.StateOption;
public enum AmplifierModel {
// Monoprice 10761/Dayton Audio DAX66
MONOPRICE("<", "\r", "?", "", "#>", "PR", "CH", "VO", "MU", "TR", "BS", "BL", "DT", 38, -7, 7, 7, -10, 10, 10, 18,
6, true, List.of("11", "12", "13", "14", "15", "16", "21", "22", "23", "24", "25", "26", "31", "32", "33",
MONOPRICE("<", "\r", "?", "", "#>", "PR", "CH", "VO", "MU", "TR", "BS", "BL", "DT", 38, -7, 7, 7, -10, 10, 10, 6,
true, List.of("11", "12", "13", "14", "15", "16", "21", "22", "23", "24", "25", "26", "31", "32", "33",
"34", "35", "36")) {
@Override
public MonopriceAudioZoneDTO getZoneData(String newZoneData) {
@@ -50,8 +50,24 @@ public enum AmplifierModel {
}
},
// Monoprice 44519 4 zone variant
MONOPRICE4("<", "\r", "?", "", "#>", "PR", "CH", "VO", "MU", "TR", "BS", "BL", "DT", 38, -7, 7, 7, -10, 10, 10, 12,
6, true, List.of("11", "12", "13", "14", "21", "22", "23", "24", "31", "32", "33", "34")) {
MONOPRICE4("<", "\r", "?", "", "#>", "PR", "CH", "VO", "MU", "TR", "BS", "BL", "DT", 38, -7, 7, 7, -10, 10, 10, 6,
true, List.of("11", "12", "13", "14", "21", "22", "23", "24", "31", "32", "33", "34")) {
@Override
public MonopriceAudioZoneDTO getZoneData(String newZoneData) {
return getMonopriceZoneData(newZoneData);
}
@Override
public List<StateOption> getSourceLabels(MonopriceAudioThingConfiguration config) {
return List.of(new StateOption("1", config.inputLabel1), new StateOption("2", config.inputLabel2),
new StateOption("3", config.inputLabel3), new StateOption("4", config.inputLabel4),
new StateOption("5", config.inputLabel5), new StateOption("6", config.inputLabel6));
}
},
// Monoprice 44518 8 zone variant
MONOPRICE8("<", "\r", "?", "", "#>", "PR", "CH", "VO", "MU", "TR", "BS", "BL", "DT", 38, -7, 7, 7, -10, 10, 10, 6,
true, List.of("11", "12", "13", "14", "15", "16", "17", "18", "21", "22", "23", "24", "25", "26", "27",
"28", "31", "32", "33", "34", "35", "36", "37", "38")) {
@Override
public MonopriceAudioZoneDTO getZoneData(String newZoneData) {
return getMonopriceZoneData(newZoneData);
@@ -65,7 +81,7 @@ public enum AmplifierModel {
}
},
// Dayton Audio DAX88
DAX88("<", "\r", "?", "", ">", "PR", "CH", "VO", "MU", "TR", "BS", "BL", "DT", 38, -12, 12, 12, -10, 10, 10, 8, 8,
DAX88("<", "\r", "?", "", ">", "PR", "CH", "VO", "MU", "TR", "BS", "BL", "DT", 38, -12, 12, 12, -10, 10, 10, 8,
true, List.of("01", "02", "03", "04", "05", "06", "07", "08")) {
@Override
public MonopriceAudioZoneDTO getZoneData(String newZoneData) {
@@ -80,8 +96,8 @@ public enum AmplifierModel {
new StateOption("7", config.inputLabel7), new StateOption("8", config.inputLabel8));
}
},
MONOPRICE70("!", "+\r", "?", "ZS", "?", "PR", "IS", "VO", "MU", "TR", "BS", "BA", "", 38, -7, 7, 7, -32, 31, 32, 6,
2, false, List.of("1", "2", "3", "4", "5", "6")) {
MONOPRICE70("!", "+\r", "?", "ZS", "?", "PR", "IS", "VO", "MU", "TR", "BS", "BA", "", 38, -7, 7, 7, -32, 31, 32, 2,
false, List.of("1", "2", "3", "4", "5", "6")) {
@Override
public MonopriceAudioZoneDTO getZoneData(String newZoneData) {
final MonopriceAudioZoneDTO zoneData = new MonopriceAudioZoneDTO();
@@ -125,7 +141,7 @@ public enum AmplifierModel {
return List.of(new StateOption("0", config.inputLabel1), new StateOption("1", config.inputLabel2));
}
},
XANTECH("!", "+\r", "?", "ZD", "#", "PR", "SS", "VO", "MU", "TR", "BS", "BL", "", 38, -7, 7, 7, -32, 31, 32, 16, 8,
XANTECH("!", "+\r", "?", "ZD", "#", "PR", "SS", "VO", "MU", "TR", "BS", "BL", "", 38, -7, 7, 7, -32, 31, 32, 8,
false, List.of("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16")) {
@Override
public MonopriceAudioZoneDTO getZoneData(String newZoneData) {
@@ -232,7 +248,7 @@ public enum AmplifierModel {
AmplifierModel(String cmdPrefix, String cmdSuffix, String queryPrefix, String querySuffix, String respPrefix,
String powerCmd, String sourceCmd, String volumeCmd, String muteCmd, String trebleCmd, String bassCmd,
String balanceCmd, String dndCmd, int maxVol, int minTone, int maxTone, int toneOffset, int minBal,
int maxBal, int balOffset, int maxZones, int numSources, boolean padNumbers, List<String> zoneIds) {
int maxBal, int balOffset, int numSources, boolean padNumbers, List<String> zoneIds) {
this.cmdPrefix = cmdPrefix;
this.cmdSuffix = cmdSuffix;
this.queryPrefix = queryPrefix;
@@ -253,7 +269,7 @@ public enum AmplifierModel {
this.minBal = minBal;
this.maxBal = maxBal;
this.balOffset = balOffset;
this.maxZones = maxZones;
this.maxZones = zoneIds.size();
this.numSources = numSources;
this.padNumbers = padNumbers;
this.zoneIds = zoneIds;
@@ -109,6 +109,58 @@ thing-type.monopriceaudio.monoprice70.group.zone5.label = Zone 5
thing-type.monopriceaudio.monoprice70.group.zone5.description = The Controls for Zone 5
thing-type.monopriceaudio.monoprice70.group.zone6.label = Zone 6
thing-type.monopriceaudio.monoprice70.group.zone6.description = The Controls for Zone 6
thing-type.monopriceaudio.monoprice8.label = Monoprice 44518 8 Zone Amplifier
thing-type.monopriceaudio.monoprice8.description = A Multi-zone Whole House Amplifier System
thing-type.monopriceaudio.monoprice8.group.all.label = All Zones
thing-type.monopriceaudio.monoprice8.group.all.description = Control All Zones Simultaneously
thing-type.monopriceaudio.monoprice8.group.zone1.label = Zone 1
thing-type.monopriceaudio.monoprice8.group.zone1.description = The Controls for Zone 1
thing-type.monopriceaudio.monoprice8.group.zone10.label = Zone 10
thing-type.monopriceaudio.monoprice8.group.zone10.description = The Controls for Zone 10
thing-type.monopriceaudio.monoprice8.group.zone11.label = Zone 11
thing-type.monopriceaudio.monoprice8.group.zone11.description = The Controls for Zone 11
thing-type.monopriceaudio.monoprice8.group.zone12.label = Zone 12
thing-type.monopriceaudio.monoprice8.group.zone12.description = The Controls for Zone 12
thing-type.monopriceaudio.monoprice8.group.zone13.label = Zone 13
thing-type.monopriceaudio.monoprice8.group.zone13.description = The Controls for Zone 13
thing-type.monopriceaudio.monoprice8.group.zone14.label = Zone 14
thing-type.monopriceaudio.monoprice8.group.zone14.description = The Controls for Zone 14
thing-type.monopriceaudio.monoprice8.group.zone15.label = Zone 15
thing-type.monopriceaudio.monoprice8.group.zone15.description = The Controls for Zone 15
thing-type.monopriceaudio.monoprice8.group.zone16.label = Zone 16
thing-type.monopriceaudio.monoprice8.group.zone16.description = The Controls for Zone 16
thing-type.monopriceaudio.monoprice8.group.zone17.label = Zone 17
thing-type.monopriceaudio.monoprice8.group.zone17.description = The Controls for Zone 17
thing-type.monopriceaudio.monoprice8.group.zone18.label = Zone 18
thing-type.monopriceaudio.monoprice8.group.zone18.description = The Controls for Zone 18
thing-type.monopriceaudio.monoprice8.group.zone19.label = Zone 19
thing-type.monopriceaudio.monoprice8.group.zone19.description = The Controls for Zone 19
thing-type.monopriceaudio.monoprice8.group.zone2.label = Zone 2
thing-type.monopriceaudio.monoprice8.group.zone2.description = The Controls for Zone 2
thing-type.monopriceaudio.monoprice8.group.zone20.label = Zone 20
thing-type.monopriceaudio.monoprice8.group.zone20.description = The Controls for Zone 20
thing-type.monopriceaudio.monoprice8.group.zone21.label = Zone 21
thing-type.monopriceaudio.monoprice8.group.zone21.description = The Controls for Zone 21
thing-type.monopriceaudio.monoprice8.group.zone22.label = Zone 22
thing-type.monopriceaudio.monoprice8.group.zone22.description = The Controls for Zone 22
thing-type.monopriceaudio.monoprice8.group.zone23.label = Zone 23
thing-type.monopriceaudio.monoprice8.group.zone23.description = The Controls for Zone 23
thing-type.monopriceaudio.monoprice8.group.zone24.label = Zone 24
thing-type.monopriceaudio.monoprice8.group.zone24.description = The Controls for Zone 24
thing-type.monopriceaudio.monoprice8.group.zone3.label = Zone 3
thing-type.monopriceaudio.monoprice8.group.zone3.description = The Controls for Zone 3
thing-type.monopriceaudio.monoprice8.group.zone4.label = Zone 4
thing-type.monopriceaudio.monoprice8.group.zone4.description = The Controls for Zone 4
thing-type.monopriceaudio.monoprice8.group.zone5.label = Zone 5
thing-type.monopriceaudio.monoprice8.group.zone5.description = The Controls for Zone 5
thing-type.monopriceaudio.monoprice8.group.zone6.label = Zone 6
thing-type.monopriceaudio.monoprice8.group.zone6.description = The Controls for Zone 6
thing-type.monopriceaudio.monoprice8.group.zone7.label = Zone 7
thing-type.monopriceaudio.monoprice8.group.zone7.description = The Controls for Zone 7
thing-type.monopriceaudio.monoprice8.group.zone8.label = Zone 8
thing-type.monopriceaudio.monoprice8.group.zone8.description = The Controls for Zone 8
thing-type.monopriceaudio.monoprice8.group.zone9.label = Zone 9
thing-type.monopriceaudio.monoprice8.group.zone9.description = The Controls for Zone 9
thing-type.monopriceaudio.xantech.label = Xantech 8x8 Amplifier
thing-type.monopriceaudio.xantech.description = A Multi-zone Whole House Amplifier System
thing-type.monopriceaudio.xantech.group.all.label = All Zones
@@ -153,21 +205,21 @@ thing-type.config.monopriceaudio.amplifier.disableKeypadPolling.description = If
thing-type.config.monopriceaudio.amplifier.host.label = Address
thing-type.config.monopriceaudio.amplifier.host.description = Host Name or IP Address of the Monoprice Amplifier or Serial over IP device
thing-type.config.monopriceaudio.amplifier.ignoreZones.label = Ignore Zones
thing-type.config.monopriceaudio.amplifier.ignoreZones.description = (Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (ie: 1,6,10)
thing-type.config.monopriceaudio.amplifier.ignoreZones.description = (Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (e.g., 1,6,10)
thing-type.config.monopriceaudio.amplifier.initialAllVolume.label = Initial All Volume
thing-type.config.monopriceaudio.amplifier.initialAllVolume.description = When 'All' Zones Are Activated, the Volume Will Reset to This Value (1-30; default 10) to Prevent Excessive Blaring of Sound ;)
thing-type.config.monopriceaudio.amplifier.inputLabel1.label = Source 1 Input Label
thing-type.config.monopriceaudio.amplifier.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel2.label = Source 2 Input Label
thing-type.config.monopriceaudio.amplifier.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel3.label = Source 3 Input Label
thing-type.config.monopriceaudio.amplifier.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel4.label = Source 4 Input Label
thing-type.config.monopriceaudio.amplifier.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel5.label = Source 5 Input Label
thing-type.config.monopriceaudio.amplifier.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel6.label = Source 6 Input Label
thing-type.config.monopriceaudio.amplifier.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.amplifier.numZones.label = Number of Zones
thing-type.config.monopriceaudio.amplifier.numZones.description = Number of Zones on the Amplifier to Utilize in the Binding (Up to 18 Zones With 3 Amplifiers Connected Together)
thing-type.config.monopriceaudio.amplifier.pollingInterval.label = Polling Interval
@@ -181,25 +233,25 @@ thing-type.config.monopriceaudio.dax88.disableKeypadPolling.description = If phy
thing-type.config.monopriceaudio.dax88.host.label = Address
thing-type.config.monopriceaudio.dax88.host.description = Host Name or IP Address of the Machine Connected to the Dayton Amplifier (Serial over IP)
thing-type.config.monopriceaudio.dax88.ignoreZones.label = Ignore Zones
thing-type.config.monopriceaudio.dax88.ignoreZones.description = (Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (ie: 1,6,10)
thing-type.config.monopriceaudio.dax88.ignoreZones.description = (Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (e.g., 1,6,10)
thing-type.config.monopriceaudio.dax88.initialAllVolume.label = Initial All Volume
thing-type.config.monopriceaudio.dax88.initialAllVolume.description = When 'All' Zones Are Activated, the Volume Will Reset to This Value (1-30; default 10) to Prevent Excessive Blaring of Sound ;)
thing-type.config.monopriceaudio.dax88.inputLabel1.label = Source 1 Input Label
thing-type.config.monopriceaudio.dax88.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel2.label = Source 2 Input Label
thing-type.config.monopriceaudio.dax88.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel3.label = Source 3 Input Label
thing-type.config.monopriceaudio.dax88.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel4.label = Source 4 Input Label
thing-type.config.monopriceaudio.dax88.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel5.label = Source 5 Input Label
thing-type.config.monopriceaudio.dax88.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel6.label = Source 6 Input Label
thing-type.config.monopriceaudio.dax88.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel7.label = Source 7 Input Label
thing-type.config.monopriceaudio.dax88.inputLabel7.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel7.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel8.label = Source 8 Input Label
thing-type.config.monopriceaudio.dax88.inputLabel8.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.inputLabel8.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.dax88.numZones.label = Number of Zones
thing-type.config.monopriceaudio.dax88.numZones.description = Number of Zones on the Amplifier to Utilize in the Binding
thing-type.config.monopriceaudio.dax88.pollingInterval.label = Polling Interval
@@ -213,21 +265,21 @@ thing-type.config.monopriceaudio.monoprice4.disableKeypadPolling.description = I
thing-type.config.monopriceaudio.monoprice4.host.label = Address
thing-type.config.monopriceaudio.monoprice4.host.description = Host Name or IP Address of the Monoprice Amplifier or Serial over IP device
thing-type.config.monopriceaudio.monoprice4.ignoreZones.label = Ignore Zones
thing-type.config.monopriceaudio.monoprice4.ignoreZones.description = (Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (ie: 1,6,10)
thing-type.config.monopriceaudio.monoprice4.ignoreZones.description = (Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (e.g., 1,6,10)
thing-type.config.monopriceaudio.monoprice4.initialAllVolume.label = Initial All Volume
thing-type.config.monopriceaudio.monoprice4.initialAllVolume.description = When 'All' Zones Are Activated, the Volume Will Reset to This Value (1-30; default 10) to Prevent Excessive Blaring of Sound ;)
thing-type.config.monopriceaudio.monoprice4.inputLabel1.label = Source 1 Input Label
thing-type.config.monopriceaudio.monoprice4.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel2.label = Source 2 Input Label
thing-type.config.monopriceaudio.monoprice4.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel3.label = Source 3 Input Label
thing-type.config.monopriceaudio.monoprice4.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel4.label = Source 4 Input Label
thing-type.config.monopriceaudio.monoprice4.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel5.label = Source 5 Input Label
thing-type.config.monopriceaudio.monoprice4.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel6.label = Source 6 Input Label
thing-type.config.monopriceaudio.monoprice4.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice4.numZones.label = Number of Zones
thing-type.config.monopriceaudio.monoprice4.numZones.description = Number of Zones on the Amplifier to Utilize in the Binding (Up to 12 Zones With 3 Amplifiers Connected Together)
thing-type.config.monopriceaudio.monoprice4.pollingInterval.label = Polling Interval
@@ -239,13 +291,13 @@ thing-type.config.monopriceaudio.monoprice4.serialPort.description = Serial Port
thing-type.config.monopriceaudio.monoprice70.host.label = Address
thing-type.config.monopriceaudio.monoprice70.host.description = Host Name or IP Address of the Machine Connected to the Monoprice Amplifier (Serial over IP)
thing-type.config.monopriceaudio.monoprice70.ignoreZones.label = Ignore Zones
thing-type.config.monopriceaudio.monoprice70.ignoreZones.description = (Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (ie: 1,5,6)
thing-type.config.monopriceaudio.monoprice70.ignoreZones.description = (Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (e.g., 1,5,6)
thing-type.config.monopriceaudio.monoprice70.initialAllVolume.label = Initial All Volume
thing-type.config.monopriceaudio.monoprice70.initialAllVolume.description = When 'All' Zones Are Activated, the Volume Will Reset to This Value (1-30; default 10) to Prevent Excessive Blaring of Sound ;)
thing-type.config.monopriceaudio.monoprice70.inputLabel1.label = Source 0 Input Label
thing-type.config.monopriceaudio.monoprice70.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice70.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice70.inputLabel2.label = Source 1 Input Label
thing-type.config.monopriceaudio.monoprice70.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice70.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice70.numZones.label = Number of Zones
thing-type.config.monopriceaudio.monoprice70.numZones.description = Number of Zones on the Amplifier to Utilize in the Binding
thing-type.config.monopriceaudio.monoprice70.pollingInterval.label = Polling Interval
@@ -254,30 +306,58 @@ thing-type.config.monopriceaudio.monoprice70.port.label = Port
thing-type.config.monopriceaudio.monoprice70.port.description = Communication Port for Serial over IP connection to the Monoprice Amplifier
thing-type.config.monopriceaudio.monoprice70.serialPort.label = Serial Port
thing-type.config.monopriceaudio.monoprice70.serialPort.description = Serial Port to Use for Connecting to the Monoprice Amplifier
thing-type.config.monopriceaudio.monoprice8.disableKeypadPolling.label = Disable Keypad Polling
thing-type.config.monopriceaudio.monoprice8.disableKeypadPolling.description = If physical keypads are not used, this option will disable polling the amplifier for zone updates
thing-type.config.monopriceaudio.monoprice8.host.label = Address
thing-type.config.monopriceaudio.monoprice8.host.description = Host Name or IP Address of the Monoprice Amplifier or Serial over IP device
thing-type.config.monopriceaudio.monoprice8.ignoreZones.label = Ignore Zones
thing-type.config.monopriceaudio.monoprice8.ignoreZones.description = (Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (e.g., 1,6,10)
thing-type.config.monopriceaudio.monoprice8.initialAllVolume.label = Initial All Volume
thing-type.config.monopriceaudio.monoprice8.initialAllVolume.description = When 'All' Zones Are Activated, the Volume Will Reset to This Value (1-30; default 10) to Prevent Excessive Blaring of Sound ;)
thing-type.config.monopriceaudio.monoprice8.inputLabel1.label = Source 1 Input Label
thing-type.config.monopriceaudio.monoprice8.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice8.inputLabel2.label = Source 2 Input Label
thing-type.config.monopriceaudio.monoprice8.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice8.inputLabel3.label = Source 3 Input Label
thing-type.config.monopriceaudio.monoprice8.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice8.inputLabel4.label = Source 4 Input Label
thing-type.config.monopriceaudio.monoprice8.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice8.inputLabel5.label = Source 5 Input Label
thing-type.config.monopriceaudio.monoprice8.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice8.inputLabel6.label = Source 6 Input Label
thing-type.config.monopriceaudio.monoprice8.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.monoprice8.numZones.label = Number of Zones
thing-type.config.monopriceaudio.monoprice8.numZones.description = Number of Zones on the Amplifier to Utilize in the Binding (Up to 24 Zones With 3 Amplifiers Connected Together)
thing-type.config.monopriceaudio.monoprice8.pollingInterval.label = Polling Interval
thing-type.config.monopriceaudio.monoprice8.pollingInterval.description = Configures How Often to Poll the Amplifier to Check for Zone Updates (5-60; Default 15)
thing-type.config.monopriceaudio.monoprice8.port.label = Port
thing-type.config.monopriceaudio.monoprice8.port.description = Communication Port for Serial over IP connection to the Monoprice Amplifier (8080 for amps with built-in Serial over IP)
thing-type.config.monopriceaudio.monoprice8.serialPort.label = Serial Port
thing-type.config.monopriceaudio.monoprice8.serialPort.description = Serial Port to Use for Connecting to the Monoprice Amplifier
thing-type.config.monopriceaudio.xantech.disableKeypadPolling.label = Disable Keypad Polling
thing-type.config.monopriceaudio.xantech.disableKeypadPolling.description = If physical keypads are not used, this option will disable polling the amplifier for zone updates
thing-type.config.monopriceaudio.xantech.host.label = Address
thing-type.config.monopriceaudio.xantech.host.description = Host Name or IP Address of the Machine Connected to the Xantech Amplifier (Serial over IP)
thing-type.config.monopriceaudio.xantech.ignoreZones.label = Ignore Zones
thing-type.config.monopriceaudio.xantech.ignoreZones.description = (Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (ie: 1,6,10)
thing-type.config.monopriceaudio.xantech.ignoreZones.description = (Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off) Commands (e.g., 1,6,10)
thing-type.config.monopriceaudio.xantech.initialAllVolume.label = Initial All Volume
thing-type.config.monopriceaudio.xantech.initialAllVolume.description = When 'All' Zones Are Activated, the Volume Will Reset to This Value (1-30; default 10) to Prevent Excessive Blaring of Sound ;)
thing-type.config.monopriceaudio.xantech.inputLabel1.label = Source 1 Input Label
thing-type.config.monopriceaudio.xantech.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel1.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel2.label = Source 2 Input Label
thing-type.config.monopriceaudio.xantech.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel2.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel3.label = Source 3 Input Label
thing-type.config.monopriceaudio.xantech.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel3.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel4.label = Source 4 Input Label
thing-type.config.monopriceaudio.xantech.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel4.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel5.label = Source 5 Input Label
thing-type.config.monopriceaudio.xantech.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel5.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel6.label = Source 6 Input Label
thing-type.config.monopriceaudio.xantech.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel6.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel7.label = Source 7 Input Label
thing-type.config.monopriceaudio.xantech.inputLabel7.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel7.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel8.label = Source 8 Input Label
thing-type.config.monopriceaudio.xantech.inputLabel8.description = Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.inputLabel8.description = Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)
thing-type.config.monopriceaudio.xantech.numZones.label = Number of Zones
thing-type.config.monopriceaudio.xantech.numZones.description = Number of Zones on the Amplifier to Utilize in the Binding (Up to 16 Zones With 2 Amplifiers Connected Together)
thing-type.config.monopriceaudio.xantech.pollingInterval.label = Polling Interval
@@ -79,8 +79,8 @@
</parameter>
<parameter name="ignoreZones" type="text" required="false">
<label>Ignore Zones</label>
<description>(Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (ie: 1,6,10)</description>
<description>(Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (e.g., 1,6,10)</description>
</parameter>
<parameter name="initialAllVolume" type="integer" min="1" max="30" required="false">
<label>Initial All Volume</label>
@@ -90,42 +90,42 @@
</parameter>
<parameter name="inputLabel1" type="text" required="false">
<label>Source 1 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 1</default>
</parameter>
<parameter name="inputLabel2" type="text" required="false">
<label>Source 2 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 2</default>
</parameter>
<parameter name="inputLabel3" type="text" required="false">
<label>Source 3 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 3</default>
</parameter>
<parameter name="inputLabel4" type="text" required="false">
<label>Source 4 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 4</default>
</parameter>
<parameter name="inputLabel5" type="text" required="false">
<label>Source 5 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 5</default>
</parameter>
<parameter name="inputLabel6" type="text" required="false">
<label>Source 6 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 6</default>
</parameter>
<parameter name="inputLabel7" type="text" required="false">
<label>Source 7 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 7</default>
</parameter>
<parameter name="inputLabel8" type="text" required="false">
<label>Source 8 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Wi-Fi streaming</default>
</parameter>
<parameter name="disableKeypadPolling" type="boolean" required="false">
@@ -121,8 +121,8 @@
</parameter>
<parameter name="ignoreZones" type="text" required="false">
<label>Ignore Zones</label>
<description>(Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (ie: 1,6,10)</description>
<description>(Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (e.g., 1,6,10)</description>
</parameter>
<parameter name="initialAllVolume" type="integer" min="1" max="30" required="false">
<label>Initial All Volume</label>
@@ -132,32 +132,32 @@
</parameter>
<parameter name="inputLabel1" type="text" required="false">
<label>Source 1 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 1</default>
</parameter>
<parameter name="inputLabel2" type="text" required="false">
<label>Source 2 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 2</default>
</parameter>
<parameter name="inputLabel3" type="text" required="false">
<label>Source 3 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 3</default>
</parameter>
<parameter name="inputLabel4" type="text" required="false">
<label>Source 4 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 4</default>
</parameter>
<parameter name="inputLabel5" type="text" required="false">
<label>Source 5 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 5</default>
</parameter>
<parameter name="inputLabel6" type="text" required="false">
<label>Source 6 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 6</default>
</parameter>
<parameter name="disableKeypadPolling" type="boolean" required="false">
@@ -97,8 +97,8 @@
</parameter>
<parameter name="ignoreZones" type="text" required="false">
<label>Ignore Zones</label>
<description>(Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (ie: 1,6,10)</description>
<description>(Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (e.g., 1,6,10)</description>
</parameter>
<parameter name="initialAllVolume" type="integer" min="1" max="30" required="false">
<label>Initial All Volume</label>
@@ -108,32 +108,32 @@
</parameter>
<parameter name="inputLabel1" type="text" required="false">
<label>Source 1 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 1</default>
</parameter>
<parameter name="inputLabel2" type="text" required="false">
<label>Source 2 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 2</default>
</parameter>
<parameter name="inputLabel3" type="text" required="false">
<label>Source 3 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 3</default>
</parameter>
<parameter name="inputLabel4" type="text" required="false">
<label>Source 4 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 4</default>
</parameter>
<parameter name="inputLabel5" type="text" required="false">
<label>Source 5 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 5</default>
</parameter>
<parameter name="inputLabel6" type="text" required="false">
<label>Source 6 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 6</default>
</parameter>
<parameter name="disableKeypadPolling" type="boolean" required="false">
@@ -144,108 +144,4 @@
</config-description>
</thing-type>
<channel-group-type id="all">
<label>All Zones</label>
<description>Control All Zones Simultaneously</description>
<channels>
<channel id="allpower" typeId="allpower"/>
<channel id="allsource" typeId="source"/>
<channel id="allvolume" typeId="system.volume"/>
<channel id="allmute" typeId="system.mute"/>
</channels>
</channel-group-type>
<channel-group-type id="zone">
<label>Zone Controls</label>
<description>The Controls for the Zone</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
<channel id="volume" typeId="system.volume"/>
<channel id="mute" typeId="system.mute"/>
<channel id="treble" typeId="treble"/>
<channel id="bass" typeId="bass"/>
<channel id="balance" typeId="balance"/>
<channel id="dnd" typeId="dnd"/>
<channel id="page" typeId="page"/>
<channel id="keypad" typeId="keypad"/>
</channels>
</channel-group-type>
<channel-type id="allpower">
<item-type>Switch</item-type>
<label>All On</label>
<description>Turn All Zones On or Off</description>
<tags>
<tag>Switch</tag>
<tag>Power</tag>
</tags>
</channel-type>
<channel-type id="source">
<item-type>Number</item-type>
<label>Source Input</label>
<description>Select the Source Input</description>
<state min="1" max="6"/>
</channel-type>
<channel-type id="treble">
<item-type>Number</item-type>
<label>Treble Adjustment</label>
<description>Adjust the Treble</description>
<state min="-7" max="7" step="1" pattern="%d"/>
</channel-type>
<channel-type id="bass">
<item-type>Number</item-type>
<label>Bass Adjustment</label>
<description>Adjust the Bass</description>
<state min="-7" max="7" step="1" pattern="%d"/>
</channel-type>
<channel-type id="balance">
<item-type>Number</item-type>
<label>Balance Adjustment</label>
<description>Adjust the Balance</description>
<state min="-10" max="10" step="1" pattern="%d"/>
</channel-type>
<channel-type id="dnd">
<item-type>Switch</item-type>
<label>Do Not Disturb</label>
<description>Controls if the Zone Should Ignore an Incoming Audio Page</description>
<tags>
<tag>Switch</tag>
<tag>SoundVolume</tag>
</tags>
</channel-type>
<channel-type id="page">
<item-type>Contact</item-type>
<label>Page Active</label>
<description>Indicates if the Page Mode is Active for This Zone</description>
<tags>
<tag>Status</tag>
<tag>Mode</tag>
</tags>
<state readOnly="true">
<options>
<option value="CLOSED">Inactive</option>
<option value="OPEN">Active</option>
</options>
</state>
</channel-type>
<channel-type id="keypad">
<item-type>Contact</item-type>
<label>Keypad Connected</label>
<description>Indicates if a Physical Keypad is Attached to This Zone</description>
<state readOnly="true">
<options>
<option value="CLOSED">Disconnected</option>
<option value="OPEN">Connected</option>
</options>
</state>
</channel-type>
</thing:thing-descriptions>
@@ -71,8 +71,8 @@
</parameter>
<parameter name="ignoreZones" type="text" required="false">
<label>Ignore Zones</label>
<description>(Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (ie: 1,5,6)</description>
<description>(Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (e.g., 1,5,6)</description>
</parameter>
<parameter name="initialAllVolume" type="integer" min="1" max="30" required="false">
<label>Initial All Volume</label>
@@ -82,12 +82,12 @@
</parameter>
<parameter name="inputLabel1" type="text" required="false">
<label>Source 0 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 0 - Bus</default>
</parameter>
<parameter name="inputLabel2" type="text" required="false">
<label>Source 1 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 1 - Line</default>
</parameter>
</config-description>
@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="monopriceaudio"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<!-- Monoprice 44518 8 zone/6 source variant -->
<thing-type id="monoprice8">
<label>Monoprice 44518 8 Zone Amplifier</label>
<description>
A Multi-zone Whole House Amplifier System
</description>
<semantic-equipment-tag>AudioVisual</semantic-equipment-tag>
<channel-groups>
<channel-group id="all" typeId="all">
<label>All Zones</label>
<description>Control All Zones Simultaneously</description>
</channel-group>
<channel-group id="zone1" typeId="zone">
<label>Zone 1</label>
<description>The Controls for Zone 1</description>
</channel-group>
<channel-group id="zone2" typeId="zone">
<label>Zone 2</label>
<description>The Controls for Zone 2</description>
</channel-group>
<channel-group id="zone3" typeId="zone">
<label>Zone 3</label>
<description>The Controls for Zone 3</description>
</channel-group>
<channel-group id="zone4" typeId="zone">
<label>Zone 4</label>
<description>The Controls for Zone 4</description>
</channel-group>
<channel-group id="zone5" typeId="zone">
<label>Zone 5</label>
<description>The Controls for Zone 5</description>
</channel-group>
<channel-group id="zone6" typeId="zone">
<label>Zone 6</label>
<description>The Controls for Zone 6</description>
</channel-group>
<channel-group id="zone7" typeId="zone">
<label>Zone 7</label>
<description>The Controls for Zone 7</description>
</channel-group>
<channel-group id="zone8" typeId="zone">
<label>Zone 8</label>
<description>The Controls for Zone 8</description>
</channel-group>
<channel-group id="zone9" typeId="zone">
<label>Zone 9</label>
<description>The Controls for Zone 9</description>
</channel-group>
<channel-group id="zone10" typeId="zone">
<label>Zone 10</label>
<description>The Controls for Zone 10</description>
</channel-group>
<channel-group id="zone11" typeId="zone">
<label>Zone 11</label>
<description>The Controls for Zone 11</description>
</channel-group>
<channel-group id="zone12" typeId="zone">
<label>Zone 12</label>
<description>The Controls for Zone 12</description>
</channel-group>
<channel-group id="zone13" typeId="zone">
<label>Zone 13</label>
<description>The Controls for Zone 13</description>
</channel-group>
<channel-group id="zone14" typeId="zone">
<label>Zone 14</label>
<description>The Controls for Zone 14</description>
</channel-group>
<channel-group id="zone15" typeId="zone">
<label>Zone 15</label>
<description>The Controls for Zone 15</description>
</channel-group>
<channel-group id="zone16" typeId="zone">
<label>Zone 16</label>
<description>The Controls for Zone 16</description>
</channel-group>
<channel-group id="zone17" typeId="zone">
<label>Zone 17</label>
<description>The Controls for Zone 17</description>
</channel-group>
<channel-group id="zone18" typeId="zone">
<label>Zone 18</label>
<description>The Controls for Zone 18</description>
</channel-group>
<channel-group id="zone19" typeId="zone">
<label>Zone 19</label>
<description>The Controls for Zone 19</description>
</channel-group>
<channel-group id="zone20" typeId="zone">
<label>Zone 20</label>
<description>The Controls for Zone 20</description>
</channel-group>
<channel-group id="zone21" typeId="zone">
<label>Zone 21</label>
<description>The Controls for Zone 21</description>
</channel-group>
<channel-group id="zone22" typeId="zone">
<label>Zone 22</label>
<description>The Controls for Zone 22</description>
</channel-group>
<channel-group id="zone23" typeId="zone">
<label>Zone 23</label>
<description>The Controls for Zone 23</description>
</channel-group>
<channel-group id="zone24" typeId="zone">
<label>Zone 24</label>
<description>The Controls for Zone 24</description>
</channel-group>
</channel-groups>
<config-description>
<parameter name="serialPort" type="text" required="false">
<context>serial-port</context>
<limitToOptions>false</limitToOptions>
<label>Serial Port</label>
<description>Serial Port to Use for Connecting to the Monoprice Amplifier</description>
</parameter>
<parameter name="host" type="text" required="false">
<context>network-address</context>
<label>Address</label>
<description>Host Name or IP Address of the Monoprice Amplifier or Serial over IP device</description>
</parameter>
<parameter name="port" type="integer" min="1" max="65535" required="false">
<label>Port</label>
<description>Communication Port for Serial over IP connection to the Monoprice Amplifier (8080 for amps with
built-in Serial over IP)</description>
</parameter>
<parameter name="numZones" type="integer" min="1" max="24" required="true">
<label>Number of Zones</label>
<description>Number of Zones on the Amplifier to Utilize in the Binding (Up to 24 Zones With 3 Amplifiers Connected
Together)</description>
<default>8</default>
</parameter>
<parameter name="pollingInterval" type="integer" min="5" max="60" unit="s" required="false">
<label>Polling Interval</label>
<description>Configures How Often to Poll the Amplifier to Check for Zone Updates (5-60; Default 15)</description>
<default>15</default>
</parameter>
<parameter name="ignoreZones" type="text" required="false">
<label>Ignore Zones</label>
<description>(Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (e.g., 1,6,10)</description>
</parameter>
<parameter name="initialAllVolume" type="integer" min="1" max="30" required="false">
<label>Initial All Volume</label>
<description>When 'All' Zones Are Activated, the Volume Will Reset to This Value (1-30; default 10) to Prevent
Excessive Blaring of Sound ;)</description>
<default>10</default>
</parameter>
<parameter name="inputLabel1" type="text" required="false">
<label>Source 1 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 1</default>
</parameter>
<parameter name="inputLabel2" type="text" required="false">
<label>Source 2 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 2</default>
</parameter>
<parameter name="inputLabel3" type="text" required="false">
<label>Source 3 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 3</default>
</parameter>
<parameter name="inputLabel4" type="text" required="false">
<label>Source 4 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 4</default>
</parameter>
<parameter name="inputLabel5" type="text" required="false">
<label>Source 5 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 5</default>
</parameter>
<parameter name="inputLabel6" type="text" required="false">
<label>Source 6 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 6</default>
</parameter>
<parameter name="disableKeypadPolling" type="boolean" required="false">
<label>Disable Keypad Polling</label>
<description>If physical keypads are not used, this option will disable polling the amplifier for zone updates</description>
<default>false</default>
</parameter>
</config-description>
</thing-type>
</thing:thing-descriptions>
@@ -112,8 +112,8 @@
</parameter>
<parameter name="ignoreZones" type="text" required="false">
<label>Ignore Zones</label>
<description>(Optional) A Comma Seperated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (ie: 1,6,10)</description>
<description>(Optional) A Comma Separated List of Zone Numbers That Will Ignore the 'All Zone' (Except All Off)
Commands (e.g., 1,6,10)</description>
</parameter>
<parameter name="initialAllVolume" type="integer" min="1" max="30" required="false">
<label>Initial All Volume</label>
@@ -123,42 +123,42 @@
</parameter>
<parameter name="inputLabel1" type="text" required="false">
<label>Source 1 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 1</default>
</parameter>
<parameter name="inputLabel2" type="text" required="false">
<label>Source 2 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 2</default>
</parameter>
<parameter name="inputLabel3" type="text" required="false">
<label>Source 3 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 3</default>
</parameter>
<parameter name="inputLabel4" type="text" required="false">
<label>Source 4 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 4</default>
</parameter>
<parameter name="inputLabel5" type="text" required="false">
<label>Source 5 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 5</default>
</parameter>
<parameter name="inputLabel6" type="text" required="false">
<label>Source 6 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 6</default>
</parameter>
<parameter name="inputLabel7" type="text" required="false">
<label>Source 7 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 7</default>
</parameter>
<parameter name="inputLabel8" type="text" required="false">
<label>Source 8 Input Label</label>
<description>Friendly Name for the Input Source to Be Displayed in the UI (ie: Chromecast, Radio, CD, etc.)</description>
<description>Friendly Name for the Input Source to Be Displayed in the UI (e.g., Chromecast, Radio, CD, etc.)</description>
<default>Source 8</default>
</parameter>
<parameter name="disableKeypadPolling" type="boolean" required="false">