* Add Image channel for Album Art Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
539 lines
20 KiB
XML
539 lines
20 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<thing:thing-descriptions bindingId="nuvo"
|
|
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">
|
|
|
|
<!-- Nuvo Whole House Amplifier Thing -->
|
|
<thing-type id="amplifier">
|
|
<label>Nuvo Whole House Amplifier</label>
|
|
<description>
|
|
Grand Concerto or Essentia G Amplifier System
|
|
</description>
|
|
|
|
<channel-groups>
|
|
<channel-group id="system" typeId="system">
|
|
<label>System</label>
|
|
<description>System Level Commands</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="source1" typeId="source_info">
|
|
<label>Source 1</label>
|
|
<description>The Display Information for Source 1</description>
|
|
</channel-group>
|
|
<channel-group id="source2" typeId="source_info">
|
|
<label>Source 2</label>
|
|
<description>The Display Information for Source 2</description>
|
|
</channel-group>
|
|
<channel-group id="source3" typeId="source_info">
|
|
<label>Source 3</label>
|
|
<description>The Display Information for Source 3</description>
|
|
</channel-group>
|
|
<channel-group id="source4" typeId="source_info">
|
|
<label>Source 4</label>
|
|
<description>The Display Information for Source 4</description>
|
|
</channel-group>
|
|
<channel-group id="source5" typeId="source_info">
|
|
<label>Source 5</label>
|
|
<description>The Display Information for Source 5</description>
|
|
</channel-group>
|
|
<channel-group id="source6" typeId="source_info">
|
|
<label>Source 6</label>
|
|
<description>The Display Information for Source 6</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 Nuvo 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 machine connected to the Nuvo amplifier (Serial over IP)</description>
|
|
</parameter>
|
|
<parameter name="port" type="integer" min="1" max="65535" required="false">
|
|
<label>Port</label>
|
|
<description>Communication Port (serial over IP). For IP connection to the Nuvo amplifier. Use port 5006 with MPS4
|
|
server.</description>
|
|
<default>5006</default>
|
|
</parameter>
|
|
<parameter name="numZones" type="integer" min="1" max="20" required="true">
|
|
<label>Number of Zones</label>
|
|
<description>Number of Zones on the amplifier to utilize in the binding (Up to 20 zones when using expansion module)</description>
|
|
<default>6</default>
|
|
</parameter>
|
|
<parameter name="favoriteLabels" type="text" required="false">
|
|
<label>Favorite Labels</label>
|
|
<description>A comma separated list of up to 12 label names that are loaded into the 'favorites' channel of each
|
|
zone</description>
|
|
</parameter>
|
|
<parameter name="clockSync" type="boolean" required="false">
|
|
<label>Sync Clock On GConcerto</label>
|
|
<description>If set to true, the binding will sync the internal clock on the Grand Concerto to match the openHAB
|
|
host's system clock. The sync job runs at binding startup and once an hour thereafter. The Essentia G has no RTC,
|
|
so this setting has no effect on that component.</description>
|
|
<default>false</default>
|
|
</parameter>
|
|
<parameter name="nuvoNetSrc1" type="integer" required="true">
|
|
<label>S1 is NuvoNet</label>
|
|
<description>Indicates if Source 1 is configured as a NuvoNet source</description>
|
|
<limitToOptions>true</limitToOptions>
|
|
<options>
|
|
<option value="0">No</option>
|
|
<option value="1">MPS4 NuvoNet Source</option>
|
|
<option value="2">openHAB NuvoNet Source</option>
|
|
</options>
|
|
<default>0</default>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="nuvoNetSrc2" type="integer" required="true">
|
|
<label>S2 is NuvoNet</label>
|
|
<description>Indicates if Source 2 is configured as a NuvoNet source</description>
|
|
<limitToOptions>true</limitToOptions>
|
|
<options>
|
|
<option value="0">No</option>
|
|
<option value="1">MPS4 NuvoNet Source</option>
|
|
<option value="2">openHAB NuvoNet Source</option>
|
|
</options>
|
|
<default>0</default>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="nuvoNetSrc3" type="integer" required="true">
|
|
<label>S3 is NuvoNet</label>
|
|
<description>Indicates if Source 3 is configured as a NuvoNet source</description>
|
|
<limitToOptions>true</limitToOptions>
|
|
<options>
|
|
<option value="0">No</option>
|
|
<option value="1">MPS4 NuvoNet Source</option>
|
|
<option value="2">openHAB NuvoNet Source</option>
|
|
</options>
|
|
<default>0</default>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="nuvoNetSrc4" type="integer" required="true">
|
|
<label>S4 is NuvoNet</label>
|
|
<description>Indicates if Source 4 is configured as a NuvoNet source</description>
|
|
<limitToOptions>true</limitToOptions>
|
|
<options>
|
|
<option value="0">No</option>
|
|
<option value="1">MPS4 NuvoNet Source</option>
|
|
<option value="2">openHAB NuvoNet Source</option>
|
|
</options>
|
|
<default>0</default>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="nuvoNetSrc5" type="integer" required="true">
|
|
<label>S5 is NuvoNet</label>
|
|
<description>Indicates if Source 5 is configured as a NuvoNet source</description>
|
|
<limitToOptions>true</limitToOptions>
|
|
<options>
|
|
<option value="0">No</option>
|
|
<option value="1">MPS4 NuvoNet Source</option>
|
|
<option value="2">openHAB NuvoNet Source</option>
|
|
</options>
|
|
<default>0</default>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="nuvoNetSrc6" type="integer" required="true">
|
|
<label>S6 is NuvoNet</label>
|
|
<description>Indicates if Source 6 is configured as a NuvoNet source</description>
|
|
<limitToOptions>true</limitToOptions>
|
|
<options>
|
|
<option value="0">No</option>
|
|
<option value="1">MPS4 NuvoNet Source</option>
|
|
<option value="2">openHAB NuvoNet Source</option>
|
|
</options>
|
|
<default>0</default>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favoritesSrc1" type="text" required="false">
|
|
<label>S1 Favorites</label>
|
|
<description>A comma separated list of favorite names to load into Source 1</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favoritesSrc2" type="text" required="false">
|
|
<label>S2 Favorites</label>
|
|
<description>A comma separated list of favorite names to load into Source 2</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favoritesSrc3" type="text" required="false">
|
|
<label>S3 Favorites</label>
|
|
<description>A comma separated list of favorite names to load into Source 3</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favoritesSrc4" type="text" required="false">
|
|
<label>S4 Favorites</label>
|
|
<description>A comma separated list of favorite names to load into Source 4</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favoritesSrc5" type="text" required="false">
|
|
<label>S5 Favorites</label>
|
|
<description>A comma separated list of favorite names to load into Source 5</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favoritesSrc6" type="text" required="false">
|
|
<label>S6 Favorites</label>
|
|
<description>A comma separated list of favorite names to load into Source 6</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favPrefix1" type="text" required="false">
|
|
<label>S1 Favorite Prefix</label>
|
|
<description>To quickly locate Source 1's favorites, this prefix will be added to the favorite
|
|
names</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favPrefix2" type="text" required="false">
|
|
<label>S2 Favorite Prefix</label>
|
|
<description>To quickly locate Source 2's favorites, this prefix will be added to the favorite
|
|
names</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favPrefix3" type="text" required="false">
|
|
<label>S3 Favorite Prefix</label>
|
|
<description>To quickly locate Source 3's favorites, this prefix will be added to the favorite
|
|
names</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favPrefix4" type="text" required="false">
|
|
<label>S4 Favorite Prefix</label>
|
|
<description>To quickly locate Source 4's favorites, this prefix will be added to the favorite
|
|
names</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favPrefix5" type="text" required="false">
|
|
<label>S5 Favorite Prefix</label>
|
|
<description>To quickly locate Source 5's favorites, this prefix will be added to the favorite
|
|
names</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="favPrefix6" type="text" required="false">
|
|
<label>S6 Favorite Prefix</label>
|
|
<description>To quickly locate Source 6's favorites, this prefix will be added to the favorite
|
|
names</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="menuXmlSrc1" type="text" required="false">
|
|
<context>script</context>
|
|
<label>S1 Menu XML</label>
|
|
<description>An XML string representing the menu items to load into the keypad for Source 1, see README</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="menuXmlSrc2" type="text" required="false">
|
|
<context>script</context>
|
|
<label>S2 Menu XML</label>
|
|
<description>An XML string representing the menu items to load into the keypad for Source 2, see README</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="menuXmlSrc3" type="text" required="false">
|
|
<context>script</context>
|
|
<label>S3 Menu XML</label>
|
|
<description>An XML string representing the menu items to load into the keypad for Source 3, see README</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="menuXmlSrc4" type="text" required="false">
|
|
<context>script</context>
|
|
<label>S4 Menu XML</label>
|
|
<description>An XML string representing the menu items to load into the keypad for Source 4, see README</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="menuXmlSrc5" type="text" required="false">
|
|
<context>script</context>
|
|
<label>S5 Menu XML</label>
|
|
<description>An XML string representing the menu items to load into the keypad for Source 5, see README</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
<parameter name="menuXmlSrc6" type="text" required="false">
|
|
<context>script</context>
|
|
<label>S6 Menu XML</label>
|
|
<description>An XML string representing the menu items to load into the keypad for Source 6, see README</description>
|
|
<advanced>true</advanced>
|
|
</parameter>
|
|
</config-description>
|
|
</thing-type>
|
|
|
|
<channel-group-type id="system">
|
|
<label>System</label>
|
|
<description>System Level Commands</description>
|
|
<channels>
|
|
<channel id="alloff" typeId="alloff"/>
|
|
<channel id="allmute" typeId="system.mute"/>
|
|
<channel id="page" typeId="page"/>
|
|
<channel id="sendcmd" typeId="sendcmd"/>
|
|
</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="favorite" typeId="favorite"/>
|
|
<channel id="volume" typeId="system.volume"/>
|
|
<channel id="mute" typeId="system.mute"/>
|
|
<channel id="control" typeId="control"/>
|
|
<channel id="treble" typeId="treble"/>
|
|
<channel id="bass" typeId="bass"/>
|
|
<channel id="balance" typeId="balance"/>
|
|
<channel id="loudness" typeId="loudness"/>
|
|
<channel id="dnd" typeId="dnd"/>
|
|
<channel id="lock" typeId="lock"/>
|
|
<channel id="party" typeId="party"/>
|
|
</channels>
|
|
</channel-group-type>
|
|
|
|
<channel-group-type id="source_info">
|
|
<label>Source Info</label>
|
|
<description>The Display Information for the Source</description>
|
|
<channels>
|
|
<channel id="display_line1" typeId="display_line1"/>
|
|
<channel id="display_line2" typeId="display_line2"/>
|
|
<channel id="display_line3" typeId="display_line3"/>
|
|
<channel id="display_line4" typeId="display_line4"/>
|
|
<channel id="play_mode" typeId="play_mode"/>
|
|
<channel id="track_length" typeId="track_length"/>
|
|
<channel id="track_position" typeId="track_position"/>
|
|
<channel id="button_press" typeId="button_press"/>
|
|
<channel id="art_url" typeId="art_url"/>
|
|
<channel id="album_art" typeId="album_art"/>
|
|
</channels>
|
|
</channel-group-type>
|
|
|
|
<channel-type id="alloff">
|
|
<item-type>Switch</item-type>
|
|
<label>All Off</label>
|
|
<description>Turn All Zones Off</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="page">
|
|
<item-type>Switch</item-type>
|
|
<label>Page</label>
|
|
<description>Activates the Page Mode for All Zones</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="sendcmd">
|
|
<item-type>String</item-type>
|
|
<label>Send Command</label>
|
|
<description>Send a command to the amplifier</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="source">
|
|
<item-type>Number</item-type>
|
|
<label>Source Input</label>
|
|
<description>Select the Source Input for the Zone</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="favorite">
|
|
<item-type>Number</item-type>
|
|
<label>Favorite</label>
|
|
<description>Select a Preset Favorite for the Zone</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="control">
|
|
<item-type>Player</item-type>
|
|
<label>Control</label>
|
|
<description>Transport Controls e.g. Play/Pause/Next/Previous for the Current Source</description>
|
|
<category>Player</category>
|
|
</channel-type>
|
|
|
|
<channel-type id="treble">
|
|
<item-type>Number</item-type>
|
|
<label>Treble Adjustment</label>
|
|
<description>Adjust the Treble Setting for the Zone</description>
|
|
<state min="-18" max="18" step="2" pattern="%d"/>
|
|
</channel-type>
|
|
|
|
<channel-type id="bass">
|
|
<item-type>Number</item-type>
|
|
<label>Bass Adjustment</label>
|
|
<description>Adjust the Bass Setting for the Zone</description>
|
|
<state min="-18" max="18" step="2" pattern="%d"/>
|
|
</channel-type>
|
|
|
|
<channel-type id="balance">
|
|
<item-type>Number</item-type>
|
|
<label>Balance Adjustment</label>
|
|
<description>Adjust the Balance Setting for the Zone</description>
|
|
<state min="-18" max="18" step="2" pattern="%d"/>
|
|
</channel-type>
|
|
|
|
<channel-type id="loudness">
|
|
<item-type>Switch</item-type>
|
|
<label>Loudness Compensation</label>
|
|
<description>A Switch That Controls the Loudness Compensation Setting for the Zone</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="dnd">
|
|
<item-type>Switch</item-type>
|
|
<label>Do Not Disturb</label>
|
|
<description>A Switch That Controls If the Zone Should Ignore an Incoming Audio Page</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="lock">
|
|
<item-type>Contact</item-type>
|
|
<label>Locked</label>
|
|
<description>Indicates If This Zone Is Locked</description>
|
|
<state readOnly="true">
|
|
<options>
|
|
<option value="CLOSED">Unlocked</option>
|
|
<option value="OPEN">Locked</option>
|
|
</options>
|
|
</state>
|
|
</channel-type>
|
|
|
|
<channel-type id="party">
|
|
<item-type>Switch</item-type>
|
|
<label>Party Mode</label>
|
|
<description>Activate Party Mode With This Zone as the Host</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="display_line1">
|
|
<item-type>String</item-type>
|
|
<label>Display Line 1</label>
|
|
<description>1st Line of Text Being Displayed on the Keypad</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="display_line2">
|
|
<item-type>String</item-type>
|
|
<label>Display Line 2</label>
|
|
<description>2nd Line of Text Being Displayed on the Keypad</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="display_line3">
|
|
<item-type>String</item-type>
|
|
<label>Display Line 3</label>
|
|
<description>3rd Line of Text Being Displayed on the Keypad</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="display_line4">
|
|
<item-type>String</item-type>
|
|
<label>Display Line 4</label>
|
|
<description>4th Line of Text Being Displayed on the Keypad</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="play_mode">
|
|
<item-type>String</item-type>
|
|
<label>Play Mode</label>
|
|
<description>The Current Playback Mode of the Source</description>
|
|
<state readOnly="true"/>
|
|
</channel-type>
|
|
|
|
<channel-type id="track_length">
|
|
<item-type>Number:Time</item-type>
|
|
<label>Track Length</label>
|
|
<description>The Total Running Time of the Current Playing Track</description>
|
|
<state readOnly="true"/>
|
|
</channel-type>
|
|
|
|
<channel-type id="track_position">
|
|
<item-type>Number:Time</item-type>
|
|
<label>Track Position</label>
|
|
<description>The Running Time Elapsed of the Current Playing Track</description>
|
|
<state readOnly="true"/>
|
|
</channel-type>
|
|
|
|
<channel-type id="button_press">
|
|
<item-type>String</item-type>
|
|
<label>Button Pressed</label>
|
|
<description>Indicates the Last Button Pressed On the Keypad for a Non NuvoNet Source</description>
|
|
<state readOnly="true"/>
|
|
</channel-type>
|
|
|
|
<channel-type id="art_url">
|
|
<item-type>String</item-type>
|
|
<label>Album Art URL</label>
|
|
<description>The URL of the Album Art JPG for this source that is displayed on a CTP-36</description>
|
|
</channel-type>
|
|
|
|
<channel-type id="album_art">
|
|
<item-type>Image</item-type>
|
|
<label>Album Art</label>
|
|
<description>The Album Art loaded from the art_url channel for display in a UI widget</description>
|
|
<state readOnly="true"/>
|
|
</channel-type>
|
|
|
|
</thing:thing-descriptions>
|